case study continuous deployment at outbrain
play

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


  1. Case Study - Continuous Deployment at Outbrain Itai Hochman VP Engineering at Outbrain �

  2. Continuous Deployment • Outbrain – Few Facts • From Releases to CD • Culture • Architecture • Tools

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

  4. Widget Customization …

  5. 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.

  6. What is continuous deployment? Work procedures and culture that allow releasing code to production in very short cycles multiple times a day

  7. What was so bad before ?

  8. Conclusion Reduce Risk: Deploy your code Often

  9. Conclusion Release when you are Ready

  10. How to do it? • Culture • Architecture • Tools

  11. HOW

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

  13. Continuous Deployment -Culture Developers own their tasks

  14. Continuous Deployment -Culture Definition of Done: Feature was released Monitoring shows Value

  15. Continuous Deployment - Culture Focus on Production Environment

  16. Continuous Deployment - Culture • No Code branches • Frequent commits • Unit testing coverage • Fast • Stable Trunk

  17. Continuous Deployment Themes Deployment - engineering decision Release - marketing decision

  18. Continuous Deployment -Culture Feature Flags

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

  20. Immune System Dev-Ops Cooperation

  21. Continuous Deployment -Culture Learn: Take-Ins (Post Mortem)

  22. Continuous Deployment Architecture

  23. Continuous Deployment Split the backend to Stand Alone Deployable Services

  24. Continuous Deployment Build to Tolerate Failures

  25. Continuous Deployment Tools

  26. Tools Code review

  27. Tools Continuous Integration Server

  28. Tools Regerssion Testing

  29. Tools Monitoring

  30. Tools Log collection and Analysis

  31. Tools Deployer – Based on Glu

  32. Tools Communication - Yammer

  33. Tools Service monitoring

  34. 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.

Recommend


More recommend