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.
-
Article
A developer's primer on Jenkins
Get started with the well-known Jenkins CI/CD pipeline tool, including the languages that it supports, integrations with other dev platforms and, finally, how to install it. Read Now
-
Article
The ops approach to Jenkins
Operations teams primarily worry about staging, prerelease and release processes, and here, Jenkins and other CI/CD tools have a role to play. Jenkins can also automate typical application support functions in production. Read Now
-
Article
Jenkins wrapped in enterprise-level features
CloudBees infuses open source Jenkins with high availability and scalability, but the success of CloudBees' container and Kubernetes integration is still an open question, according to some users. Read Now
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.
-
Article
No downtime, no problem
Whether you prefer an incremental approach to release deployment or instant gratification, there's a methodology that meets your needs. Get to know the pros and cons of phased and cutover approaches. Read Now
-
Article
Use AWS for a blue/green IaaS setup
With flexible resources and an array of services, public cloud makes for an accommodating host of advanced production deployment techniques. Follow along to build a blue/green cloud deployment, based on AWS' CI/CD and management tool set. Read Now