Deploying apps
Statistics and Controls
Dark Launches and Feature Flags
Dark Launches means taht we deploy a code with some features hidden by code switchers.
That's possible with Feature Flags inside code, like an ACL or simple switches with ON or OFF positions.
Continuous Deployment
The art of develop continuously and deploying as soon as possible, when a feature finishes for example, and its developer deploys in the moment.
The goal is to minimize the amount of work needed between finishing an idea and making it real
But there are several thing to have in mind when deciding to do it:
Continuous integration
Build-on-commit
Test-on-commit
Good test coverage
A staging environment that reflects production
Managed configuration
Single-button deployment
Failure plan
Rollback plan
Feature flagging
Track, trend, monitor
Excellent source code management
High levels of trust
Realistic risk assessment and tolerance
Excellent code review
If there are only two things you remember, would like them to be these:
You should build the capability for continuous deployment, even if you never intend to do continuous deployment.
As with everything else in life, the only true way to get good at deployment is to deploy a lot.
References