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

PPT
Continuous integration
PPTX
Database deployments - dotnetsheff
PPTX
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
PDF
Devops with Amazon Web Services (January 2017)
PDF
DevOps, Common use cases, Architectures, Best Practices
PPTX
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
PDF
Infrastructure as Code with Ansible
ODP
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Continuous integration
Database deployments - dotnetsheff
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
Devops with Amazon Web Services (January 2017)
DevOps, Common use cases, Architectures, Best Practices
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
Infrastructure as Code with Ansible
Jenkinsconf Presentation - Advance jenkins management with multiple projects.

What's hot (8)

PDF
Implementing Infrastructure as Code ConfigMgtCamp 2017
PPT
Jenkins Overview
PPTX
Power of Azure Devops
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
PDF
Event driven infrastructure
PDF
Jenkins-CI
PDF
Serverless Delivery
PDF
Jenkins Reviewbot
Implementing Infrastructure as Code ConfigMgtCamp 2017
Jenkins Overview
Power of Azure Devops
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Event driven infrastructure
Jenkins-CI
Serverless Delivery
Jenkins Reviewbot
Ad

Viewers also liked (9)

PDF
Becoming Friends with Cassandra
PPTX
Continuous Deployment with Cassandra
PDF
Scaling Crashlytics: Building Analytics on Redis 2.6
PDF
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
PPTX
Managing (Schema) Migrations in Cassandra
PPTX
Hierarchy of Skills
PPT
CI and CD with Jenkins
PDF
An Introduction to Python Concurrency
PDF
Cassandra NoSQL Tutorial
Becoming Friends with Cassandra
Continuous Deployment with Cassandra
Scaling Crashlytics: Building Analytics on Redis 2.6
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
Managing (Schema) Migrations in Cassandra
Hierarchy of Skills
CI and CD with Jenkins
An Introduction to Python Concurrency
Cassandra NoSQL Tutorial
Ad

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

PDF
Continuous Deployment at Kitchensurfing
PDF
Demystifying GitHub Actions - Harnessing the power of automation to streamlin...
PDF
Yatoto-technical
PDF
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
PDF
Scaling Up Lookout
PPTX
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
PDF
Api gitlab: configurazione dei progetti as a service
PDF
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
PDF
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
PPTX
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
PDF
DevOps & DevEx
PDF
Product! - The road to production deployment
PPTX
30 days or less: New Features to Production
PPT
Continues Deployment - Tech Talk week
PDF
Continuous delivery the french way Agile Cambridge 2014
PPTX
DevOps - Understanding Core Concepts
PDF
DevOps for the Discouraged
PDF
MeetingPoint 2015 - Swimming upstream in the container revolution
PDF
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
PDF
DevOps-Ebook
Continuous Deployment at Kitchensurfing
Demystifying GitHub Actions - Harnessing the power of automation to streamlin...
Yatoto-technical
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Scaling Up Lookout
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
Api gitlab: configurazione dei progetti as a service
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
DevOps & DevEx
Product! - The road to production deployment
30 days or less: New Features to Production
Continues Deployment - Tech Talk week
Continuous delivery the french way Agile Cambridge 2014
DevOps - Understanding Core Concepts
DevOps for the Discouraged
MeetingPoint 2015 - Swimming upstream in the container revolution
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps-Ebook

More from MongoDB (20)

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

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
sap open course for s4hana steps from ECC to s4
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MIND Revenue Release Quarter 2 2025 Press Release
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
20250228 LYD VKU AI Blended-Learning.pptx
sap open course for s4hana steps from ECC to s4

Webinar: Continuous Deployment with MongoDB at Kitchensurfing