Deploy, Release, CI/CD, Oh My! DevOps for the Rest of us

Image credit: https://github.com/infrabricks/wordcloud

Jeremy Meiss Director, DevRel & Community timeline.jerdog.me

Image credit: https://github.com/infrabricks/wordcloud

Image credit: ROELBOB at DevOps.com

Image credit: ROELBOB at DevOps.com

Image credit: ROELBOB at DevOps.com

AIOps

“AIOps combines big data and machine learning to automate IT operations processes, including event correlation, anomaly detection, and causality determination.” — Gartner

“an industry category for machine learning analytics technology that enhances IT operations analytics” — Wikipedia entry for AIOps

Image credit: Gartner Blog Network

Image credit: Capgemini

GitOps

Ops “GitOps is a way to do Kubernetes cluster management and application delivery… by using Git as a single source of truth for declarative infrastructure and applications.” — Weaveworks

Image credit: VMWare

DevSecOps

“DevSecOps puts security at the forefront of the development process as a whole, ensuring that good cyber-hygiene remains top-of-mind for developers and operators from start to finish.” — Phil Richards Source: Threatpost

“an augmentation of DevOps to allow for security practices to be integrated into the DevOps approach… Each delivery team is empowered to factor in the correct security controls into their software delivery. Security practices and testing are performed earlier in the development lifecycle…” — Wikipedia entry for DevSecOps

“Shifting security left” Image credit: Devopedia

Image credit: Threatpost

Progressive Delivery

“Progressive delivery is continuous delivery with fine-grained control over the blast radius.” — James Governor, RedMonk

Image credit: LaunchDarkly

Image credit: LaunchDarkly

Is it a “release”, or a “deploy(ment)?”

Deploy

Release

Image credit: Wikipedia

Continuous {Integration|Deployment}

Scrumban!

Quick History of CI/CD 1991

Quick History of CI/CD 1991 1997

Quick History of CI/CD 2001 1991 1997

Quick History of CI/CD

Quick History of CI/CD

Quick History of CI/CD

Software Development without CI/CD

Software Development without CI/CD Image source: Oursky

CI == Continuous Integration the practice of merging all developers’ working copies to a shared code repository Code Shared Code Repo CI/CD Runtime Test Scan for Vulnerabilities Build Website

CI == Continuous Integration ● Merge code changes often Code Shared Code Repo CI/CD Runtime Test Scan for Vulnerabilities Build Website

CI == Continuous Integration ● ● Merge code changes often Run automated tests to validate builds Code Shared Code Repo CI/CD Runtime Test Scan for Vulnerabilities Build Website

CI == Continuous Integration ● ● ● Merge code changes often Run automated tests to validate builds Only integrate tested code into code base Code Shared Code Repo CI/CD Runtime Test Scan for Vulnerabilities Build Website

CI == Continuous Integration ● ● ● ● Merge code changes often Run automated tests to validate builds Only integrate tested code into code base Changes frequently merged into release branches Code Shared Code Repo CI/CD Runtime Test Scan for Vulnerabilities Build Website

Image credit: Product Coalition

CD == Continuous Deployment the practice of automatically deploying new software releases to target environments Build Website Server deployment Active Users

CD == Continuous Deployment ● Build Website Faster release cycles Server Deployment Active Users

CD == Continuous Deployment ● ● Build Website Faster release cycles Low-risk releases Server Deployment Active Users

CD == Continuous Deployment ● ● ● Build Website Faster release cycles Low-risk releases Higher quality Server Deployment Active Users

CD == Continuous Deployment ● ● ● ● Build Website Faster release cycles Low-risk releases Higher quality Lower costs Server Deployment Active Users

“Is CI/CD a TOOL?”

“It depends…” -every DevOps Advocate

Are there benefits to CI/CD?

CI/CD Benefits ● ● ● ● ● ● Improve team productivity & efficiency Accelerate speed to market Identify product/market fit & ROI Release higher quality, more stable products Increase customer satisfaction Keep devs happy and shipping code

I feel the need… the need for SPEED!

68

CI/CD Benchmarks for high performing teams Suggested Benchmarks Throughput The average number of workflow runs per day Duration The average length of time for a workflow to run Mean time to recovery The average time between failures & their next success Success rate The number of successful runs / the total number of runs over a period of time Merge on any pull request 10 minutes Under 1 hour 90% or better on default branch

Full Report https://circle.ci/ssd2022

Thank you. For feedback and swag: circle.ci/jeremy Timeline.jerdog.me IAmJerdog jerdog /in/jeremymeiss