changing tires on a moving car a journey to zero downtime
play

Changing Tires on a Moving Car: A Journey to - PDF document

AT7 Agile/ DevOps Transformations Thursday, November 7th, 2019 10:00 AM Changing Tires on a Moving Car: A Journey to Zero-Downtime


  1. ¡ ¡ AT7 ¡ Agile/ ¡DevOps ¡Transformations ¡ Thursday, ¡November ¡7th, ¡2019 ¡10:00 ¡AM ¡ ¡ ¡ ¡ ¡ Changing ¡Tires ¡on ¡a ¡Moving ¡Car: ¡A ¡ Journey ¡to ¡Zero-­‑Downtime ¡ Deployments ¡ ¡ Presented ¡by: ¡ ¡ ¡ ¡ Pierre ¡Vincent ¡ ¡ Poppulo ¡ ¡ Brought ¡to ¡you ¡by: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ 888 -­‑-­‑-­‑ 268 -­‑-­‑-­‑ 8770 ¡ ·√·√ ¡904 -­‑-­‑-­‑ 278 -­‑-­‑-­‑ 0524 ¡-­‑ ¡info@techwell.com ¡ ¡ https://agiledevopseast.techwell.com/ ¡

  2. ¡ ¡ ¡ ¡ ¡ ¡ Pierre ¡Vincent ¡ ¡ Originally ¡from ¡a ¡software ¡development ¡background, ¡the ¡rise ¡of ¡DevOps ¡drove ¡ Pierre ¡Vincent ¡to ¡become ¡more ¡involved ¡in ¡how ¡systems ¡actually ¡run ¡in ¡the ¡real ¡ world ¡and ¡how ¡he ¡could ¡make ¡a ¡difference ¡helping ¡others ¡care ¡about ¡the ¡ applications ¡they ¡release ¡to ¡production. ¡Pierre ¡is ¡currently ¡an ¡infrastructure ¡and ¡ reliability ¡manager ¡at ¡Poppulo, ¡where ¡he's ¡responsible ¡for ¡the ¡continuous ¡delivery ¡ platform ¡and ¡the ¡operations ¡of ¡the ¡hybrid ¡on-­‑premises/cloud ¡infrastructure. ¡He ¡has ¡ given ¡talks ¡at ¡several ¡conferences ¡(O’Reilly ¡Velocity, ¡QCon ¡London) ¡in ¡the ¡space ¡of ¡ distributed ¡systems, ¡DevOps, ¡and ¡continuous ¡delivery. ¡ ¡

  3. November 7th, 2019 – Orlando, FL Changing tyres on a moving car Our journey to zero-downtime deployments @PierreVincent pvincent.io @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  4. “ There has been a massive earthquake in New Zealand and I need to use Poppulo for regular updates. Please can you advise when it will be back online. ” – Poppulo customer @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car Pierre Vincent Infra. & Reliability Manager @PierreVincent pvincent.io @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  5. Deploying every 3 to 6 Deploying every 4 weeks Core months Monolith 4 hours downtime 2 hours downtime (est. 2007) On Sunday at 5PM On Sunday at 8PM 2009 2015 Microservices Deploying 10+ times/day (est. 2015) Zero downtime Deloy on-demand, anytime @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car High-performing technology organisations deploy 46x more frequently than low-performing ones Source: Accelerate - Dr. Nicole Forsgren @PierreVincent

  6. How can we hope to achieve Continuous Delivery, when more frequent deploys means more downtime? @PierreVincent The “zero-downtime” elephant in the room... Why are we so afraid to try? @PierreVincent

  7. Mapping the deployment process, and its impact on users @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car Deployment steps User impact Enable maintenance mode Limited functionality Wait for queued jobs to complete 5-30 mins Shut down services Run database migrations 15-60 mins Upgrade services Downtime 15 mins Start services Wait for services startup Disable maintenance mode @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  8. Keeping the application up and running while applying database schema migration @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car Online database migration Ensure backward Decouple schema version compatibility with Limit impact to live traffic from application version non-breaking changes only Application [N] must work No destructive operations to Detect changes likely to cause with schema [N+1] tables/columns in use locking problems Use expand/contract to split breaking changes @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  9. Expand/Contract example Create Write to Migrate Read Remove new both historical from new old column columns records column column Release N+1 N+2 N+3 @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car More on schema migrations Baron Schwartz - DevOps for the database Chapter: Loosening the Application/Database coupling www.vividcortex.com/resources/devops-for-the-database-ebook Michiel Rook - Database Schema Migrations with Zero Downtime speakerdeck.com/mrook/database-schema-migrations-with-zero-downtim e-continuous-lifecycle-london-2019 @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  10. Keeping the application up and running with rolling-upgrades @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car Full upgrade Rolling upgrade 1 2 1 2 Up [N] Up [N] Up [N] Feature continuously available Drain Drain Feature downtime Drain Stop Stop Stop Up [N] Upgrade Upgrade Upgrade Start Start Start Up [N+1] Up [N+1] Drain Stop Up [N+1] Upgrade Start Up [N+1] @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  11. Focusing on operability to confidently run upgrades while serving live traffic @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car Entire deployment pipeline in source control ✓ Consistent and repeatable deployments + ✓ Any change is code-reviewed ✓ No more manual operations @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  12. Observable deployments ✓ Core healthchecks ✓ Rolling-upgrade Progress ✓ Synthetic journey monitoring ✓ Error rates & queues saturation @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car Deploying every 3 to 6 Deploying every 4 weeks Deploying anytime months 4 hours downtime 2 hours downtime Zero downtime On Sunday at 8PM On Sunday at 8PM During working hours 2009 2015 2019 @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

  13. Zero-downtime deployments don’t mean everything stays up or that everything is immediately running the latest version. They simply mean users don’t notice a thing while all this is happening. @PierreVincent Thank you! pvincent.io @PierreVincent Agile+DevOps East 2019 Changing tyres on a moving car

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend