What is Cloud Native?

SHARE

Cloud native is among the most pervasive terms heard across the IT and cloud computing landscape today. It's a term that can used to describe a way of programming, a deployment pattern, and a way to enable multicloud and hybrid cloud workloads.

Cloud native is more than just a buzzword, though. It's an approach used by some of the largest organizations on the planet, including Walmart, Visa, JP Morgan Chase, China Mobile, Verizon and Target, among others. Cloud native is an approach that enable developers and organization to be more agile, providing workload portability and scalability.

Why are so many organizations choosing a cloud native approach and what exactly is cloud native? That's what this Datamation guide is all about.

The Cloud Native Definition

While the term cloud native is often used by many vendors to mean any number of different things, there is in fact a formal definition. As with many things in cloud native however, the definition itself is constantly evolving.

The most authoritative source for a cloud native definition comes from the Cloud Native Computing Foundation (CNCF). The CNCF spent months across its governance committees and membership attempting to define what the term cloud native actually means. The end result is a formal definition that is entered and stored on the GitHub code repository, where it is regularly updated.

The full definition is as follows:

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil. The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.

What is the Cloud Native Computing Foundation (CNCF)

The Cloud Native Computing Foundation is a collaborative project that is part of the Linux Foundation. The CNCF was created in July 2015 with the help of Google, which contributed the Kubernetes container orchestration system the as the first project.

The charter of the CNCF is to help foster the growth and adoption of cloud native technology in an attempt to make the technology ubiquitous. The CNCF acts as an organizing body for open source cloud native projects, helping with governance, oversight and promotion.

The CNCF is comprised of two primary groups for governance:

The Governing Board - handles the business and budget decisions

Technical Oversight Committee (TOC) - has the responsibility for defining and maintaining the technical vision for the CNCF.

CNCF project lifecycle

The CNCF got its start with a single project Kubernetes, which was contributed by Google. Over the last several years, the CNCF has added over 40 new projects to its roster. Projects at the CNCF go through a lifecycle development process .

Within the CNCF there are multiple tiers of projects denoting different maturity and stability levels.

  • Sandbox - Sandbox is the initial entry point for most project and represent early stage projects that have not yet demonstrated adherence to the CNCF's guidelines
  • Inubating - Incubating projects are the next level of maturing, with growing communities and regular releases.
  • Graduated - A graduated project is the highest level of maturity and follows an evaluation to ensure the project has a diversity of contributions, regular releases and completes a security audit.

What is Kubernetes?

At the heart of the cloud native model for most organizations is Kubernetes. Google originally created Kubernetes as an open source effort to help with its own container management effort at scale.

Kubernetes is commonly thought of as a container orchestration system, that is a technology that can help manage the operation and deployment of containers. A container, is portable unit that can include a microservice or an application that will run in a container engine. Examples of container engines include Docker which is based on the containerd container runtime.

Kubernetes is also a very extensible platform that is API based, with different interfaces to enable functionality for networking and storage.

Benefits of Cloud Native Computing

There are a number of good reasons why organizations and developers have embraced cloud native as an architecture and as a way to developer and deploy application workloads.

Reduce Vendor Lock-in - A cloud native approach is typically open source and can run on any Kubernetes compliant infrastructure

Agility - By breaking down applications into containers and microservices, development and deployment can be accelerated

On-premises portability - Cloud native enables deployment in the cloud as well as on-premises, for true hybrid cloud.

Multi-cloud enabled - Kubernetes is supported and run on all major public cloud providers.

Scalability - With cloud native high-availability and scalability are core features.

Cloud Native Projects: Graduated and Incubating

Project

Function

Status

kubernetes

Kubernetes

Orchestration

Graduated

prometheus

Prometheus

Monitoring

Graduated

envoy

Envoy

Network Proxy

Graduated

coredns

CoreDNS

Service discovery

Graduated

containerd

containerd

container runtime

Graduated

fluentd

Fluentd

logging

Graduated

jaeger

Jaeger

distributed tracing

Graduated

vitess

Vitess

storage

Graduated

OpenTracing

Open Tracing

Distributed Tracing API

Incubating

gRPC

gRPC

Remote Procedure Call

Incubating

cni

CNI

Networking API

Incubating

notary

Notary

security

Incubating

TUF

TUF

software updates

Incubating

NATS

NATS

messaging

Incubating

linkerd

Linkerd

service mesh

Incubating

helm

Helm

package management

Incubating

rook

Rook

storage

Incubating

harbor

Harbor

registry

Incubating

etcd

etcd

Key value store

Incubating

OPA

Open Policy Agent

policy

Incubating

CRI-O

CRI-O 

container runtime

Incubating

tikv

TiKV

Key value store

Incubating

cloudevents

Cloud Events

serverless

Incubating



NewsletterDATAMATION DAILY NEWSLETTER

SUBSCRIBE TO OUR IT MANAGEMENT NEWSLETTER