To talk about cloud native applications and systems, we need to define cloud native. CNCF provides a high-level overview of what it means to be cloud native and lists some implementations and the benefits they provide in the CNCF Cloud Native Definition v1.0.
The cloud native principles seek to clarify further the underlying fundamental concepts of what it means to be cloud native.
NOTE: This is a work in progress.
Low overhead/coarse-grained packaging
examples: containers, unikernel
Declarative consumption model
includes APIs and configuration
applies to all layers: infra, workloads, platform, and components
Designed for automation
applies to testing, deployment, application and platform autoscaling, infra and network provisioning
When these principles are implemented, they lead to benefits such as:
Defining these concepts help in applying cloud native methodologies to different technology domains. For instance, in the networking and communication service provider spaces, the Cloud Native Networking papers illustrate this.
Contributing to and Using this content
We encourage civil discourse and debate about the principles. It's not only acceptable but desirable for the points to be discussed and adapted to where the community as a whole feels we are. In other words, it is ok to disagree with a principle and propose an alternative.
Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.