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
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
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
24. @PavelChunyayev
Why would you need staging?
Short-lived immutable infrastructure
Zero downtime deployments
Good monitoring
Possibility to quickly rollback
Continuous Delivery
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. @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. @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
32. @PavelChunyayev
Why bother staging microservices?
If deployments are independent
Failures are identified quickly
And rollback are simple and automated
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