SlideShare a Scribd company logo
CONTINUOUS
DEPLOYMENT
Lars Kluge, CTO and Co-founder of Kitchensurfing
KITCHENSURFING
Continuous Deployment at Kitchensurfing
Continuous Deployment at Kitchensurfing
Continuous Deployment at Kitchensurfing
WHO IS FAMILIAR WITH …?
DEFINITION
Continuous Deployment is the automated
process of shipping your product to
production, with every push to master.
Continuous Deployment at Kitchensurfing
MOTIVATION?
Earlier feedback for your business: get features in front of
users as early as possible
Faster development: develop, push, next feature
Lower the risk of deployments
Motivation for everyone involved: changes can be done
immediately--no wait for the next scheduled release
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 (MongoDB Monitoring Service)
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
OUR 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

PDF
Top 8 mistakes developer teams make in their first serverless project
PDF
Dev ops: Continuous delivery and Windows Azure
PPTX
Efi Merdler Kravitz - 7 things you should know before going serverless
KEY
Using the Atlassian Plugin Platform to Create Your Own SaaS Plugin Platform
PPTX
Update Smart: Use a Staging Site!
ODP
Continuous Integration using TFS
PPTX
Status cake
PDF
10 Deployments a day - A brief on extreme release protocols
Top 8 mistakes developer teams make in their first serverless project
Dev ops: Continuous delivery and Windows Azure
Efi Merdler Kravitz - 7 things you should know before going serverless
Using the Atlassian Plugin Platform to Create Your Own SaaS Plugin Platform
Update Smart: Use a Staging Site!
Continuous Integration using TFS
Status cake
10 Deployments a day - A brief on extreme release protocols

What's hot (19)

PDF
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
PDF
Continuous Delivery at Netflix, and beyond
PPTX
Continuous delivery applied (RJUG)
PDF
Mobile DevOps with VSTS and AppCenter
KEY
Atlaskickin' the Plugin SDK, AtlasCamp US 2012
PPTX
Are Your Microservices Naked and Afraid?
ODP
Cloud Needs Devops
POTX
Simplify CI with the Updated Jenkins Plugin for Sauce Labs
PPTX
Jenkins introduction
PPTX
Monitoring large scale Docker production environments
PPT
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
PDF
(Ignite) DID ANYONE SAY SEMVER? - PHILIPP KRENN, ELASTIC
PPTX
Continuous Delivery with TFS msbuild msdeploy
PPTX
Build mobile back-end (Restful API) by using Microsoft Azure Functions
PPTX
Calling APIs with SharePoint Framework
PPTX
Microsoft app center
PPTX
Get Started on Azure with Puppet
PPTX
Tests your pipeline might be missing
PDF
Continuously serving the developer community with Continuous Integration and...
AtlasCamp 2010: The Atlassian Plugin SDK For Fun & Profit - Ben Speakmon
Continuous Delivery at Netflix, and beyond
Continuous delivery applied (RJUG)
Mobile DevOps with VSTS and AppCenter
Atlaskickin' the Plugin SDK, AtlasCamp US 2012
Are Your Microservices Naked and Afraid?
Cloud Needs Devops
Simplify CI with the Updated Jenkins Plugin for Sauce Labs
Jenkins introduction
Monitoring large scale Docker production environments
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
(Ignite) DID ANYONE SAY SEMVER? - PHILIPP KRENN, ELASTIC
Continuous Delivery with TFS msbuild msdeploy
Build mobile back-end (Restful API) by using Microsoft Azure Functions
Calling APIs with SharePoint Framework
Microsoft app center
Get Started on Azure with Puppet
Tests your pipeline might be missing
Continuously serving the developer community with Continuous Integration and...
Ad

Viewers also liked (7)

PDF
Tomato sherpa detailed deck
PPTX
KitchenSurfing Strategy - Griffin Farley's Beautiful Minds 2014
PDF
Kitchen surfing strategy 7 30_14_final
PDF
GFBM 2014 - Kitchen Surfing (Team "F" bomb) deck
PPTX
Kitchit-GOAP Hawaii Presentation
PPTX
150 Growth Leaders You Must Follow on Twitter
PDF
SlideShare 101
Tomato sherpa detailed deck
KitchenSurfing Strategy - Griffin Farley's Beautiful Minds 2014
Kitchen surfing strategy 7 30_14_final
GFBM 2014 - Kitchen Surfing (Team "F" bomb) deck
Kitchit-GOAP Hawaii Presentation
150 Growth Leaders You Must Follow on Twitter
SlideShare 101
Ad

Similar to Continuous Deployment at Kitchensurfing (20)

PDF
Webinar: Continuous Deployment with MongoDB at Kitchensurfing
PPT
Continues Deployment - Tech Talk week
PDF
Yatoto-technical
PDF
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
PDF
Demystifying GitHub Actions - Harnessing the power of automation to streamlin...
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
PDF
Scaling Up Lookout
PDF
Principles and Practices in Continuous Deployment at Etsy
PPTX
DevOps - Understanding Core Concepts
PDF
DevOps for the Discouraged
PDF
Product! - The road to production deployment
PDF
MeetingPoint 2015 - Swimming upstream in the container revolution
PPTX
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
PDF
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
PDF
DevOps-Ebook
PDF
CICD_BestPractices.pdf
PDF
DevOps & DevEx
Webinar: Continuous Deployment with MongoDB at Kitchensurfing
Continues Deployment - Tech Talk week
Yatoto-technical
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Demystifying GitHub Actions - Harnessing the power of automation to streamlin...
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
Scaling Up Lookout
Principles and Practices in Continuous Deployment at Etsy
DevOps - Understanding Core Concepts
DevOps for the Discouraged
Product! - The road to production deployment
MeetingPoint 2015 - Swimming upstream in the container revolution
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps-Ebook
CICD_BestPractices.pdf
DevOps & DevEx

Recently uploaded (20)

PPTX
1. Introduction to Computer Programming.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
August Patch Tuesday
PPTX
A Presentation on Artificial Intelligence
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mushroom cultivation and it's methods.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Machine Learning_overview_presentation.pptx
PDF
Getting Started with Data Integration: FME Form 101
1. Introduction to Computer Programming.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
Building Integrated photovoltaic BIPV_UPV.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
SOPHOS-XG Firewall Administrator PPT.pptx
August Patch Tuesday
A Presentation on Artificial Intelligence
cloud_computing_Infrastucture_as_cloud_p
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mushroom cultivation and it's methods.pdf
A comparative analysis of optical character recognition models for extracting...
TLE Review Electricity (Electricity).pptx
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Weekly Chronicles - August'25-Week II
Mobile App Security Testing_ A Comprehensive Guide.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Machine learning based COVID-19 study performance prediction
Machine Learning_overview_presentation.pptx
Getting Started with Data Integration: FME Form 101

Continuous Deployment at Kitchensurfing