Automated Deployment with Django, Docker, and Salt
Small dev teams are usually tasked with not just building an application, but deploying it and maintaining the infrastructure that powers their product. These teams are constantly balancing feature development with devops.
This talk will take a look at building an automated deployment system with Open Source components to maximize team resources on their competitive advantage. We'll cover Django for the console app and API, Docker for application distribution, and Salt for configuration management and orchestration.
At its core, the system maintains information about the servers in a deployment, the applications running, allocated resources, and orchestrates the deployment of new versions as they are pushed into Github.
Automated deployment kicks in when new code lands. Docker is used to package up the application into a self-contained, deployable image. This image can then be distributed and run on as many servers as needed with the guarantee that it's an exact carbon copy of execution environment across your entire infrastructure.
Finally, Salt is the communication backbone that deploys new images to your servers. We'll go over dynamically getting configuration data from an upstream API and using Salt to perform discrete operations.