A presentation at RenderATL 2020 in in Atlanta, GA, USA by Jeremy Meiss
Demystifying CI/CD
Imagine you’re getting ready to ship something…
You press the big red button
click
silence
Do you… a) Sweat and wait to see if it blows up
Do you… a) Sweat and wait to see if it blows up b) Pack up, go home & enjoy your weekend
It all boils down to automation.
The green pastures of automation Image source: Forbes
Image source: Horizon Zero Dawn
Image source: Demotivational
Timeline.jerdog.me IAmJerdog jerdog /in/jeremymeiss Director, DevRel & Community
“DEVOPS”
The DevOps Lifecycle ○ Plan Image source: C-Sharp Corner
The DevOps Lifecycle ○ Plan ○ Code Image source: C-Sharp Corner
The DevOps Lifecycle ○ Plan ○ Code ○ Build Image source: C-Sharp Corner
The DevOps Lifecycle ○ ○ ○ ○ Image source: C-Sharp Corner Plan Code Build Test
The DevOps Lifecycle ○ ○ ○ ○ ○ Image source: C-Sharp Corner Plan Code Build Test Release
The DevOps Lifecycle ○ ○ ○ ○ ○ ○ Image source: C-Sharp Corner Plan Code Build Test Release Deploy
The DevOps Lifecycle ○ ○ ○ ○ ○ ○ ○ Image source: C-Sharp Corner Plan Code Build Test Release Deploy Operate
The DevOps Lifecycle ○ ○ ○ ○ ○ ○ ○ ○ Image source: C-Sharp Corner Plan Code Build Test Release Deploy Operate Monitor
Continuous {Integration|Deployment}
Software Development without CI/CD Image source: Oursky
Software Development with 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
CD == Continuous Deployment the practice of automatically deploying new software releases to target environments Build Website Server deployment Active Users
Continuous Deployment ○ Faster release cycles Build Website Server Deployment Active Users
Continuous Deployment ○ Faster release cycles ○ Low-risk releases Build Website Server Deployment Active Users
Continuous Deployment ○ Faster release cycles ○ Low-risk releases ○ Higher quality Build Website Server Deployment Active Users
Continuous Deployment ○ ○ ○ ○ Build Website Faster release cycles Low-risk releases Higher quality Lower costs Server Deployment Active Users
Is CI/CD a TOOL?
Are there benefits to CI/CD?
CI/CD Benefits ○ ○ ○ ○ ○ ○ Improve team productivity & efficiency Accelerate speed to market Identify product/market fit Release higher quality, more stable products Increase customer satisfaction Keep devs happy and shipping code
I feel the need… the need for SPEED! ○ Customers get access to new features faster ○ Company gets a faster ROI from new features
Implementing CI/CD
Make sure everyone is on the same page
Always start small
Do what works for you
Always measure
CI/CD Benchmarks for high performance Throughput Duration At will <10 minutes Success Rate
90% Mean Time to Recovery <1 hour
Better CI/CD Practices ○ Make testing an integral part of the dev process
Better CI/CD Practices ○ Make testing an integral part of the dev process ○ Ensure testing environment mirrors production
Better CI/CD Practices ○ Make testing an integral part of the dev process ○ Ensure testing environment mirrors production ○ Use coding better practices, i.e. pair programming
Better CI/CD Practices ○ ○ ○ ○ Make testing an integral part of the dev process Ensure testing environment mirrors production Use coding better practices, i.e. pair programming Automate the deploy workflow
Streamline deploy
Full Report https://circle.ci/ssd2020
Do not try to automate everything
Proof of concept ○ ○ ○ ○ A rigorous testing practice Consistent software environments Training on continuous integration practices. Reports to measure key metrics.
Timeline.jerdog.me Thank you. For feedback and swag: circle.ci/jeremy IAmJerdog jerdog /in/jeremymeiss
Continuous Integration and Continuous Delivery/Deployment (CI/CD) concepts are increasingly adopted by many technology organizations and teams. CI\CD enables teams to establish processes that increase velocity, collaboration and quality of their codebase. CI/CD enables developer & operations teams to break down unnecessary silos and gain a deeper knowledge of their respective arenas.
In this session the participants will be introduced to the basic fundamentals of Continuous Integration and Continuous Delivery/Deployment. Participants will learn the core principles of CI/CD, leaving with what will be a good understanding of what it takes to CI/CD.
Here’s what was said about this presentation on social media.
Stop by our booth and say hi at @renderATL today! Then catch Jeremy Meiss (@IAmJerdog), CircleCI's Director of DevRel & Community, talking about demystifying CI/CD at 5 pm ET. https://t.co/KI84y5GAng
— CircleCI (@CircleCI) September 14, 2021
Oh nice, Jeremy's talk on "demystifying CI/CD" will be great.
— Ryan Kienstra (@ryankienstra) September 14, 2021
Great talk and explanation of CI/CD and the DevOps lifecycle! @IAmJerdog #RenderATL @renderATL pic.twitter.com/xX7SYtzvpw
— Stacey Graham ~ Software Engineer (@Staceyluvstech) September 14, 2021
@IAmJerdog sharing the knowledge about CI/CD! Automation is key, fail early and often!
— Echobind (@echobind) September 14, 2021
"Do not automate everything"
Focus on what matters most. Streamline deploys with services like @vercel @Netlify @render@renderATL pic.twitter.com/UxMQKt1kTz
Great talk man!
— xirclebox 💻 speaking at #RenderATL (@xirclebox) September 14, 2021
It was sooo nice to meet you today! Thank you for giving me some @CircleCI insight! Glad you enjoyed the conference. 2 days down, 1 more to go!!!
— Chey {•shai} (@JillsScotch) September 14, 2021
Demystifying CI/CD with @IAmJerdog #RenderATL pic.twitter.com/Y5AKPlLKyr
— T. Whitt @ #RenderATL (@ElloDigsby) September 14, 2021
this was my favorite slide
— Angie Jones @ #RenderATL (@techgirl1908) September 14, 2021