SlideShare a Scribd company logo
CONTINUOUS
DEPLOYMENT
Lars Kluge, Hacker.
Previously CTO and Cofounder of Kitchensurfing.
DEFINITION
Continuous Deployment is the automated
process of shipping your product to
production, with every push to master.
MOTIVATION
Earlier feedback for your business: get features in front of
users as early as possible
Faster development: develop, push, next feature
Fewer merge conflicts
Lower the risk of deployments
Motivation for everyone involved: changes can be done
immediately--no wait for the next scheduled release
THE BIG PICTURE
Webinar: Continuous Deployment with MongoDB at Kitchensurfing
WHO IS USING IT?
Facebook, Etsy, Quora, Linkedin, …
IS IT PRACTICAL FOR SMALLER STARTUPS?
YES.
We use it and love it at Kitchensurfing.
OUR STACK
Ruby on Rails, MongoDB, Heroku, …
OUR WORKFLOW
1. Pick up a ticket in Pivotal Tracker
2. Code
3. Commit with reference to ticket id
4. Pull Request on Github
5. Code Review
6. Multiple Staging Environments if manual check necessary
7. CI: Codeship runs test suite for pull request
8. Merge into master
9. Github notifies Pivotal Tracker that ticket is merged
10. CI runs again
11. On successful build, Codeship deploys to Heroku
12. Release Notes Email sent by Heroku
OUR LEARNINGS
MONGODB HELPS.
NO SCHEMA.
ETSY
source
WITH MONGODB:
While (re)inventing your product,
no* schema migration necessary.
YOUNG PRODUCT = A LOT SCHEMA CHANGES
TRUST YOUR TEST SUITE
RELEASE BIG PRODUCTS IN SMALL PIECES
USE FEATURE FLAGS
Show new features only to your beta user group
Avoid the 'big bang' release
OBSERVE PRODUCTION AFTER DEPLOY
Not only exception tracking
How are business #s changing?
Cloud behavior
MMS Monitoring for MongoDB
New Relic
BEHAVIOR CHANGE
Is your team ready to make the behavior change?
The whole team needs to support it.
Introduce Continuous Deployment as early as possible; it's
getting harder down the road.
PRODUCT TEAM
How to break down features into small, easy to release
pieces? What is the order of operation?
COMMUNICATION
Keep your team in the loop
Release Notes Email
What is online, what's not?
Ticket finished, does it mean it's online?
RUNTIME OF TEST SUITE
> 15 Min. tricky
Context Switch is expensive for Engineers
HEROKU PREBOOT
$ heroku labs:enable -a myapp preboot
FUTURE PLANS
Better Release Notes Email based on finished stories in
Tracker
Statistics in Pull Request to understand the change based
on compiled JS, CSS size, test suite build time, # of database
queries, etc.
Engineering Dashboard: See how a deploy changes business
#s
THANK YOU.
larskluge.com
@aekym

More Related Content

What's hot (8)

PDF
Implementing Infrastructure as Code ConfigMgtCamp 2017
Kief Morris
 
PPT
Jenkins Overview
Ahmed M. Gomaa
 
PPTX
Power of Azure Devops
Azure Riyadh User Group
 
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Robert McDermott
 
PDF
Event driven infrastructure
Shiva Narayanaswamy
 
PDF
Jenkins-CI
Gong Haibing
 
PDF
Serverless Delivery
Casey Lee
 
PDF
Jenkins Reviewbot
Yardena Meymann
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Kief Morris
 
Jenkins Overview
Ahmed M. Gomaa
 
Power of Azure Devops
Azure Riyadh User Group
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Robert McDermott
 
Event driven infrastructure
Shiva Narayanaswamy
 
Jenkins-CI
Gong Haibing
 
Serverless Delivery
Casey Lee
 
Jenkins Reviewbot
Yardena Meymann
 

Viewers also liked (9)

PDF
Becoming Friends with Cassandra
DataStax
 
PPTX
Continuous Deployment with Cassandra
DataStax Academy
 
