to launch products • Hard to set a high bar MOVING FAST IS GOOD... • Innovate • Address flaws quickly • Better productivity • Better Code Health ...BUT BREAKING THINGS ISN’T
Deep partnership and collaboration with product teams ◦ EngProd teams (typically 3+) embedded within product teams • Horizontal Infra Teams - ~15% ◦ Dedicated teams focused on horizontal solutions ◦ Centralized within product-area EngProd organizations
(Git equivalent: branch). BUILD/TEST Run blaze locally. The builds, unit tests, outputs and test results run remotely. CONTINUOUS INTEGRATION Remote execution service that runs hermetic builds/tests Local Development Workflow
Anchor with actionable metrics • Decouple feature release from binary release. • A release should be a train going out the door. • Rollback first and make the fix in a subsequent release. Predictable Releases
on worst • Assessed on 5pt scale • Assessed daily & automatically • Based on trailing 90d Product Health Drive Test Health Avoid Performance Regressions Ensure high Quality Releases Anchor with actionable metrics
Anchor with actionable metrics Priority Response SLO (initial & updates) Closure SLO P0 15-30 minutes 1 day (ASAP) to resolve or mitigate & downgrade P1 1 day 7 days P2 7 days (Initial Response); 90 days (updates) Best Effort P3 180 days Best Effort P4 365 days Best Effort Quality
~2016. Fully replaced Jenkins - Jan 2018 • Test k8s on k8s! ◦ Easy to maintain/deploy ◦ Job config is basically a podspec ◦ Respond to github webhooks, rather than a munger