This year I could not attend Velocity so I decided to catch up via http://velocityconference.blip.tv. Here are a few notes on the sessions I have been able to see so far.
John Allspaw (Ops) & Paul Hammond (Dev): 10+ Deploys per day: Dev/Ops coöperation at Flickr
This is a topic dear to my heart: changing the culture shared (or not) by dev and ops.
- Contrary to popular wisdom, ops’ real mission is not to keep the service stable per se, but to enable the business.
- Business requires change
- Build the tools and the culture that allow repeated change with minimal uncertainty.
- Automate your infrastructure
- Use one shared source control, between devs and ops so that everyone on the team knows where to look
- Reduce all manual steps down to one, that of deciding to build and deploy
- Small frequent changes better than fewer large changes
- Use “feature flags”, i.e., use code to enable features, rather than branches
- Ship TRUNK so that everyone knows what gets released
- Feature flags allow for private betas, reduces uncertainty
- Dark launches: enable the feature to exercise the data path but don’t present the results to the end-user
- Metrics, metrics, metrics
- Add context to it, such as the last time something was deployed
- We use IRC and IM bots to bring system updates into the conversation between dev and ops in real time, then push the logs into a search engine
- Develop respect and trust between devs and ops
- Have a healthy attitude toward failure (don’t blame, fix the problem first)
