CLOUD NATIVE COMPUTING

CLOUD NATIVE

Cloud Native is all about build once and deploy anywhere! It does not matter where it is deployed. Cloud Native Computing allows to build and run scalable applications in dynamic environments such as public, private and hybrid clouds. Containers, micro services, server less functions and immutable infrastructure, deployed via declarative code are common components of this architecture.
These techniques allow faster transformation of mission critical applications into Multi-Cloud environments, with better resiliency, agility, security and observability. Combined with robust automation, cloud native computation increases developer productivity, enables more frequent releases, leading to faster time to market.
Most often, cloud-native applications are built as micro-services that run in Docker containers, and orchestrated using Kubernetes . Docker containers isolate the contained application from its environments and thus allows it to deploy and run on any virtualized environment.
BENEFITS OF CLOUD NATIVE
Find below some of the major advantages of using Cloud Native Computing.
        • Improved scalability
        • Shorter deployment time
        • Improved availability
        • Cloud portability
        • Improved developer productivity
        • Cost savings

CLOUD NATIVE TECHNOLOGY ADOPTION

Find below an overview of the growth of cloud native technologies, tools and trends based on the CNCF (Cloud Native Computing Foundation)survey results 2020.
KEY FINDINGS
  • The use of containers in production has increased to 92%, up from 84% last year, and up 300% from the first CNCF survey in 2016.
  • Kubernetes use in production has increased to 83%, up from 78% last year.
  • Usage of cloud native tools:
    o 82% of respondents use CI/CD pipelines in production.
    o 30% of respondents use serverless technologies in production.
    o 27% of respondents use a service mesh in production, a 50% increase over last year.
    o 55% of respondents use stateful applications in containers in production.

Usage of Cloud Native Technologies

Exploring Cloud-Native Computing

Source: Cloud Native Computing Foundation Survey Report 2020

WHICH CLOUD?

Public cloud is the most used, but private cloud is also growing. MultiCloud was a new option emerged recently and is used by 26%.
Exploring Cloud-Native Computing

Source: Cloud Native Computing Foundation Survey Report 2020

RELEASE CYCLES

The percentage of those who release software daily or multiple times daily or weekly or monthly are increasing. 53% check in code multiple times a day and 80% check in code at least a few times a week. Many organizations are not yet ready to move to a fully automated cycles because of complexity, lack of expertise and reluctance.

USE OF CONTAINERS

Containers is the new norm for applications in production
CNCF survey shows that, use of containers is ever increasing. It has become the new norm for applications in production. Use of containers has shown an extra ordinary increase of 300% over the past 4 years. Survey also shows that 95% of respondents use containers in creating PoC (Proof of Concepts), test and in development environments, which means that organizations are testing new use cases and getting ready to move more work loads into containers.

Container Challenges

Though containers are the new norm, there are many challenges too in terms of developing and deploying containers successfully.
    • Complexity and learning curve
    • Reluctance to cultural Changes
    • Lack of trained resources and training
    • Logging & Monitoring
    • Persistent storage
    • Implementing Scalability, Reliability & Security
    • Choosing the right tools
    • Finding the right vendor

ORCHESTRATION

Kubernetes leads the show. CNCF Survey showed that, 91% of the respondents use Kuberneties and 83% of them in production. Kuberneties shows a steady increase in usage over the past years (78% in 2019 & 58% in 2018). As Kubernetes grows, so is the ecosystem around it. Namespaces remain the most popular way to separate Kubernetes applications. Numbers have increased from 75% in 2019 to 84% in 2020.
As per the survey, the top Kubernetes environments used are Minikube (37%), on-prem Kubernetes installations (31%), and Docker Kubernetes (29%). On-prem Kubernetes installation increased to 31% from 23% last year.
Container and Kubernetes usages in production is increasing over the years.

Exploring Cloud-Native Computing

Source: Cloud Native Computing Foundation Survey Report 2020

CLOUD NATIVE TOOLS

As the report shows CI/CD is used widely (82%) in production environments and more are evaluating and planning to use it. Three most used CI/CD tools are Jenkins, GitLab and GitHub Actions. It is also found that Flux and Helm are the most widely adopted tools for CD.
Monitoring, logging and tracing are essential to increase observability. Companies use multiple tools to meet these requirements now. Most popular choices are open source, like Prometheus, Grafana, Elastic , etc. Majority of the companies use a combination of these tools for monitoring, logging and tracing.
Service proxy manages interactions among microservices to ensure peak application performance and ease the operation of cloud native architectures. As per the survey, 37% of respondents use a service proxy in production now and many are evaluating and planning to use it in near future. Most used proxies are Nginx, Envoy, HAProxy , etc.
Containers were originally built to be stateless in order to keep them flexible and portable. But the usage of stateful applications in containers is exploding now. More and more are using stateful applications in production and more are evaluating and getting ready to use it in production environments. As per the survey, the top three cloud native storage projects in production are Google Persistent Disk (81%), Amazon Elastic Block Storage (EBS) (80%), and Azure Disk Storage (74%).
Adoption to serverless computing is growing. The survey has found out that 30% of the respondents use serverless computing, 21% evaluating and 14% plan to use it in a year. Majority of those using serverless technologies use hosted platforms. Most used ones are AWS Lambda, Google and Azure Functions.
Survey also showed a 50% increase in use of Service Mesh in production. 27% use service mesh in production, 23% evaluating it and 19% planning to use it in a year.

SUMMARY

This article is mostly about the cloud native technologies and trends based on the CNCF Survey 2020. Giving you a touch of where cloud native computation is heading towards and how fast the adoption is happening.

References:

https://www.cncf.io/wp-content/uploads/2020/11/CNCF_Survey_Report_2020.pdf

About The Author

Exploring Cloud-Native Computing

Dr. Anil Kumar

VP Engineering
Founder | Architect | Consultant | Mentor | Advisor | Faculty

Solution Architect & IT Consultant with more than 25 yrs of IT Experience. Served in various roles, with both national and international institutions. Expertise in working with both legacy and advanced technology stacks and business domains.