(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
Continuous Deployment @rantav @outbrain
How much time does it take your code to meet the users?
How much time does it take your code to meet the users? More than a year?
How much time does it take your code to meet the users? More than a year? 6 - 12 Months?
How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months?
How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks?
How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks? 1 - 14 Days? 
How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks? 1 - 14 Days? 1 - 24 Hours?
How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks? 1 - 14 Days? 1 - 24 Hours?   < 12 Minutes? 
~ $ svn ci -m &quot;Implement the super-sharp image scaler.  #deloy:ImageServer   #to:ny &quot;
Outbrain enables readers to discover  the most interesting , relevant and timely links to stories (paid and organic)
 
Multi Billion Page Views per month Note: Outbrain is typically installed on *every* article/blog post on each of these sites, immediately under the content.
Who's in?
WHY
WHY For the Business For Fun
WHY What was so bad before ?
WHY What is a startup? A startup is always on a quest to find  Product-Market fit => You have to iterate Fast ... before running out of money
WHY Feedback loop speed is important (see  REPL  in programming)
WHY What's used to be the case before: Inefficient Waits (wait for QA, wait for other features etc) Inefficient Context Switch Feature Delayed - b/c of other features Big Changes  –  Big Problems.
HOW
HOW
HOW Continuous Deployment Themes Release is a marketing decision. Deployment is an engineering decision!
HOW Continuous Deployment Themes Small Changes  –  Reduce Risks Kent Beck: You can spill a bucket but you can't spill a Hose. 
HOW Continuous Deployment Themes Deploy fast, release often Fast turnarounds lead to happy customers ... and happy developers
HOW Culture Everyone  have to care about  everything ! build tests quality production monitoring business
HOW Culture No Broken Windows! Broken Windows Theory
HOW Culture “ What's the worse that could happen? ”
WORKFLOW
WORKFLOW Dev
WORKFLOW Dev
The  INGREDIENTS
INGREDIENTS Trunk Stable Everyone run tests before commit No branches, really Trunk may get released any moment. If you commit now, users will see it really soon.      => Test your code,  really good Use feature flags (but only if you must) Forward and backward compatibility
INGREDIENTS Automated Tests We have about 2000 test cases They run in < 4 minutes We use TeamCity We regularly test production Desired state: No manual QA whatsoever.
INGREDIENTS Infrastructure Automation &quot; Infrastructure as code &quot; Using kickstart script to install OS and Chef agent. All infrastructure is deployed by  Chef . All apps are deployed by  Glu All scripts, and chef cookbooks, glu configs are SVNed. Very easy to deploy large number of machines.  
INGREDIENTS Deployer
 
 
 
INGREDIENTS Servicization At outbrain we have ~ 25 services Each service is deployed at > 1 server If there's damage, it's contained It's easy to make small changes If there's an error it's easy to find it If rollback is needed it's easier Everything is either proxies (HAProxy) or queued (AMQ) Challenge: It's sometimes hard to find the right balance: number of services that need maintanance complexity performance api conformance
INGREDIENTS The Immune System Coding Review Testing Monitoring We use Nagios for the vitals Regularly check servers via instrumentation KeyNote Test Production (selenium,APT) Instrumentation Self-Test Performance  Monitoring KPIs PVs,  3 different CTRs, clicks, revenue, RPM etc...
INGREDIENTS The Immune System The line of defense will always be broken => Multiple lines of defense
INGREDIENTS Visibilty Everyone monitor the services  When there's a deployment, you see it on the graph
INGREDIENTS Visibilty Yammer
INGREDIENTS Visibilty svn changelog glu changelog glu audit log
INGREDIENTS Learn Fast, Adapt Fast 5 Ys
ARSENAL Outbrain's arsenal Architecture: Java in most parts, Spring for the most and Struts2 SOA (dah...) with REST Message queues (ActiveMQ) Service multiplicity with HAProxy Data stored in: MySQL, Cassandra, HDFS, NFS   Caching: Memcached
ARSENAL Outbrain's arsenal Testing: JUnit TeamCity Selenium Staging environment (for high risk deployments)
ARSENAL Outbrain's arsenal Deployment: Kickstart Chef Glu TeamCity In-house Deployment Manager RPM + YUM
ARSENAL Outbrain's arsenal Monitoring: Nagios &quot;Testing production&quot; every 10 minutes.  Keynote
ARSENAL Outbrain's arsenal Communications: Yammer
Fun Numbers 5-50 production changes a day!!! More then 2000 code tests running in less then 4 minutes. More then 600 production services tests runs every 10 minutes. It takes ~30 minutes from code complete to ~100 machines deployed.
References Why Continuous Deployment   / Eric Ries Continuous Deployment at outbrain   / Ran Tavory   Deployment Infrastructure for Continuous Deployment  / WealthFront Continuous Deployment presentation   / Eishay Smith Quantum of Deployment   / Etsy Chrome Release Cycle   / Anthony Laforge

More Related Content

What's hot

APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
apidays
 
5 Essential Techniques for Building Fault-tolerant Systems
5 Essential Techniques for Building Fault-tolerant Systems5 Essential Techniques for Building Fault-tolerant Systems
5 Essential Techniques for Building Fault-tolerant Systems
Atlassian
 
High availability in IT: AAAARGH
High availability in IT: AAAARGHHigh availability in IT: AAAARGH
High availability in IT: AAAARGH
Mattias Geniar
 
Handling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile ProjectHandling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile Project
Ken Howard
 
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
Gene Kim
 
Behave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testingBehave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testing
STX Next
 
Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...
Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...
Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...
Codemotion
 
Django strategy-test
Django strategy-testDjango strategy-test
Django strategy-test
Royce Haynes
 
Triggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating TriggersTriggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating Triggers
Salesforce Developers
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Brian Henerey
 
Ansible for Enterprise
Ansible for EnterpriseAnsible for Enterprise
Ansible for Enterprise
Ansible
 
Embrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your OrganizationEmbrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your Organization
Paul Osman
 
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Yuval Yeret
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
Peter Gfader
 
DevOps - Be Careful What You Wish For
DevOps - Be Careful What You Wish ForDevOps - Be Careful What You Wish For
DevOps - Be Careful What You Wish For
John Viner
 
Introduction cypress
Introduction cypressIntroduction cypress
Introduction cypress
Oim Trust
 
Why Your Cloud Needs a Sysadmin
Why Your Cloud Needs a SysadminWhy Your Cloud Needs a Sysadmin
Why Your Cloud Needs a Sysadmin
cloudcampghent
 
STIG Compliance and Remediation with Ansible
STIG Compliance and Remediation with AnsibleSTIG Compliance and Remediation with Ansible
STIG Compliance and Remediation with Ansible
Ansible
 
Datadog + VictorOps Webinar
Datadog + VictorOps WebinarDatadog + VictorOps Webinar
Datadog + VictorOps Webinar
Datadog
 
Bootiful Microservices in a Legacy Environment: Lessons Learned
Bootiful Microservices in a Legacy Environment: Lessons LearnedBootiful Microservices in a Legacy Environment: Lessons Learned
Bootiful Microservices in a Legacy Environment: Lessons Learned
VMware Tanzu
 

What's hot (20)

APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
 
5 Essential Techniques for Building Fault-tolerant Systems
5 Essential Techniques for Building Fault-tolerant Systems5 Essential Techniques for Building Fault-tolerant Systems
5 Essential Techniques for Building Fault-tolerant Systems
 
High availability in IT: AAAARGH
High availability in IT: AAAARGHHigh availability in IT: AAAARGH
High availability in IT: AAAARGH
 
Handling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile ProjectHandling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile Project
 
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
 
Behave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testingBehave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testing
 
Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...
Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...
Do things faster and better with WebAssembly - Sendil Kumar Nellaiyapen - Cod...
 
Django strategy-test
Django strategy-testDjango strategy-test
Django strategy-test
 
Triggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating TriggersTriggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating Triggers
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Ansible for Enterprise
Ansible for EnterpriseAnsible for Enterprise
Ansible for Enterprise
 
Embrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your OrganizationEmbrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your Organization
 
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
DevOps - Be Careful What You Wish For
DevOps - Be Careful What You Wish ForDevOps - Be Careful What You Wish For
DevOps - Be Careful What You Wish For
 
Introduction cypress
Introduction cypressIntroduction cypress
Introduction cypress
 
Why Your Cloud Needs a Sysadmin
Why Your Cloud Needs a SysadminWhy Your Cloud Needs a Sysadmin
Why Your Cloud Needs a Sysadmin
 
STIG Compliance and Remediation with Ansible
STIG Compliance and Remediation with AnsibleSTIG Compliance and Remediation with Ansible
STIG Compliance and Remediation with Ansible
 
Datadog + VictorOps Webinar
Datadog + VictorOps WebinarDatadog + VictorOps Webinar
Datadog + VictorOps Webinar
 
Bootiful Microservices in a Legacy Environment: Lessons Learned
Bootiful Microservices in a Legacy Environment: Lessons LearnedBootiful Microservices in a Legacy Environment: Lessons Learned
Bootiful Microservices in a Legacy Environment: Lessons Learned
 

Similar to Continues Deployment - Tech Talk week

DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
Yuval Yeret
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DevOps Enterprise Summmit
 
The Why and How of Continuous Delivery
The Why and How of Continuous DeliveryThe Why and How of Continuous Delivery
The Why and How of Continuous Delivery
Nigel McNie
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
Mike Brittain
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
evanbottcher
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
Mike Brittain
 
ThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryThoughtWorks Continuous Delivery
ThoughtWorks Continuous Delivery
Kyle Hodgson
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
Stephen Donner
 
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Jon Milsom
 
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Amazon Web Services
 
Continuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceContinuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - Experience
Raja Soundaramourty
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
Tomas Riha
 
Continuous Deployment at Kitchensurfing
Continuous Deployment at KitchensurfingContinuous Deployment at Kitchensurfing
Continuous Deployment at Kitchensurfing
Lars Kluge
 
Poster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ MicrosoftPoster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ Microsoft
VSTS Community MSFT
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
Matt Tesauro
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Jwooldridge
 
When do you need it by? Business Agility Metrics
When do you need it by? Business Agility MetricsWhen do you need it by? Business Agility Metrics
When do you need it by? Business Agility Metrics
Martin Aziz
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileEngineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
KenAtIndeed
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
Nitin Bhide
 
Continuous Delivery for Agile Teams
Continuous Delivery for Agile TeamsContinuous Delivery for Agile Teams
Continuous Delivery for Agile Teams
Mike Bowler
 

Similar to Continues Deployment - Tech Talk week (20)

DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
 
The Why and How of Continuous Delivery
The Why and How of Continuous DeliveryThe Why and How of Continuous Delivery
The Why and How of Continuous Delivery
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
ThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryThoughtWorks Continuous Delivery
ThoughtWorks Continuous Delivery
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
 
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
 
Continuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceContinuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - Experience
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Continuous Deployment at Kitchensurfing
Continuous Deployment at KitchensurfingContinuous Deployment at Kitchensurfing
Continuous Deployment at Kitchensurfing
 
Poster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ MicrosoftPoster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ Microsoft
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
 
When do you need it by? Business Agility Metrics
When do you need it by? Business Agility MetricsWhen do you need it by? Business Agility Metrics
When do you need it by? Business Agility Metrics
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileEngineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
Continuous Delivery for Agile Teams
Continuous Delivery for Agile TeamsContinuous Delivery for Agile Teams
Continuous Delivery for Agile Teams
 

Recently uploaded

WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx
SATYENDRA100
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
The Digital Insurer
 
Hire a private investigator to get cell phone records
Hire a private investigator to get cell phone recordsHire a private investigator to get cell phone records
Hire a private investigator to get cell phone records
HackersList
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
amitchopra0215
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
FellyciaHikmahwarani
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Blockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre timesBlockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre times
anupriti
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
ScyllaDB
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
ScyllaDB
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
apoorva2579
 

Recently uploaded (20)

WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
 
Hire a private investigator to get cell phone records
Hire a private investigator to get cell phone recordsHire a private investigator to get cell phone records
Hire a private investigator to get cell phone records
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Blockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre timesBlockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre times
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
 

Continues Deployment - Tech Talk week

  • 2. How much time does it take your code to meet the users?
  • 3. How much time does it take your code to meet the users? More than a year?
  • 4. How much time does it take your code to meet the users? More than a year? 6 - 12 Months?
  • 5. How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months?
  • 6. How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks?
  • 7. How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks? 1 - 14 Days? 
  • 8. How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks? 1 - 14 Days? 1 - 24 Hours?
  • 9. How much time does it take your code to meet the users? More than a year? 6 - 12 Months? 1- 6 months? 2 - 4 weeks? 1 - 14 Days? 1 - 24 Hours?   < 12 Minutes? 
  • 10. ~ $ svn ci -m &quot;Implement the super-sharp image scaler. #deloy:ImageServer #to:ny &quot;
  • 11. Outbrain enables readers to discover the most interesting , relevant and timely links to stories (paid and organic)
  • 12.  
  • 13. Multi Billion Page Views per month Note: Outbrain is typically installed on *every* article/blog post on each of these sites, immediately under the content.
  • 15. WHY
  • 16. WHY For the Business For Fun
  • 17. WHY What was so bad before ?
  • 18. WHY What is a startup? A startup is always on a quest to find Product-Market fit => You have to iterate Fast ... before running out of money
  • 19. WHY Feedback loop speed is important (see REPL in programming)
  • 20. WHY What's used to be the case before: Inefficient Waits (wait for QA, wait for other features etc) Inefficient Context Switch Feature Delayed - b/c of other features Big Changes – Big Problems.
  • 21. HOW
  • 22. HOW
  • 23. HOW Continuous Deployment Themes Release is a marketing decision. Deployment is an engineering decision!
  • 24. HOW Continuous Deployment Themes Small Changes – Reduce Risks Kent Beck: You can spill a bucket but you can't spill a Hose. 
  • 25. HOW Continuous Deployment Themes Deploy fast, release often Fast turnarounds lead to happy customers ... and happy developers
  • 26. HOW Culture Everyone have to care about everything ! build tests quality production monitoring business
  • 27. HOW Culture No Broken Windows! Broken Windows Theory
  • 28. HOW Culture “ What's the worse that could happen? ”
  • 33. INGREDIENTS Trunk Stable Everyone run tests before commit No branches, really Trunk may get released any moment. If you commit now, users will see it really soon.      => Test your code, really good Use feature flags (but only if you must) Forward and backward compatibility
  • 34. INGREDIENTS Automated Tests We have about 2000 test cases They run in < 4 minutes We use TeamCity We regularly test production Desired state: No manual QA whatsoever.
  • 35. INGREDIENTS Infrastructure Automation &quot; Infrastructure as code &quot; Using kickstart script to install OS and Chef agent. All infrastructure is deployed by Chef . All apps are deployed by Glu All scripts, and chef cookbooks, glu configs are SVNed. Very easy to deploy large number of machines.  
  • 37.  
  • 38.  
  • 39.  
  • 40. INGREDIENTS Servicization At outbrain we have ~ 25 services Each service is deployed at > 1 server If there's damage, it's contained It's easy to make small changes If there's an error it's easy to find it If rollback is needed it's easier Everything is either proxies (HAProxy) or queued (AMQ) Challenge: It's sometimes hard to find the right balance: number of services that need maintanance complexity performance api conformance
  • 41. INGREDIENTS The Immune System Coding Review Testing Monitoring We use Nagios for the vitals Regularly check servers via instrumentation KeyNote Test Production (selenium,APT) Instrumentation Self-Test Performance  Monitoring KPIs PVs,  3 different CTRs, clicks, revenue, RPM etc...
  • 42. INGREDIENTS The Immune System The line of defense will always be broken => Multiple lines of defense
  • 43. INGREDIENTS Visibilty Everyone monitor the services  When there's a deployment, you see it on the graph
  • 45. INGREDIENTS Visibilty svn changelog glu changelog glu audit log
  • 46. INGREDIENTS Learn Fast, Adapt Fast 5 Ys
  • 47. ARSENAL Outbrain's arsenal Architecture: Java in most parts, Spring for the most and Struts2 SOA (dah...) with REST Message queues (ActiveMQ) Service multiplicity with HAProxy Data stored in: MySQL, Cassandra, HDFS, NFS   Caching: Memcached
  • 48. ARSENAL Outbrain's arsenal Testing: JUnit TeamCity Selenium Staging environment (for high risk deployments)
  • 49. ARSENAL Outbrain's arsenal Deployment: Kickstart Chef Glu TeamCity In-house Deployment Manager RPM + YUM
  • 50. ARSENAL Outbrain's arsenal Monitoring: Nagios &quot;Testing production&quot; every 10 minutes.  Keynote
  • 51. ARSENAL Outbrain's arsenal Communications: Yammer
  • 52. Fun Numbers 5-50 production changes a day!!! More then 2000 code tests running in less then 4 minutes. More then 600 production services tests runs every 10 minutes. It takes ~30 minutes from code complete to ~100 machines deployed.
  • 53. References Why Continuous Deployment   / Eric Ries Continuous Deployment at outbrain   / Ran Tavory   Deployment Infrastructure for Continuous Deployment / WealthFront Continuous Deployment presentation / Eishay Smith Quantum of Deployment   / Etsy Chrome Release Cycle   / Anthony Laforge