Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Prochain SlideShare
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

1

Partager

Télécharger pour lire hors ligne

#nostaging - Software Circus - Amsterdam, 2-9-2016

Télécharger pour lire hors ligne

In the fasted-paced modern world we can’t afford having a staging anymore. It slows things down and gives a fake feeling of safeness.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir

#nostaging - Software Circus - Amsterdam, 2-9-2016

  1. 1. @PavelChunyayev #nostaging Get rid of the false feeling of safety that staging environment gives by Pavel Chunyayev, 2-9-2016 Amsterdam, Pakhuis West Software Circus
  2. 2. @PavelChunyayev Inspiration for the talk • Dave Nolan - @davenolan • Edith Harbaugh - @edith_h • Myself :) • https://speakerdeck.com/davenolan/number-nostaging • https://vimeo.com/channels/pipelineconf/162633462 • http://blog.launchdarkly.com/staging-servers-are-dead-long-live-a-staging- server/ • http://readwrite.com/2016/01/22/staging-servers/ • http://slideshare.net/PavelChunyayev/you-dont-need-dtap-backbase- implementation-amsterdam-17122015
  3. 3. @PavelChunyayev The need for Staging environment
  4. 4. @PavelChunyayev It all started with pushing code directly to production But it was painful, unstable, broke everyone’s work, created instability
  5. 5. @PavelChunyayev Environment before production to ensure quality
  6. 6. @PavelChunyayev Environment before production to ensure quality - Staging
  7. 7. @PavelChunyayev More environments mapped into functions
  8. 8. @PavelChunyayev DTAP street
  9. 9. @PavelChunyayev Increase quality at the expense of time Fix must go through all the environments Or be pushed to production directly Data specific bugs are hard to reproduce before production
  10. 10. @PavelChunyayev Waterfall Test things before production Gate changed to production Aggregate changes to production Approve delivery to production
  11. 11. @PavelChunyayev Waterfall deployments Deploy to production at 3 in the morning on Saturday Prepare for weeks, execute for hours If something goes wrong, rollback
  12. 12. @PavelChunyayev Get some sleep in another life
  13. 13. @PavelChunyayev Main problem: long living environments Configuration drift Dirty environments Testing is complicated
  14. 14. @PavelChunyayev Immutable infrastructure to the rescue! 1. Create environment just in time for the purpose 2. Use it 3. Dispose it when no longer needed
  15. 15. @PavelChunyayev Don’t give names to servers
  16. 16. @PavelChunyayev Done?
  17. 17. @PavelChunyayev Immutable DTAP is not enough
  18. 18. @PavelChunyayev You can’t get clone of production 3rd party integrations – should they be real or fake? Emails and notifications to users Instance types and number
  19. 19. @PavelChunyayev You can’t get clone of production No real users Fake data
  20. 20. @PavelChunyayev Testing on staging provides fake confidence
  21. 21. @PavelChunyayev Testing in production
  22. 22. @PavelChunyayev Testing in production??? Isn’t it where everyone’s heading? What is needed to achieve this?
  23. 23. @PavelChunyayev New style deployments Short-lived immutable infrastructure Zero downtime deployments Good monitoring Possibility to quickly rollback Continuous Delivery
  24. 24. @PavelChunyayev Why would you need staging? Short-lived immutable infrastructure Zero downtime deployments Good monitoring Possibility to quickly rollback Continuous Delivery
  25. 25. @PavelChunyayev Approaches • Feature flags • API Versioning • Circuit breakers • Dark launches • Incremental changes for schema migrations • Branch by abstraction • Preference for backwards-compatible changes
  26. 26. @PavelChunyayev Why would you test on staging? You are testing synthetic scenarios Third of all the features are not required by users The rest are used differently than product manager expects
  27. 27. @PavelChunyayev Why would you test on staging? We need to move as fast as possible from developer’s laptop to production to evaluate if feature is really needed
  28. 28. @PavelChunyayev Perfomance testing on Staging? Not needed for every feature A lot of new features receive no load because users don’t need them
  29. 29. @PavelChunyayev Perfomance testing Provision ephemeral server to run some load tests Better do a rolling release and test with a real load, and add synthetic load on top
  30. 30. @PavelChunyayev Staging microservices is painful You don’t have the system You have constantly changing system
  31. 31. @PavelChunyayev When to stage microservices? At night? Every hour? At every change?
  32. 32. @PavelChunyayev Why bother staging microservices? If deployments are independent Failures are identified quickly And rollback are simple and automated
  33. 33. @PavelChunyayev #nostaging in two easy steps:
  34. 34. @PavelChunyayev Remove static DTAP Automate environments provisioning and deployment So you can create any number of environments at any time Establish continuous delivery Heavily invest in automated testing Build quality in
  35. 35. @PavelChunyayev Destroy Staging environment Invest in monitoring, failure detection and recovery Push small incremental pieces to production
  36. 36. @PavelChunyayev Staging gives you a false sense of security that you don’t really have
  • ssuser46266a

    Sep. 7, 2016

In the fasted-paced modern world we can’t afford having a staging anymore. It slows things down and gives a fake feeling of safeness.

Vues

Nombre de vues

753

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

14

Actions

Téléchargements

4

Partages

0

Commentaires

0

Mentions J'aime

1

×