SlideShare a Scribd company logo
Continuously serving the OSS
community with
Continuous Integration and Delivery
Akshay Karle
!
Fernando Júnior
“How long would it take your
organization to deploy a change that
involves just one single line of code?”
Mary and Tom Poppendieck
“(…) build software in such a way that
the software can be released to
production at any time.”
Martin Fowler
CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION
CONTINUOUS DELIVERY
CONTINUOUS DELIVERY
!
!
▫︎ Continuous Integration
!
▫︎ Automated tasks
!
▫︎ Repeatable/reliable process
THERE’S MORE…
CONTINUOUS DELIVERY
CONTINUOUS DELIVERY
DEPLOYING YOUR APPLICATION
!
!
▫︎ Database migrations
!
▫︎ Infrastructure update
!
▫︎ Restarting services
ZERO DOWNTIME DEPLOYMENTS
Deployment process of your application
has got to be transparent for end users
WHO WE ARE?
Developer,
Snap CI
/nandopaf
/fernando-alves
/nand0paf
Developer,
Snap CI
/akshay_karle
/akshaykarle
/akshay_ka
WHAT WE DO?
!
!
!
!
▫︎Continuous Integration for repositories on GitHub
▫︎SaaS
▫︎Helps you do Continuous Delivery
▫︎Free for open source projects
SNAP INSIDE-OUT
LIFECYCLE OF A BUILD
LIFECYCLE OF A BUILD
LIFECYCLE OF A BUILD
LIFECYCLE OF A BUILD
head
repository
commit
LIFECYCLE OF A BUILD
head
repository
commit
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
Babysitters
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
Babysitters
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
Babysitters
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
LIFE CYCLE
!
▫︎ Prepare the container
▫︎ Starts database
▫︎ Sets PATH
▫︎ Download artifacts
▫︎Git clone
▫︎Runs each pipeline stage
▫︎Upload artifacts
DATABASE
Babysitters
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
Babysitters
LIFECYCLE OF A BUILD
head
repository
commit
DATABASE
ARCHITECTURE OVERVIEW
L
B
ARCHITECTURE OVERVIEW
L
B
Database
web server
ARCHITECTURE OVERVIEW
!
!
▫︎ Rails app fronted by
apache
!
▫︎ Receives the hooks from
GitHub
Database
web server
ARCHITECTURE OVERVIEW
L
B
web server
Database
ARCHITECTURE OVERVIEW
L
B
Build Server
web server
Database
ARCHITECTURE OVERVIEW
!
▫︎ Background jobs
▫︎ Babysitters
▫︎ Build Queue
▫︎ Artifacts
!
▫︎ OpenVZ Containers
▫︎ Virtual machines where the
pipeline runs
Build Server
ARCHITECTURE OVERVIEW
L
B
Build Server
web server
Database
OUR DEPLOYMENT
!
▫︎ Do have automated scripts
!
▫︎ Deployment pipeline
!
▫︎ 1-click deploy
▫︎ Sort of…
Babysitters
DATABASE
L
B
Build Server
Database
web server
OUR DEPLOYMENT
!
▫︎ Wait for all builds to finish
!
▫︎ Put app on maintenance
mode
▫︎ No new requests picked up
!
▫︎ Deploy and wait for
migrations
Babysitters
DATABASE
L
B
Database
VZHOSTBuild Server
web server
ZERO DOWNTIME
DEPLOYMENTS
BLUE-GREEN DEPLOYMENT
Web Server App Server Database
BLUE-GREEN DEPLOYMENT
Web Server App Server Database
App ServerApp ServerWeb Server Database
BLUE-GREEN DEPLOYMENT
Web Server App Server Database
App ServerApp ServerWeb Server Database
BLUE-GREEN DEPLOYMENT
App ServerApp ServerWeb Server Database
BLUE-GREEN DEPLOYMENTS FOR SNAP
VZHOSTBuild Server
web server
VZHOSTBuild Server
web server
L
B
DATABASE
BLUE-GREEN DEPLOYMENTS FOR SNAP
VZHOSTBuild Server
web server
VZHOSTBuild Server
web server
L
B
DATABASE
CHALLENGES IN SNAP
Long running builds
Database migrations
CHALLENGES IN SNAP
Long running builds
LONG RUNNING BUILDS
VZHOSTBuild Server
web server
VZHOSTBuild Server
web server
L
B
DATABASE
LONG RUNNING BUILDS
VZHOSTBuild Server
web server
VZHOSTBuild Server
web server
L
B
DATABASE
LONG RUNNING BUILDS
!
▫︎ Builds should continue
to run
!
▫︎ Artifacts should continue
to be served
COLOR AWARE BABYSITTERS
Build Server
Green Stack
Build Server
Blue Stack
COLOR AWARE BABYSITTERS
Build Server
Green Stack
Build Server
Blue Stack
web server
BUILD LIFECYCLE
head
repository
commit
DATABASEDATABASE
L
B
BUILD LIFECYCLE
head
repository
commit
DATABASEDATABASE
L
B
BUILD LIFECYCLE
head
repository
commit
DATABASEDATABASE
L
B
THE SWITCH
L
B
THE SWITCH
L
B
THE SWITCH
L
B
THE SWITCH
L
B
THE SWITCH
L
B
THE SWITCH
L
B
THE SWITCH
L
B
CHALLENGES IN SNAP
Long running builds
Database migrations
CHALLENGES IN SNAP
Database migrations
DATABASE MIGRATIONS
Pipelines
Counter
Duration
App v1.0
App v1.0
L
B
DATABASE MIGRATIONS
Pipelines
Counter
Duration
App v1.0
App v1.0
L
B
Upgrading to v2.0,
migrating
DATABASE MIGRATIONS
Pipelines
Counter
App v2.0
App v1.0
L
B
Cannot have destructive migrations
MIGRATIONS IN PHASES
Pipelines
Counter
Duration
App v1.0
App v1.0
L
B
MIGRATIONS IN PHASES
Pipelines
Counter
Duration
App v1.0
App v1.0
Upgrading to v2.0
L
B
MIGRATIONS IN PHASES
Pipelines
Counter
Duration
App v2.0
App v1.0
L
B
MIGRATIONS IN PHASES
Pipelines
Counter
Duration
App v2.0
App v1.0
L
B
MIGRATIONS IN PHASES
Pipelines
Counter
Duration
App v2.0
App v1.0
L
B
MIGRATIONS IN PHASES
Pipelines
Counter
Duration
App v2.0
App v1.0
Upgrading to v3.0
L
B
MIGRATIONS IN PHASES
App v2.0
App v3.0
Pipelines
Counter
L
B
MIGRATIONS IN PHASES
App v2.0
App v3.0
Pipelines
Counter
L
B
LESSONS LEARNT
Automation is beauty
Watch out your data
Things will go wrong
THANK YOU
Questions?
https://snap-ci.com

