BluePrint: Deployment Tools
Table of Contents
Introduction
The project aims to develop an Eden application that allows deployment of Sahana to production servers. These may be Amazon EC2 instances or generic Linux Servers. The application would provide flexibility during deployment. For instance, the deployer may be given an option to select the Web Server, Database, Mail Server and Co-Apps of their choice. Further support for Amazon EC2 can be incorporated which would allow the creation of new instances and Eden deployment on the newly created instances. The application can further evolve to cover WebSetup for deployed instances.
Stakeholders
- Users who prefer a graphical interface over the command line, particularly those who have less experience with Linux.
- System Administrators, Site Operators
User Stories
A deployer with minimal experience with linux and command line wants the application to deploy Sahana Eden (from trunk or personal github repo) so that they may use it in production
Requirements
The application is expected to:
- Be flexible with deployment options – the end user should have the choice to select the web server, database and mail server of their choice. Further, a set of advanced options may be added which allow users to specify the github branch to clone repo from, specify the template after deployment, etc.
- Integrate well with Amazon EC2. The application shall allow the user to create new free/paid amazon instances using the amazon cli tools in the backend while allowing them to deploy on already existing instances as well.
Technologies
The application can use Fabric (http://fabric.org) in the backend to do the work behind the scenes.
Current Implementation
The WebSetup part was developed as a seperate web2py app and is available at https://github.com/graeme-f/edenstart
Incorporating the WebSetup as an Eden app as a part of this project, though ambitious, would make it easier to maintain and integrate.
Planned Implementation
I (http://github.com/gnarula) plan to implement this as a part of GsoC 2014. An initial prototype is available at https://github.com/gnarula/eden
Outstanding Questions
References
https://groups.google.com/forum/#!msg/sahana-eden/m-kjGNUMQG8/tT5shF0uaAwJ