The CNCF regularly surveys the marketplace to understand adoption of cloud-native technologies. The results of the most recent survey shows some interesting adoption rates, indicating that cloud-native technologies are becoming mainstream.
Why use cloud-native?
Cloud-native software is simplifying the building of complex applications, while at the same time enabling organizations to build and deploy these applications faster.
When asked in the survey, respondents indicated that faster deployment time is the biggest benefit of using cloud-native projects in production. Improved scalability, cloud portability and improved resilience followed. Interestingly, cost ranked lowest.
So it really does seem there’s two major sides of cloud-native software:
- Organizations gain a competitive edge by being able to release quickly and respond to changing market conditions quickly
- Engineers and operators can reduce complexity of building and running software in production, streamlining development and operational processes.
Release cycles are shortening
An increase in CI/CD tools (like Jenkins X), as well an increase in their reliability is driving much of the simplified processes and faster releases, removing manual release cycles and accelerating the cycle times from months to weeks or days. This could also indicate multidisciplinary teams are learning to cooperate better and more efficiently.
27% of respondents indicated they release daily, up from 15% a year ago. Weekly release cycles increased from 20% to 28%. Across the board, 41% of releases are at least partly automated; completely manual releases dropped from 27% to 14%. This is a major indication that release automation is maturing, with many using tools like LaunchDarkly or VAMP.io.
Containers are the norm, Kubernetes popular
One major contributor on the technical plane is the adoption of container technologies in lieu of Virtual Machines or even physical machines. Containers are more lightweight, offer deconstructed storage layers to keep Operating System, libraries, middleware, dependencies, application binaries, data and configuration apart. No wonder that their adoption is growing to the vast majority of enterprises. Containers have become the norm, reaching 84% use in production this year. 78% of respondents are using Kubernetes in production to manage those containers, up from 58% last year.
The wide adoption of containers and Kubernetes is showing the growth of projects op top of Kubernetes to manage serverless, service mesh and storage.
Cloud services are the most popular Kubernetes management plane
The most popular ways to manage containers is using cloud services. EKS, GKE and AKS are firmly in the top-5. In local container management, for instance on a developer’s desktop, Docker Desktop still reigns supreme.
Service Meshes are trailing behind
The Service Mesh pattern has been around for a while, but only 18% of respondents are using a service mesh in production. 47% are evaluating their production use.
Surprisingly, Consul by HashiCorp, is the most-used Service Mesh technology. This is one of the very few categories in CNCF’s survey where a CNCF project is not the most popular.
In contract, Istio and Linkerd are rising in popularity, given their high number of evaluations; implicitly indicating an increase in production use in the future.
Serverless is popular. Nearly half (41%) of respondents are using serverless technologies. The vast majority (80%) of them use a cloud platform; the most-used service is AWS Lambda (42% of all serverless users). The most popular roll-your-own option is Knative, with about 7% of total usage.
The survey shows that cloud-native is becoming, but isn’t quite, mainstream. Organizations are seeing the benefits of using cloud-native software, microservices architecture and DevOps methodologies, and are hard at work to make the change happen.
In the next few years, we’ll see mass-market adoption across many different industries, with cloud-native saturation reaching about 80%. Then, as with all new things, companies devoured the low hanging fruit, and the hardest 20% remain. It’s this same 20% that banks deal with in their legacy mainframes, or supply chain companies with their SAP infrastructure.
But overall, we see that IT, and specifically cloud-native application development, is become more frictionless. Delivering value becomes easier and takes less time. Complexities are removed (at a cost of either money or flexibility). This is a good thing, because it lets engineer solve business problems, not internal technology problems and other toil. Open source and public cloud have certainly helped cloud-native to become mainstream.