The CULTure of DevOps. by Andrew Cope

Size: px
Start display at page:

Download "The CULTure of DevOps. by Andrew Cope"

Transcription

1 The CULTure of DevOps by Andrew Cope

2 Andrew Cope #techgap2017 DevOps Lead [image placeholder] With detailed knowledge of the entire infrastructure for multiple large-scale web applications, Andrew Cope, DevOps Lead, has many years of experience with a wide variety of digital technologies.

3 I. The DevOps Profile Summary II. Theory and Principles III. Results

4 #techgap2017 The DevOps Profile

5 #techgap2017 DevOps is the combination of cultural philosophies, practices, and tools that increases an organization s ability to deliver applications and services at high velocity. - AMAZON

6 The DevOps Profile This special animal is most likely to have worked in both development and operations roles during their career Part Developer 3 1 Part Operations 100% DevOps Automation Configuration Systems Thinking Refactoring Networking Measurement Testing Hardware Sharing Responsibility Feature Creation Monitoring Incremental Improvements Separating Concerns Reliability DevOps Advocate

7 DevOps The Application is King! Developers focus on the research, design, programming and testing of the computer software. Once correct code is completed, the software is typically passed off to QA and Ops teams for deployment.

8 DevOps Don t break my Servers! Upon receipt of the build, the Operations team typically deploys the software, manages and monitors its performance, and ensures its stable operation in the production environment.

9 DevOps Deliver More Value DevOps promotes sharing some of the operations responsibilities with developers, enabling them to have more input in the design of the entire system. It also encourages the operations team to utilize development best practices while managing the infrastructure.

10 #techgap2017 DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably. The concept of DevOps is founded on building a culture of collaboration between teams that historically functioned in relative silos. - ATLASSIAN

11 DevOps dev ops verb 1. : the act of advocating the automation and monitoring all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. 2. grammar: a clipped compound of development and operations

12 DevOps is: DevOps is NOT: Systems Thinking A Person Automation A Department Measurement A Product Sharing A Company DevOps is not just a trend. It is first and foremost a culture. The tools associated with it are secondary.

13 #techgap2017 Principles of DevOps Interactions, Measurement & Application

14 #techgap2017 Systems Thinking

15 Theory The system[image starts with the business, placeholder] then the teams. Following that are the projects.

16 Theory More Theory The system[image starts with the business, Determine theplaceholder] objectives of the then theand teams. Following that are the system make it understood projects. to all parties involved. Communication = Collaboration

17 Theory More Theory Goal The Ultimate The system[image starts with the business, Determine theplaceholder] objectives of the In the simplest terms, accelerating the then theand teams. Following that are system make it understood tothe all flow of work through this system is the projects. parties involved. ultimate goal.

18 PRINCIPLES OF DEVOPS Definition of Done As in agile, we must determine what constitutes a finished job and how we can account for its completion. 1 Was the merge request accepted? 2 Did it pass QA? 3 Did it deploy to production? 4 Did it provide value?

19 PRINCIPLES OF DEVOPS Shared Responsibility Eliminate silos between dev and ops by introducing ops earlier in the process, and keeping devs involved post production. All teams must buy in from the beginning and commit to the entire delivery cycle. Who is responsible for QA here? Did it get automated? Isn t the client signing off? I kicked that over to Ops, didn t it deploy? All the tests passed and it deployed, what do you mean it s not working?

20 PRINCIPLES OF DEVOPS Trust but Verify. Be accountable for your team's actions. Check your buddy, but then have them check you. 1 Ensure a proper handoff is happening. 2 Verify the recipient accepted the task and handed it off accordingly. 3 Check for unusual circumstances this time. 4 Is the job done? If not, repeat.

21 #techgap2017 Amplify Feedback Loops

22 Section Title How to Amplify? [image placeholder] Fail Early, Fail Often Increase System Telemetry Shared Responsibility

23 AMPLIFY FEEDBACK LOOPS Agile Practices Continuous Delivery Agile exists to provide rapid feedback on the current status of a project during development lifecycle A method of rapid delivery of change to a product Continuous Integration Minimum Viable Product Exists to provide rapid feedback on the buildability of a project Smallest subset of change that provides rapid value to a system

24 #techgap2017 Continual Experimentation & Learning

25 CONTINUAL EXPERIMENTATION & LEARNING Infrastructure as Code Clean Rollbacks Version-controlled infrastructure code can be tested and managed like an application Systems should recover gracefully from a failed deployment Self-Documenting Disposable Servers Not a replacement for formal documentation, but a practice to write clear and maintainable code Idempotent infrastructure is never updated, but only replaced during deployments

26 CONTINUAL EXPERIMENTATION & LEARNING Make big changes, take big risks Use modern tooling for rapidly prototyping and testing Docker and container technologies Virtualization Vagrant Cloud servers Infrastructure as a service

27 Continual Experimentation & Learning Keep your infrastructure hands-off and automatic. Provide self-service to developers for managing the environments. 2 1 Provisioning 3 Orchestration Measurement Ansible Kubernetes ELK Stacks Chef Mesos Prometheus Puppet Docker-Swarm NewRelic Terraform Deis Pagerduty

28 CONTINUAL EXPERIMENTATION & LEARNING Mean Time to Recovery Cycle Time How quickly can you restore services after a failure? Determines the time between initial code checkin and production deployment. Availability & Performance Failure Rate Uptime and response time metrics determine how you are performing in production Measurement of failed deployments and rollbacks to successful deployments.

29 BLAMELESS POSTMORTEMS 1 Build a timeline 5 What does it affect? 2 Determine root causes 6 How to detect sooner? 3 Discuss solutions 7 Where is it tracked? 4 Review 8 Optimize for Recovery

30 #techgap2017 Results

31 TECHNICAL AND BUSINESS VALUE 1 Value Recognized Quickly 2 Expenses Reduced 3 Faster Growth & Delivery 4 Engaged & Productive Employees 5 Satisfied Clients 6 More Time to Devote to Innovation

32 #techgap2017 Questions?

33 CONTACT ANDREW COPE HEADQUARTERS DevOps Lead The Shriver House o: Washington Street Cumberland, MD