250+ Developers, SREs, DevOps, Architects and Product Managers have spoken: they struggle with releasing microservices into production. It remains a costly, manual, error-prone and nail-biting task for software teams. In our report we dive into challenges, trends and opportunities for improvement when it comes to releasing and validating software in production.
The survey spotlights the stark challenges SMBs and enterprises are facing as they pursue their cloud, Kubernetes and microservices journey. The need for release automation increases as systems become more complex (dependencies, highly distributed, different release frequencies) and the pressure from the business to release software faster (and more frequently) is higher than ever.
Kubernetes and Microservices Have Become Mainstream
72% of participants say that they are using Kubernetes in production today and 16% says that they are evaluating or planning to use Kubernetes. Microservices are even more popular. 81% of participants say that they are using microservices in production today and 14% says they have plans to use microservices.
Majority Is Still Using High-Risk Release Strategies
Releasing in production is the process of taking running code and making it “live” and accessible to users, in a predictable and repeatable way. It's about paying particular attention to ensure that releasing a new version doesn’t result in a worse experience for your users. 86% of participants are still using high-risk release strategies such as rolling update, blue-green and big-bang releases. There is a strong lack of canary releasing capabilities with only 9% of participants using this low-risk release strategy. Canary releasing limits the number of users exposed to a bad release (known as limiting the blast radius) by gradually rolling out a new version of a service to a small, representative subgroup of real user traffic before rolling it out to the entire user base.
Release Validation and Rollbacks Remain A Manual, Time-Consuming Task
Release validation is the process of making sure that released software that’s running in production is meeting the requirements in terms of performance, quality, customer experience and business KPIs. On average it takes 2.2 hours with 4 people engaged during the release validation process.
Rollbacks are a critical part of your release strategy. When implemented right, it creates a safety net to protect your software teams and minimize the impact on the customer experience when issues are starting to occur. 53% of rollbacks are done manually with an average time to rollback of 45 minutes.
Dependency Management Is The Biggest Challenge When It Comes To Releasing Microservices
The report revealed that dependency management is the biggest challenge when it comes to releasing microservices in production. Twenty percent of respondents struggle with dependency management, 14% struggle with internal processes and communication, and 10% find validating changing and testing microservices a challenge.
The State of Cloud-Native Release Orchestration 2021
This blog only scratches the surface of The State of Cloud-Native Release Orchestration, which dives into further topics including release metrics, business drivers to go Cloud-Native, most used monitoring tools and where companies are focussing on when it comes to improvements across the software delivery process in 2021. Download the full research report for free and share with interested colleagues.