![Page 1: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/1.jpg)
Mandi Walls | Technical Community Manager | [email protected]@lnxchk
Successful Practices
forContinuous
Delivery
![Page 2: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/2.jpg)
Mandi WallsTechnical Community Manager for EMEA@[email protected]
![Page 3: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/3.jpg)
EVERY business is a software business
We’re going to be a software company with airplanes.
– CIO, Alaska Airlines
![Page 4: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/4.jpg)
It’s Hard!?!?• “DevOps” is now seven years old• There are still plenty of people who reject it• But even simple practices can improve quality of delivery• DevOps Report found in their 2014 survey that Ops using version
control was a significant indicator of success• https://www.perforce.com/blog/140829/devops-version-control-even-more-importan
t-ops-dev
![Page 5: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/5.jpg)
Getting to Continuous Integration or Continuous Delivery takes time, but the steps to get there are now well understood
![Page 6: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/6.jpg)
Quality and innovation, historically a tradeoffQU
ALIT
Y/CO
MPL
IANC
E
RATE OF INNOVATION
![Page 7: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/7.jpg)
The game changer: rapid time to value
Innovation
Quality/Compliance
DynamicInfrastructure
![Page 8: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/8.jpg)
Dynamic infrastructureMigrate applications to the cloud and support hybrid and multi-cloud environments. Automate the management of heterogeneous networks, including legacy systems.
• 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: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/9.jpg)
The game changer: rapid time to value
Innovation
Quality/Compliance
DynamicInfrastructure
Infrastructure as Code
Automate the Stack
+
![Page 10: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/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
Build your solid foundation
![Page 11: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/11.jpg)
AutomationTurn infrastructure into code—infrastructure as code is versionable, testable and repeatable. Manual processes become a thing of the past.
• Automated, full-stack application policies• Package and service installation• Versionable, testable, repeatable workflow• Scalable application policies• Management of interdependencies across nodes
![Page 12: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/12.jpg)
Describe Infrastructure as Codehttpd_service 'customers' do mpm 'prefork' action [:create, :start]end
httpd_config 'customers' do instance 'customers' source 'customers.conf.erb' notifies :restart, 'httpd_service[customers]'end
directory '/var/www/customers/public_html' do recursive trueend
![Page 13: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/13.jpg)
Test the Codedescribe '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 14: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/14.jpg)
Version the Code & the Artifact
name 'cmgw'maintainer 'Chef Software, Inc.'maintainer_email '[email protected]'license 'apache2'description 'Installs/Configures cmgw'long_description 'Installs/Configures cmgw'version '0.1.0'
![Page 15: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/15.jpg)
The game changer: rapid time to value
Innovation
Quality/Compliance
DynamicInfrastructure
Infrastructure as Code
Automate the Stack
DevOps
+ +
![Page 16: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/16.jpg)
DEVOPSA cultural and professional movement, focused on how we build and operate high velocity organizations, born from
the experiences of its practitioners.
![Page 17: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/17.jpg)
PEOPLE
PRODUCTS
COMPANIES
![Page 18: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/18.jpg)
BE LEAN• Eliminate non-value-added action (Waste/Muda)• Pull over Push• Kaizen (Continuous Improvement)• Kaikaku (Disruptive Change)• Small Batch + Experimentation
![Page 19: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/19.jpg)
![Page 20: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/20.jpg)
UBIQUITOUS WORKFLOW AUTOMATION
![Page 21: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/21.jpg)
DevOps workflow & cultureEliminate silos and lower the overhead of IT operations and service management by supporting DevOps culture. Build communities.
• Unified workflow for application and infrastructure
• Integration with version control for dev and ops
• Support for automated testing of infrastructure and applications
• Integration of security and compliance into product development
• Advanced, high-velocity workflow
![Page 22: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/22.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 23: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/23.jpg)
Continuous delivery of infrastructure & appsImplement a high-velocity software delivery pipeline that integrates application and infrastructure. Eliminate the risks incurred with large, infrequent releases.
• Rapid provisioning of dev and test environments
• Ensure consistency and repeatability of environments
• Unified pipeline for infrastructure, runtime environments and applications
• Support for large teams with multiple projects
• Advanced, high-velocity workflow
![Page 24: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/24.jpg)
MANAGE RISK
• Small batches, near term hypothesis• Validation comes from customers• Introduce near-term volatility to gain decreased
long-term risk
![Page 25: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/25.jpg)
CONTINUOUS INTEGRATION
• Always integrate branches to master• They should be short lived, iterative branches• Fix the build when it goes red
![Page 26: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/26.jpg)
THE FOUR-EYE RULE
![Page 27: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/27.jpg)
WRITE TESTS
• Unit test (a single function)• Integration tests (multiple classes/units)• Functional tests (user-oriented, high-level, full
stack)• Smoke tests (quickly determine if the system is
“working”)
![Page 28: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/28.jpg)
ONE PATH FOR CHANGE
• The way change moves through your organization is fixed
• Designed to re-enforce your principles and aid flow
• Flexible at the level of execution
![Page 29: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/29.jpg)
CODE GOES THROUGH THE SAME WORKFLOW
Applications are codeInfrastructure is code
![Page 30: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/30.jpg)
Security and compliance at velocityRegulatory compliance and security concerns are facts of life for every enterprise. At the same time, competitive pressures are increasing. Embed requirements into the software delivery pipeline. Code makes compliance at velocity possible.
• Embed compliance into the software delivery pipeline
• Automated checking of compliance criteria with analytics
• Structured review process during development
• Discovery and analysis• Patch management and remediation
![Page 31: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/31.jpg)
![Page 32: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/32.jpg)
SSH Control
SSH supports two different protocol versions. The original version, SSHv1, was subject to a number of security issues. Please use SSHv2 instead to
avoid these.
![Page 33: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/33.jpg)
Dev QA Stage Security Review Prod
![Page 34: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/34.jpg)
Product Ideas and Features
Security Review
Production
![Page 35: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/35.jpg)
Dev QA Stage Prod
![Page 36: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/36.jpg)
Dev QA Stage Prod
"Scanning"
Afterthought Scanning
Too Late!
![Page 37: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/37.jpg)
What We Have Here Is A Communications Problem
![Page 38: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/38.jpg)
![Page 39: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/39.jpg)
SSH Version Checkdescribe sshd_config do impact 1.0
title 'SSH Version 2'
desc <<-EOF SSH supports two different protocol versions. The original version, SSHv1, was subject to a number of security issues. Please use SSHv2 instead to avoid these. EOF
its('Protocol') { should cmp 2 }end
![Page 40: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/40.jpg)
![Page 41: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/41.jpg)
![Page 42: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/42.jpg)
![Page 43: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/43.jpg)
So what does CI/CD look like?• After all of these pre-requisites, we can do:
Create small changes focused on providing value to our applications Provision development, testing, staging environments that match production using
our infrastructure as code Build our security and compliance requirements into the workflow to eliminate
later surprises Pass ALL CHANGES through the same workflow, the same tests
![Page 44: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/44.jpg)
Unified Pipeline ShapeThe stages are fixed, and each stage has a fixed set of phases
VERIFY BUILD ACCEPTANCE REHEARSAL DELIVEREDUNIONAPPROVE DELIVER
LintSyntax
UnitSecurityQualityPublish
LintSyntax
Unit
ProvisionDeploySmoke
Functional
Provision
DeploySmoke
Functional
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
Submit
Change
Does thiscode changelook good?
Do we wantto ship this?
![Page 45: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/45.jpg)
Shared WorkflowDelivery’s pipeline is shared across projects and teams
![Page 46: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/46.jpg)
![Page 47: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/47.jpg)
![Page 48: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/48.jpg)
![Page 49: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/49.jpg)
Chef Provides a Proven Approach to DevOps
Apps
Runtime environments
Infrastructure
...
...
...
Targets/Workloads
Collaborative Dev Production
Chef Server
Chef Server
Chef Supermarket
Assessment
Chef Compliance
SearchAuditDiscover
ProvisionDeploy
Test
Chef Delivery
Local Dev
ModelBuildTest
Chef DK
Chef Client & Cookbooks
![Page 50: IP Expo Nordic: Successful Practices for Continuous Delivery](https://reader035.vdocuments.us/reader035/viewer/2022062902/58f045f51a28ab953f8b46bf/html5/thumbnails/50.jpg)
Visit Our Booth To Learn More#425