In our quest to get to production faster, we've tackled culture, architecture and infrastructure: organizing ourselves in cross-functional DevOps teams, embracing microservice architectures, and deploying to the various clouds out there. Along the way we’ve learned some best practices about how to deploy software at velocity — things like automated releases, immutable infrastructure, gradual rollouts and fast rollbacks.