How often do you deploy new versions of production code? Once per quarter? Once per month? Just as agile software development methodologies bring short iterations and always-working code, Devops methodologies and techniques such as infrastructure automation and continuous deployment can enable a business to release production code as often as several times per day. Frequent releases of incremental functionality mean lower risk at each release, and functionality being delivered to customers more quickly.
The DevOps movement is changing the way tech companies manage their infrastructure. Code is put into production faster and more safely by breaking down the barriers between Developers and IT Operations.
To achieve frequent safe releases one of the key things you need is automated, repeatable infrastructure. Open source tools like Chef and Puppet enable scripted, testable, repeatable server configuration every time, on physical hardware and virtualised or cloud services. Checking your infrastructure configuration into source control brings reproducibility, traceability, repeatability, brings developers and operations closer together
In this talk we will discuss the principles, methods and practices for achieving a state of continuous deployment, including developer testing, CI, integration testing and infrastructure. We will see how automated configuration management tools such as Chef can enable teams to accelerate their deployments and launch new services in minutes. I will highlight specific examples from my own experience of building a robust, automated data collection and analysis service for the insurance industry, using Chef and AWS in a startup.