The Promise of DevOpsGetting Software Done, Tested and Deployed Faster
Origin of DevOps
A Meeting of the Minds between
Agile Software Development
Enterprise Systems Management
Copyright © 2015CONTINOVE
Sweet Spot of DevOps
Copyright © 2015CONTINOVE
Pillars of DevOps
Communication
Collaboration
Integration
Copyright © 2015CONTINOVE
Goals of DevOps
Increase deployment frequency
Faster time to market
Shorten lead time between fixes
Faster mean time to recovery
Copyright © 2015CONTINOVE
Metrics of DevOps Number and frequency of software releases
Volume of defects
Time/cost per release
MTTR (Mean Time to Repair, Resolve or Resolution)
Number and frequency of outages / performance issues
Revenue/profit impact of outages / performance issues
Number and cost of resources
(Beal, 2014)
Copyright © 2015CONTINOVE
Typical Pain Points
Does communication affect collaboration?
Does QA have to wait for the provisioning of test environments?
Does committed code get bogged down in testing?
Do you have to revise committed code too often because it won’t run in the production environment?
Are your existing tools clumsy and not useful?
Copyright © 2015CONTINOVE
Approach of DevOps
Program operational processes through automation
Maximize
Predictability
Efficiency
Security
Maintainability
Copyright © 2015CONTINOVE
Target of DevOps
Provide faster development and deployment cycles
Feature development
Quality testing
Product delivery
Maintenance releases
Overall increase of reliability and security
Copyright © 2015CONTINOVE
Results of DevOps
Continuous Deployment/Continuous Delivery
Transparency of End-to-End Process
Event-Driven Workflow
Automated Communication to Stakeholders
Flexible Management of Automation
Copyright © 2015CONTINOVE
Tool Categories of DevOps
Configuration Management
Application Deployment
Monitoring
Version Control
Test and Build Systems
Copyright © 2015CONTINOVE
Configuration Management Tools Ansible
CFEngine
Chef
Puppet*
RANCID
SaltStack
Ubuntu Juju
Copyright © 2015CONTINOVE
Configuration Management Tools
Copyright © 2015CONTINOVE
Application Deployment Tools
Capistrano
Ansible
Fabric
Jenkins
( R )?ex
TeamCity
Copyright © 2015CONTINOVE
Application Deployment Tools
Copyright © 2015CONTINOVE
Monitoring Tools
Application performance monitoring
Server monitoring
Copyright © 2015CONTINOVE
Version Control Tools
Git
Subversion
Perforce
CVS source
Mercurial
TFS
Copyright © 2015CONTINOVE
Version Control Tools
Copyright © 2015CONTINOVE
Test and Build System Tools
Ant
Gradle
Jenkins
Maven
Travis
BuildHive
Copyright © 2015CONTINOVE
Test and Build System Tools
Copyright © 2015CONTINOVE
Choices of DevOps Tools
Choose tools that are easily integrated rather than silos of information and process.
Focus on Automation from End-to-End, empowering QA and Product Owners to Publish to (and Revert from) Production environments upon test acceptance (failure).
Open Source tools are mature, and APIs are prevalent.
Copyright © 2015CONTINOVE
Conclusion
Leverage DevOps technologies in 2015 to achieve Automation from Development to Production.
Copyright © 2015CONTINOVE
Resources
Beal, H. (2014, March 18). Measuring Your DevOps Success. Retrieved December 12, 2014, from APPDYNAMICS: http://www.appdynamics.com/blog/devops/quantified-devops/
Wilinski, E. (2014, June 02). DevOps Best Practices: Finding the Right Tools. Retrieved December 13, 2014, from New Relic: http://blog.newrelic.com/2014/06/02/devops-tools/
Indeed.com
http://en.wikipedia.org/wiki/DevOps
Copyright © 2015CONTINOVE