A loosely coupled systems that are resilient, manageable, and observable in production. Use containers, microservices, APIs and cloud services (PaaS, Serverless, SaaS) to build and run scalable applications in modern hybrid cloud environments.
The Foundation’s mission is to make cloud native computing ubiquitous. The CNCF Cloud Native Definition v1.0 says:
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.
Cloud Native concepts
- Immutable infrastructure
Infrastructure for hosting cloud-native applications remain unchanged after deployment. By avoiding manual upgrades, immutable infrastructure makes cloud-native deployment a predictable process.
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
It is an architectural style that structures an application as a collection of highly maintainable and testable services, Loosely coupled, Independently deployable, Organized around business capabilities, and owned by a small team. The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables an organization to evolve its technology stack.
- Service Meshes
A service mesh provides capabilities like traffic management, resiliency, policy, security, strong identity, and observability to cloud workloads, which decouples from operational capabilities. The service mesh moves them out of the application layer and down to the infrastructure layer.
- Declarative APIs
A standardized, stateless architecture that allows us to integrate and automate disparate and separate software solutions, bringing all applications down to a common ground.
- The Twelve-Factor methodology
Modern application design with this methodology encourages a practice that can be applied to any language and embrace Polyglot architecture. Refer to The Twelve-Factor Application and Beyond the Twelve-Factor App.