PDF
Scaling Crashlytics: Building Analytics on Redis 2.6
Crashlytics
 
PDF
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
DataStax Academy
 
PPTX
Managing (Schema) Migrations in Cassandra
DataStax Academy
 
PPTX
Hierarchy of Skills
Igor Kokcharov
 
PPT
CI and CD with Jenkins
Martin Málek
 
PDF
An Introduction to Python Concurrency
David Beazley (Dabeaz LLC)
 
PDF
Cassandra NoSQL Tutorial
Michelle Darling
 
Becoming Friends with Cassandra
DataStax
 
Continuous Deployment with Cassandra
DataStax Academy
 
Scaling Crashlytics: Building Analytics on Redis 2.6
Crashlytics
 
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
DataStax Academy
 
Managing (Schema) Migrations in Cassandra
DataStax Academy
 
Hierarchy of Skills
Igor Kokcharov
 
CI and CD with Jenkins
Martin Málek
 
An Introduction to Python Concurrency
David Beazley (Dabeaz LLC)
 
Cassandra NoSQL Tutorial
Michelle Darling
 
Ad

Similar to Webinar: Continuous Deployment with MongoDB at Kitchensurfing (20)

PDF
Continuous Deployment at Kitchensurfing
Lars Kluge
 
PDF
Continuous Deployment of Rails Applications
Diane Cessna
 
PPT
Continuous Deployment
Brian Henerey
 
PDF
Always ready for release by Bogdan Costea
Bosnia Agile
 
PPTX
B. Durrett The Challenges of Continuous Deployment Social Developer Summit
Mediabistro
 
PPTX
Tech writing in a continuous deployment environment
Christine Burwinkle
 
KEY
Continuous Deployment
Brian Moon
 
PDF
Continuous Deployment (english)
Titas Norkūnas
 
PPTX
Continuous Deployment
Smartling
 
PPTX
Continuous Deployment
Rohan Nair
 
PDF
Principles and Practices in Continuous Deployment at Etsy
Mike Brittain
 
PDF
Hosting Ruby Web Apps
Michael Reinsch
 
PDF
Growing up your CD Endeavours
Yeong Sheng Tan
 
PPT
Making the Agile Leap to Continuous Deployment
Ethan Ram
 
PDF
Swimming upstream in the container revolution
nextbuild
 
PDF
Software Development 2020 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
PDF
NextBuild 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
PDF
Moving faster with CI/CD: Best DevOps practices and lessons learnt
Malinda Kapuruge
 
PDF
MeetingPoint 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
PPTX
Continuous delivery with azure app service
Nabeel Khan
 
Continuous Deployment at Kitchensurfing
Lars Kluge
 
Continuous Deployment of Rails Applications
Diane Cessna
 
Continuous Deployment
Brian Henerey
 
Always ready for release by Bogdan Costea
Bosnia Agile
 
B. Durrett The Challenges of Continuous Deployment Social Developer Summit
Mediabistro
 
Tech writing in a continuous deployment environment
Christine Burwinkle
 
Continuous Deployment
Brian Moon
 
Continuous Deployment (english)
Titas Norkūnas
 
Continuous Deployment
Smartling
 
Continuous Deployment
Rohan Nair
 
Principles and Practices in Continuous Deployment at Etsy
Mike Brittain
 
Hosting Ruby Web Apps
Michael Reinsch
 
Growing up your CD Endeavours
Yeong Sheng Tan
 
Making the Agile Leap to Continuous Deployment
Ethan Ram
 
Swimming upstream in the container revolution
nextbuild
 
Software Development 2020 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
NextBuild 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
Moving faster with CI/CD: Best DevOps practices and lessons learnt
Malinda Kapuruge
 
MeetingPoint 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
Continuous delivery with azure app service
Nabeel Khan
 
Ad

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 

Recently uploaded (20)

PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Python basic programing language for automation
DanialHabibi2
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Python basic programing language for automation
DanialHabibi2
 

Webinar: Continuous Deployment with MongoDB at Kitchensurfing