Essential Guide

Browse Sections

Editor's note

IT operations professionals, full-stack developers and multifaceted DevOps team members should adopt modern techniques to make production deployment fast, safe and reversible.

DevOps teams work in small chunks of code and release to production when independent pieces are ready, unlike Waterfall processes where multiple releases roll up into one major production deployment that's tightly governed and planned well in advance.

DevOps dictates that code be production-ready, meaning that it is thoroughly tested and vetted by developers and/or testers and any problems in production are the code owner's problems, not an issue for operations alone.

If code is already safe, why should anyone worry about the ability to roll back a production deployment? Even with the best automated and human tests, unexpected dependency issues and overlooked errors in new code happen. But there are other reasons to ensure changes are reversible: Many fast-moving development teams test out new features on users and rely on real-time response to dictate product direction. An update can function perfectly but annoy its target audience. For example, if a feature release for online purchasing proves to increase page abandonment at checkout, then the product owner could roll back the feature and take development in a different direction.

1DevOps pipeline plumbing and parts

To enable rapid, consistent and version-controlled code deployments, DevOps organizations turn to continuous software development. Along the way, they build a toolchain that puts code through its paces and automates steps to ensure only production-ready releases make it to the deployment step.

2Jenkins, more Jenkins and not Jenkins

The connective plumbing of a CI/CD pipeline comes in the form of Jenkins, commercial tools based on it and competing technologies. Vendors offer products for every stop in the pipeline, and it's worth taking the time to examine the CI/CD tool options in detail.

3Continuous deployment and testing in prod

The production IT environment is sacrosanct for many organizations, and for good reason. Any disruption or unexpected event in production is out there for all to see. But there are gung ho groups that deploy directly to production, and even test there.

4Get serious about colorful production deployments

Follow the examples and expert advice here to set up your own blue/green or canary yellow deployment on cloud or on-premises resources.