Python-Django automated deployment to Amazon web interface

IN PROGRESS
Bids
2
Avg Bid (USD)
$250
Project Budget (USD)
$30 - $250

Project Description:
We are a team developing applications using Python / Django and have 2 very talented frontend designers, a backend designer, and a part-time sys admin.

We are trying to extend this open source project: [url removed, login to view]

We want a long-term Heroku style deployment management interface for our company. Our plan is as follows, please recommend alternatives if something is better practice than what we outline. We want long-term Django app deployment management with GitHub repos and separate Amazon EC2 instances executed by a web interface. We want to map all settings needed for new deployments into the web interface to deploy a new app.

Skills looking for:

1. Python / Django
2. Linux / systems administration
3. Django deployment management best practices
4. GitHub, Amazon EC2, API experience with a DNS provider, or familiarity with our planned server stack preferred
5. Attitude that helps our team learn from your code and well documented code preferred
6. Deployment automation / management project experience a plus
7. Able to start working on the project immediately

Configuration files included in GitHub repo deployed by app:

-nginx
-nginx-ssl
-gunicorn
-supervisor
-nginx-mimetypes
-supervisor autostart

Planned production setup:
1.1 GitHub repo = 1 app codebase = 1 Amazon EC2 instance = 1 MySql resource
2. Server config files and development, staging, production settings versioned in GitHub repo
Master server hosts our wiki and this deployment management application
3. App Functionality
4. We are planning on hosting the Django deployment app on our "master" server that also runs our MediaWiki that has our documentation.
[url removed, login to view] interface will be hosted at [url removed, login to view] behind auth.

Dashboard features:

1. Create a new EC2 instance, set it up, and deploy initial version of app
2. Map all required settings into the deployment app via web interface
-GitHub deploy key, amazon credentials, project name etc.
3. Deploy with SSL cert or without (can we integrate with cert provider at DNS with API to buy cert and apply it as it is setting up the new instance?)
4. Anything we might want to be unique between different instances
5. Dropdown menu to select from deployed instances
6. Automatically push "Production" branch to production and create a new version number associated with commit for rollbacks
7. Uses production settings file
8. Same functionality for "Staging" and "Development" branches deployed with their matching settings file
9. Push updates to that instance from GitHub
10. Rollback to previous versions
11. Put up a "Site is down for maintenance" page
12. Track versions and apply a version numbering convention for each instance / codebase automatically
13. Create a new private repo shared with our team on GitHub, copy contents of our global start template repo into that new project repo
14. We don't want to version SSL certs on GitHub, some solution to deliver the certs from the deployment app as the initial instance for a new app gets set up

Tools planned to use:

1. Boto - Amazon EC2 API
2. GitHub - We host all our code on GitHub
3. Fabric - Set up new EC2 instances remotely
4. DNS with API - We currently use GoDaddy but plan to migrate to new provider with an API to integrate automated DNS setup into deployment app
5. SSL certificates (Can we purchase and deliver via DNS API?)
6. Fabulous as starting point - [url removed, login to view]
7. Django site wrapper, frontend guys can deploy from the interface
8. Loggly - We plan to export all our server log feeds to SaaS tool Loggly

Planned server stack:
1. Git
2. Memcached
3. Nginx
4. Libmysqlclient-dev
5. Mysql-client
6. Python-setuptools
7. Python-dev
8. Build-essential
9. Python-pip
10. Python-mysqldb
11. Virtualenv
12. Virtualenvwrapper
13. Supervisord
14. South database migrations
15. Django
16. Gunicorn

More details to be provided.

Skills required:
Django, Python
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 250
in 5 days
Hire Faakhirr
$ 250
in 15 days