Why use continuous delivery?
Continuous delivery ensures that every code change is ready to be deployed to production, adding significant safety and speed to DevOps organizations and shortening the time to get new features into the hands of users. Similarly, continuous integration makes it possible for multiple devs to work together on the same project by keeping the main code branch up-to-date and minimizing code conflicts. However, continuous integration has more limitations than continuous delivery. Check out our post about continuous delivery vs continuous integration to learn more.
What are the benefits of continuous delivery?
- Built in functionality — this leads to being able to quickly create more robust and complex pipelines.
- Reusability — with our microservice architecture where most services are usually deployed in the same fashion, pipeline-templates allow us to propagate the same pipeline workflow amongst all of our Spinnaker applications.
- Visibility — the Spinnaker UI offers a lot of information about a pipeline execution as well as its deployed Kubernetes infrastructure.
- Pipeline workflow — Spinnaker makes it a breeze to have stages in a pipeline rely on other stages, run in parallel, or be enabled/disabled upon certain conditionals, to name a few.
- Lots of provider plugins — While we are only taking advantage of the Kubernetes provider, Spinnaker has a plethora of other provider plugins to run deployments to a multitude of platforms (AWS, GCP, Azure, Oracle, etc.)
What are the key elements of continuous delivery?
The goal of continuous delivery is the ability to rapidly introduce new features into the hands of users in a sustainable way. To that end, there are a few common elements that make up continuous delivery and its contribution to the SDLC.
- Repeatable Reliable Processes — The ability to take manual lists of tasks and automate them with software tools and scripts for repeatability
- Version Control — A must-have for any serious project. Version control enables a team of developers to efficiently collaborate on a shared codebase. Git is the most widely used version control system and a great companion for CD.
- Build in quality — In CD, quality is not an afterthought that is kicked to the QA team. Quality is baked into every step of the release pipeline.
- Do the hardest parts first — Painful, time-consuming, or error-prone tasks compound over time. Painful tasks should be addressed as soon as possible to prevent a compounding loss of energy.
- Everyone is responsible — The entire organization should be focused and incentivized to ensure the end-user deliverable is as high quality as possible. Product Managers should plan with attention to deployment and quality assurance. The Security team should be actively involved in the release process.
See how Armory makes continuous delivery solutions possible
Spinnaker is the world’s most powerful continuous delivery platform, developed and open-sourced by Netflix and Google, and battle-tested in production by hundreds of the world’s leading enterprises. Armory can help you scale Spinnaker for enterprise websites.
Armory brings the power of Spinnaker to your organization, along with mission-critical feature extensions, enterprise-grade stability, and 24/7 expert support from the leading independent member of the open-source community. Learn how scalable continuous delivery solutions can help your company and sign up for a free demo.
The Armory platform has been a huge upgrade over our existing tooling in helping us quickly roll out innovative solutions with confidence.
– Ashwani Wason, VP of Engineering & Operations at OpenGov
With Armory’s help, we’ve scaled up Spinnaker to support daily deployments to 30+ Kubernetes clusters and multiple environments.
– Paul Selden, Principal Engineer at OpenX
Gut feeling? We went from a couple of deploy failures a week before to now maybe once a month after adopting Armory Continuous Deployment Managed.
– Ian Delahorne, Staff SRE, Patreon
With Armory, we can have a streamlined deployment pipeline that is reliable and consistent. Armory has really helped our developers, because being able to reliably deploy means that they can release more often, with confidence.
– Edith Harbaugh, CEO, LaunchDarkly
Armory’s managed offering has allowed us to focus on improving our applications… instead of having to spend a ton of time on tweaking the build pipeline, getting it just right, debugging, trying to figure out why it’s not right with the Build Team.
— Trey Tacon, Dir. of Engineering at TeamSnap
We’re really excited about how easy Armory CD-as-a-Service is to set up and use. While we do use Spinnaker for most of our heavier-weight projects, CD-as-a-Service is lightweight enough—while still being is hugely impactful—for us to use it in use cases where Spinnaker would just be total overkill.
– Vivek Balaguru, Staff DevOps Engineer, Earnin
Armory became a true partner for us in the adoption of Spinnaker. From installing and maximizing Spinnaker to establishing an infrastructure, engineering organization, and DevOps team culture.
– Haroon Rasheed, Engineering Manager, Glovo
The main benefit we’ve realized in adopting Armory CD-as-a-Service is that we have converged on a simpler model of CI/CD which enables us to do more, so it’s easier, it’s simpler, and we have more functionality. Simply put, it raises the bar for quality across our engineering org as a whole.
– Christopher Baldwin, Chief Architect, Upwave
Our first CD-as-a-Service project automated a cumbersome and mostly-manual homegrown blue-green deployment. CD-as-a-Service easily replaced that process with streamlined and extensible deployment automation. Our new model handles things like deployment approvals across multiple environments.
– Christopher Baldwin, Chief Architect, Upwave