Contributing and Fundamentals
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.
NOTE: This is a work in progress.
- Service discovery
- Loose coupling
- 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
- Immutable infrastructure
When these principles are implemented, they lead to benefits such as:
- Increased interoperability
- Increased resilience
- Increased scalability
- Lowered risk
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.
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.
How to contribute:
You are free to:
- 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.