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 Storage and Backup Benefits
Protecting your company’s data is critical. Cloud storage with automated backup is scalable, flexible and provides peace of mind. Cobalt Iron’s enterprise-grade backup and recovery solution is known for its hands-free automation and reliability, at a lower cost. Cloud backup that just works.
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.
- Cloud Native Definition
- Cloud Native Computing Foundation
- What is Kubernetes?
- Benefits of Cloud Native
- Cloud Native Project Chart
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 |
Orchestration |
Graduated |
|
Prometheus |
Monitoring |
Graduated |
|
Envoy |
Network Proxy |
Graduated |
|
CoreDNS |
Service discovery |
Graduated |
|
containerd |
container runtime |
Graduated |
|
Fluentd |
logging |
Graduated |
|
Jaeger |
distributed tracing |
Graduated |
|
Vitess |
storage |
Graduated |
|
Open Tracing |
Distributed Tracing API |
Incubating |
|
gRPC |
Remote Procedure Call |
Incubating |
|
CNI |
Networking API |
Incubating |
|
Notary |
security |
Incubating |
|
TUF |
software updates |
Incubating |
|
NATS |
messaging |
Incubating |
|
Linkerd |
service mesh |
Incubating |
|
Helm |
package management |
Incubating |
|
Rook |
storage |
Incubating |
|
Harbor |
registry |
Incubating |
|
etcd |
Key value store |
Incubating |
|
Open Policy Agent |
policy |
Incubating |
|
CRI-O |
container runtime |
Incubating |
|
TiKV |
Key value store |
Incubating |
|
Cloud Events |
serverless |
Incubating |