Case Study - Continuous Deployment at Outbrain Itai Hochman VP - - PowerPoint PPT Presentation

case study continuous deployment at outbrain
SMART_READER_LITE
LIVE PREVIEW

Case Study - Continuous Deployment at Outbrain Itai Hochman VP - - PowerPoint PPT Presentation

Case Study - Continuous Deployment at Outbrain Itai Hochman VP Engineering at Outbrain Continuous Deployment Outbrain Few Facts From Releases to CD Culture Architecture Tools Outbrain enables readers to discover


slide-1
SLIDE 1

Case Study - Continuous Deployment at Outbrain

Itai Hochman VP Engineering at Outbrain

slide-2
SLIDE 2

Continuous Deployment

  • Outbrain – Few Facts
  • From Releases to CD
  • Culture
  • Architecture
  • Tools
slide-3
SLIDE 3

Outbrain enables readers to discover the most interesting, relevant and timely links to stories (paid and organic)

slide-4
SLIDE 4
slide-5
SLIDE 5

Widget Customization…

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

What is continuous deployment?

Work procedures and culture that allow releasing code to production in very short cycles multiple times a day

slide-8
SLIDE 8

What was so bad before ?

slide-9
SLIDE 9

Conclusion

Reduce Risk: Deploy your code Often

slide-10
SLIDE 10

Conclusion

Release when you are Ready

slide-11
SLIDE 11

How to do it?

  • Culture
  • Architecture
  • Tools
slide-12
SLIDE 12

HOW

slide-13
SLIDE 13

How does it work? Continuously Prioritized Tasks Queues Minimize Work In Progress (WIP)

slide-14
SLIDE 14

Continuous Deployment -Culture

Developers own their tasks

slide-15
SLIDE 15

Continuous Deployment -Culture Definition of Done: Feature was released

Monitoring shows Value

slide-16
SLIDE 16

Continuous Deployment - Culture

Focus on Production Environment

slide-17
SLIDE 17

Continuous Deployment - Culture

  • No Code branches
  • Frequent commits
  • Unit testing coverage
  • Fast
  • Stable Trunk
slide-18
SLIDE 18

Continuous Deployment Themes Deployment - engineering decision Release - marketing decision

slide-19
SLIDE 19

Continuous Deployment -Culture

Feature Flags

slide-20
SLIDE 20

Immune System Unit Testing Integration Testing Regression Testing Self Test Monitoring System Alerting

slide-21
SLIDE 21

Immune System

Dev-Ops Cooperation

slide-22
SLIDE 22

Continuous Deployment -Culture Learn:

Take-Ins (Post Mortem)

slide-23
SLIDE 23

Continuous Deployment

Architecture

slide-24
SLIDE 24

Continuous Deployment Split the backend to Stand Alone Deployable

Services

slide-25
SLIDE 25

Continuous Deployment

Build to Tolerate Failures

slide-26
SLIDE 26

Continuous Deployment

Tools

slide-27
SLIDE 27

Tools

Code review

slide-28
SLIDE 28

Tools Continuous Integration Server

slide-29
SLIDE 29

Tools Regerssion Testing

slide-30
SLIDE 30

Tools Monitoring

slide-31
SLIDE 31

Tools Log collection and Analysis

slide-32
SLIDE 32

Tools Deployer – Based on Glu

slide-33
SLIDE 33

Tools Communication - Yammer

slide-34
SLIDE 34

Tools Service monitoring

slide-35
SLIDE 35

Fun Numbers

l 5-50 production changes a day!!! l More then 5000 unit tests running in

less then 5 minutes.

l More then 8000 regression tests

running every hour.

l It takes ~15 minutes from code

complete to ~50 machines deployed.