Humans love to go fast. That thrill can extend to software code with the pairing of continuous integration/continuous delivery and DevOps.
Continuous integration (CI), continuous delivery (CD) and continuous deployment all focus on getting newly created code onto production systems as quickly as possible -- without breaking anything. The terms can be segmented by steps:
- CI facilitates and automates code creation, verification and management before it is an executable product.
- CD brings executable code through automated and manual tests and release steps to prepare it for production.
- Continuous deployment takes code through testing and onto production systems.
DevOps doesn't perform any of these steps, exactly. Instead, the methodology guides developers, testers and IT operations teams to create code that's easy to test, builds that are easy to deploy and production IT systems that are easy to manage. The CI/CD process gives DevOps the tools to accomplish these goals.
1Speak the language-
Get a continuing education on continuous topics
New to continuous delivery and DevOps? Start with the terminology that full-stack developers, IT automation specialists, continuous testers and their teammates use. Once you understand these terms, you'll have a solid foundation to build continuous processes upon.
The tools and principles of CD
CD isn't easy. New adopters should understand the principles of continuous delivery and DevOps culture and the benefits of a CD pipeline. If you already have a strategic mindset and are ready for the next step, review CI/CD tool options. Compare your CD maturity to the five levels described at the end of this section to decide where to go next.
There are nearly as many CI/CD pipeline tool combinations as there are DevOps teams. While the perfect pipeline looks different depending on who you are and what you're building, these tips help create a pipeline plan and source viable tech for it. Continue Reading
Move the needle with continuous deployment
Continuous delivery and DevOps are enough to give most software product teams the speed and production readiness they need. But for those advanced teams that crave automation and top-speed releases, the next step is continuous deployment and related measures, such as continuous security and testing.
Continuous deployment puts the production-ready DevOps mindset to the test, and it isn't the right speed for many teams. Evaluate what teams or products in the organization would benefit from automatic deployment and where to draw the change control line. Continue Reading
Another way to bolster continuous delivery and DevOps is via programmable infrastructure. Sys admins become infrastructure developers, managing configurations as code, with the same production-ready mindset and tight version control applied to software products. Continue Reading
The secret to deployable code is smart testing -- not one exhaustive test before production, but rather continuous testing, applied at various stages of development and release. The DevOps mindset applies to testers as well, in terms of fast feedback, group responsibility for quality and more. Continue Reading
4Containers deploy anywhere-
Supporting technology spotlight: Containers
For DevOps to work, developers, testers and operations managers all have to see the same thing with the code. DevOps aims to destroy the works-on-my-machine syndrome that throws up walls between these steps in software delivery.
Continuous delivery and deployment pipelines can easily adjust to accommodate containers, and the technology might even simplify the CI/CD toolchain. Continue Reading
Ready to get started? Head to the home lab. Do some practice laps with infrastructure as code, containers, automated configurations, version control and more. Continue Reading