The Cloud Native Computing Foundation (CNCF) defines cloud native systems as having the following properties
1. Container packaged. Running applications and processes in software containers as an isolated unit of application deployment, and as a mechanism to achieve high levels of resource isolation. Improves overall developer experience, fosters code and component reuse and simplify operations for cloud native applications.
2. Dynamically managed. Actively scheduled and actively managed by a central orchestrating process. Radically improve machine efficiency and resource utilization while reducing the cost associated with maintenance and operations.
3. Micro-services oriented. Loosely coupled with dependencies explicitly described (e.g. through service endpoints). Significantly increase the overall agility and maintainability of applications. The foundation will shape the evolution of the technology to advance the state of the art for application management, and to make the technology ubiquitous and easily available through reliable interfaces.
In the current cloud native vision, applications are supplied, deployed and run in containers.
Cloud Native Storage
Cloud native storage is application-centric, platform agnostic, API-driven, declarative and composable, agile, performant, natively secure and consistently available. These are the eight principles of cloud native storage.