lessons learned from continuous delivery
TRANSCRIPT
![Page 1: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/1.jpg)
Lessons Learned From Continuous DeliveryOut of the Frying Pan, Into the FireMandi WallsLeeds DevOpsJanuary 31, 2017
![Page 3: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/3.jpg)
Who Is Chef?
![Page 4: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/4.jpg)
Why Continuous Delivery?
• Used as a proxy for success with DevOps transformations• Blame John Allspaw and Paul Hammond
• “10+ Deploys A Day at Flickr”
![Page 5: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/5.jpg)
The rewards?*
*source: Dr. Nicole Forsgren research on DevOps
More deployments
Ship faster
Faster MTTR after issues More profits, market share, and productivity
Market cap goes up
![Page 6: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/6.jpg)
Technical LessonsThe Fun Stuff
![Page 7: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/7.jpg)
Lesson: Automation
• Automated, full-stack application policies• Package and service installation• Versionable, testable, repeatable workflow• Scalable application policies• Management of interdependencies across nodes
![Page 8: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/8.jpg)
Lesson: Dynamic Infrastructure
• Provisioning and setting up environments • Dynamic scaling of compute resources• Migrating legacy workloads to the cloud• Multi cloud and hybrid cloud deployment• Support for heterogeneous environments
![Page 9: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/9.jpg)
Do you HAVE to go to the Cloud?
• Well….• You need cloud-approximate features• APIs• Resources-on-Demand
![Page 10: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/10.jpg)
Infrastructure as Code
• Programmatically provision and configure components
• Treat like any other code base• Reconstruct business from code repository,
data backup, and compute resources• Partner with dynamic infrastructure• “Cattle not pets” or “Crops not house plants”
![Page 11: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/11.jpg)
How Chef Got Into DevOps
• System automation is often a first step for transitioning to DevOps work practices• With or without previous experience in Agile• Agile left Operations concerns in the dark• Config management presents practical value
• Displays easy wins, demonstrable and measurable outcomes• MTTR
![Page 12: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/12.jpg)
The game changer: rapid time to value
Innovation
Quality/Compliance
DynamicInfrastructure
Infrastructure as Code
Automate the Stack
DevOps
+ +
![Page 13: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/13.jpg)
Trust The Automation
![Page 14: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/14.jpg)
Lesson: Revision Control
• Findings from State of DevOps report• Everyone must use version control
• Dev• Ops• You• Me• The dog your hipster office mate brings to work
![Page 15: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/15.jpg)
Lesson: Automated Testing
• Difficult tasks – automating the testing of applications developed internally and COTS or contract work
• Different tools for different languages and platforms• Delivers a lot of value, but costs a lot to get going• Unfortunately met a lot of orgs that struggle with this or choose to postpone
![Page 16: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/16.jpg)
Testing Infra Code Toodescribe 'apache::default' do context 'When all attributes are default, on an unspecified platform' do
let(:chef_run) do runner = ChefSpec::ServerRunner.new runner.converge(described_recipe) end
it 'converges successfully' do expect { chef_run }.to_not raise_error end
it 'installs apache' do expect(chef_run).to install_package 'apache2' end endend
![Page 17: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/17.jpg)
Culture LessonsThe Messy Stuff
![Page 18: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/18.jpg)
Lesson: Collaboration
• Ideological shift for Operations folks used to working alone• Also difficult for specialized techs in silos – Storage Ops, NetOps, Security• Talking to people vs just putting in tickets and waiting
• The stereotypical “throw it over the wall”
![Page 19: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/19.jpg)
Lesson: CAMS to CALMS
• CAMS: Culture, Automation, Metrics, Sharing (c. 2010)• CALMS: Culture, Automation, Lean, Metrics, Sharing• Using Lean to break through the logjam of enterprise processes
![Page 20: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/20.jpg)
Lean
• Eliminate non-value-added action – Don’t do things that don’t add value just because you’ve always done them
• Pull over Push – Spend time on the things customers want to use. Don’t spend time thinking about ways to force them to use things they don’t want
• Kaizen – Continuously improve people, processes, tools• Kaikaku – Be willing to change the whole thing if it isn’t working• Small Batch + Experimentation – Often learned from Agile
![Page 21: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/21.jpg)
Business StuffThe “Culture + Tools = ££££” Stuff
![Page 22: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/22.jpg)
Failure
• Accepting failure as part of experimentation• Practice recognizing how much risk is involved in each experiment
• The cost of an individual failure
![Page 23: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/23.jpg)
Blameless Culture
• Recognizing that complex systems have complex problems• The system may be too complex for one human to fully understand• Research in other systems fields
• Aerospace and aviation, nuclear power generation, etc• “Human error” is often cited but not often the actual problem
• The humans didn’t know your system didn’t have redundant error handling• The humans didn’t know there wasn’t alerting on a subsystem they weren’t told about
![Page 24: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/24.jpg)
Lesson: Business Value
• Fits in with Lean• Work on the things that will add value to users, even if they aren’t the most fun
• “Eating your vegetables”• Minimize NIH in favor of reuse
![Page 25: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/25.jpg)
Managing Risk
• Small batches to manage the near-term costs• Validate with customers in short timeframes• Introducing near-term volatility to mitigate long-term risk
We spent a year building this thing but no one liked it!
![Page 26: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/26.jpg)
Lesson: Skills x Contractors x Employees
• DevOps is a way of life• Getting to Continuous Delivery takes TIME• Managing the skill matrix of the people working on the project is important• Harder to do when folks are leaving after 6 months to find something more
interesting
![Page 27: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/27.jpg)
TrendsWhat’s up with DevOps in 2017+
![Page 28: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/28.jpg)
Containers
• Of course. • Because containers.• And microservices.• And whatever comes next as the smallest compartment of compute
![Page 29: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/29.jpg)
Shifting “To the Left”
• Pushing more and more activities, discussion, acknowledgement of complexity to earlier stages of the process
• Security, compliance, testing, performance
http://www.rebalanceclinic.co.nz/wp-content/uploads/2013/05/keep-left.png
![Page 30: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/30.jpg)
Tools For All Teams
• Complement collaboration, communication, transparency• Integrate dynamic infrastructure, testing, reporting
![Page 31: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/31.jpg)
We Are Chef
• https://chef.io• Find us! https://events.chef.io/• learn.chef.io
![Page 32: Lessons Learned from Continuous Delivery](https://reader035.vdocuments.site/reader035/viewer/2022070509/589a96691a28abae648b62d5/html5/thumbnails/32.jpg)