More Related Content

PDF
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
PDF
London Atlassian User Group - February 2014
PDF
Enabling your DevOps culture with AWS-webinar
PPTX
Update Smart: Use a staging site!
PDF
Modern devOps with Docker
PPT
Chef Delivery
PDF
Becoming a Git Master - Nicola Paolucci
PDF
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
London Atlassian User Group - February 2014
Enabling your DevOps culture with AWS-webinar
Update Smart: Use a staging site!
Modern devOps with Docker
Chef Delivery
Becoming a Git Master - Nicola Paolucci
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014

What's hot (17)

PPTX
Silverlight vs HTML5 - Lessons learned from the real world...
PDF
Super-powered CI with Git - Sarah Goff-Dupont
KEY
Pragmatic Continuous Delivery - ReaktorDevDay 2012
PDF
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
ODP
Enterprise Workflows When You Aren't Enterprise
PPTX
Making development environments not suck | #econfpsu #econfpsu16
PDF
Terraform Testing with InSpec Demo
PDF
A Business Case for Git - Tim Pettersen
KEY
Avoiding integration hell
PDF
Delivery With Chef - ChefConf 2015
PDF
Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
PDF
Pain Free Frontend Development
PPTX
Managing Requirements with Word and TFS by Max Markov
PDF
How HipChat Ships and Recovers Fast with DevOps Practices
PPTX
Defrag 2014 - Hybrid clouds with containers
PDF
Continuous Deployment at Etsy: A Tale of Two Approaches
KEY
Cloud tools
Silverlight vs HTML5 - Lessons learned from the real world...
Super-powered CI with Git - Sarah Goff-Dupont
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Enterprise Workflows When You Aren't Enterprise
Making development environments not suck | #econfpsu #econfpsu16
Terraform Testing with InSpec Demo
A Business Case for Git - Tim Pettersen
Avoiding integration hell
Delivery With Chef - ChefConf 2015
Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
Pain Free Frontend Development
Managing Requirements with Word and TFS by Max Markov
How HipChat Ships and Recovers Fast with DevOps Practices
Defrag 2014 - Hybrid clouds with containers
Continuous Deployment at Etsy: A Tale of Two Approaches
Cloud tools
Ad

Viewers also liked (7)

