comprehensive DEVOPS study to date https://www.flickr.com/photos/80497449@N04/10012162166 The first scientific study of the relationship between Organisational performance, IT performance, DEVOPS practices.
the buck. DEVOPS means [caring] about your job enough to want to learn all the parts and not just your little world. ! Developers need to understand infrastructure. Operations people need to understand code. People need to work with each other and not just occupy space next to each other.” –- John E. Vincent ! https://twitter.com/lusis
code? • How are we going to monitor the application in a production environment? • Is this code going to work in a multi node environment? e.g. sessions, caching etc • Software is a thing that exists after it has been written
Development teams strive for change Operations teams strive for stability misalignment leads to conflict Measured on things like features Measured on things like uptime
functional silos or doing away with functional silos altogether and creating cross functional teams. better • DEVOPS movement addresses the dysfunction that results from organisations composed of functional silos. Breaking Down the Silos • DEVOPS proposes shared responsibilities and incentives across teams.
that even though agile actively seeks collaboration from all its stakeholders, most agile projects did not extend themselves toward the operations people.” ! ! - Patrick Debois.
https://www.vagrantup.com Development environments made easy. Create and configure lightweight, reproducible, and portable development environments. Build, Ship and Run Any App, Anywhere ! Docker - An open platform for distributed applications for developers and sysadmins. OR
• These tools enable more transparency at the infrastructure level. • Also get developers and operations people collaborating early in the software delivery process Amazon Rackspace Digital Ocean Cloud providers Practices • Make sure devs and ops build code and environments at the same time.
multiple platforms from a single source configuration. Packer https://www.packer.io • Create a common dev,qa, production environment creation process. Practices
go from code committed to getting that code running in production? • Asked in another way if you had a critical bug fix and it was one line of code how long does it take you to get that to production.
that we allow them to have an idea, get the idea into the hands of our users, figure out if the idea works, and react to the understanding that we can gain from this experiment.” Cycle Time https://leanpub.com/buildqualityin
8000 times faster than their peers, deploying multiple times a day, versus an average of once a month.” Key Finding - DEVOPS 2013 Report “Have 50% fewer failures and restore service 12 times faster than their peers.” https://puppetlabs.com/wp-content/uploads/2013/03/2013-state-of-devops-report.pdf
is measured in weeks or months. release • Problems with deployment. • Various bottle necks. Key goals of DEVOPS is to increase flow, reduce cycle time, shorten the feedback loop.
and improve the process of software delivery. Techniques such as automated testing, continuous integration and continuous deployment Allow software to be developed to a high standard and easily packaged and deployed to environments, resulting in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead. http://en.wikipedia.org/wiki/Continuous_delivery
easier to identify problems • Risk of deployment is reduced • The process of fixing problems becomes optimised Devops for developers - Michael Heuttermann
Eran messeri google. • Automated acceptance testing of functional and non functional requirements. • RSpec tests for your servers configured by Puppet, Chef or anything else. https://github.com/serverspec/serverspec
any version of their software to any environment at will through a fully automated process. Key objectives of Deployment pipeline - Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation by Jez Humble and David Farley
• Select environment where we want our software to go. • Push a button to release the software to that environment. Tools Capistrano Rocketeer Deployer - Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation by Jez Humble and David Farley
production - Measurement and monitoring Collectd Graphite Grafana Cacti Monitoring and Altering Nagios Sensu Ganglia Sentry Graylog Application Metrics Splunk
should be in version control for your application • Code and scripts for testing the application. • Code and scripts for deploying the application. • Code and scripts for building environments for the application.
• Organisational culture • Increasing Collaboration between Developers and Operations • Cycle Time and Continuous Delivery • Measurement and monitoring • Sharing