PDF
Thélem assurances boosts performance and cuts costs with an IBMPower Systems ...
PDF
Tema 2 educación
PDF
Na Hora De Decidir Jovens Preferem Dados A Intuicao Binder
PPT
Larval connectivity along the Oregon coast
PPT
whymendieyoung[1]
PPT
Open innovation for technology seekers : innoget.com
PPT
The Oxylator—A Compact And Durable Patient Responsive Ventilation System
Thélem assurances boosts performance and cuts costs with an IBMPower Systems ...
Tema 2 educación
Na Hora De Decidir Jovens Preferem Dados A Intuicao Binder
Larval connectivity along the Oregon coast
whymendieyoung[1]
Open innovation for technology seekers : innoget.com
The Oxylator—A Compact And Durable Patient Responsive Ventilation System
Ad

Similar to Continuously serving the OSS community with Continuous Integration and Delivery, by Akshay Karle and Fernando Jr. (20)

PDF
Continuously serving the developer community with Continuous Integration and...
PDF
Continuous Deployment: Beyond Continuous Delivery
ODP
Continuous Delivery of (y)our infrastructure.
PDF
Zero to hero - Geoff Webb
PDF
Dipping Your Toes Into Cloud Native Application Development
PDF
Continuous Delivery with NetflixOSS
PDF
Continuous Delivery for Python Developers – PyCon Otto
PDF
Altitude SF 2017: Building a continuous deployment pipeline
PPTX
B. Durrett The Challenges of Continuous Deployment Social Developer Summit
PDF
2013 10-25 dev-opsdays
PDF
Intro to continuous integration
PPTX
Cloud Foundry Roadmap Update - OSCON - May 2017
PDF
We thought we were doing continuous delivery and then...
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
PDF
The Road to Continuous Deployment
PPTX
LAST Conference - Dev-Ops and Continuous Delivery
PDF
Pipeline as code for your infrastructure as Code
PDF
CI/CD pipelines
PDF
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
PDF
What Continuous Delivery Means for Version Control
Continuously serving the developer community with Continuous Integration and...
Continuous Deployment: Beyond Continuous Delivery
Continuous Delivery of (y)our infrastructure.
Zero to hero - Geoff Webb
Dipping Your Toes Into Cloud Native Application Development
Continuous Delivery with NetflixOSS
Continuous Delivery for Python Developers – PyCon Otto
Altitude SF 2017: Building a continuous deployment pipeline
B. Durrett The Challenges of Continuous Deployment Social Developer Summit
2013 10-25 dev-opsdays
Intro to continuous integration
Cloud Foundry Roadmap Update - OSCON - May 2017
We thought we were doing continuous delivery and then...
Software Delivery in 2016 - A Continuous Delivery Approach
The Road to Continuous Deployment
LAST Conference - Dev-Ops and Continuous Delivery
Pipeline as code for your infrastructure as Code
CI/CD pipelines
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
What Continuous Delivery Means for Version Control

More from Thoughtworks (20)

PDF
Design System as a Product
PDF
Designers, Developers & Dogs
PDF
Cloud-first for fast innovation
PDF
More impact with flexible teams
PDF
Culture of Innovation
PDF
Dual-Track Agile
PDF
Developer Experience
PDF
When we design together
PDF
Hardware is hard(er)
PDF
Customer-centric innovation enabled by cloud
PDF
Amazon's Culture of Innovation
PDF
When in doubt, go live
PDF
Don't cross the Rubicon
PDF
Error handling
PDF
Your test coverage is a lie!
PDF
Docker container security
PDF
Redefining the unit
PPTX
Technology Radar Webinar UK - Vol. 22
PDF
A Tribute to Turing
PDF
Rsa maths worked out
Design System as a Product
Designers, Developers & Dogs
Cloud-first for fast innovation
More impact with flexible teams
Culture of Innovation
Dual-Track Agile
Developer Experience
When we design together
Hardware is hard(er)
Customer-centric innovation enabled by cloud
Amazon's Culture of Innovation
When in doubt, go live
Don't cross the Rubicon
Error handling
Your test coverage is a lie!
Docker container security
Redefining the unit
Technology Radar Webinar UK - Vol. 22
A Tribute to Turing
Rsa maths worked out

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Cloud computing and distributed systems.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
KodekX | Application Modernization Development
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Programs and apps: productivity, graphics, security and other tools
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
Chapter 3 Spatial Domain Image Processing.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine learning based COVID-19 study performance prediction
Cloud computing and distributed systems.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
MIND Revenue Release Quarter 2 2025 Press Release
KodekX | Application Modernization Development
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks

Continuously serving the OSS community with Continuous Integration and Delivery, by Akshay Karle and Fernando Jr.