This article is part of a new series providing a high level overview of basic Kubernetes concepts and additional resources for further deep dives.
The cloud native stack, also referred to as the new stack, is composed of the new cloud-independent counterparts of cloud managed services. As enterprises moved to the cloud, they started leveraging cloud managed services such as AWS’ DynamoDB or GCP’s BigQuery. Very convenient, these on-demand services significantly increased developer productivity. Being proprietary, they only work on that specific cloud, however — a significant drawback.
The desire to leverage similar technologies without environmental constraints led numerous open source projects and startups to develop infrastructure-independent counterparts to these services — the so-called cloud native stack. Examples include services like storage (e.g. Portworx, Ceph, or Rook), messaging (e.g. RabbitMQ), or service discovery and configuration (e.g. etcd or Consul), and of course Docker and Kubernetes. Self-hosted, they offer a lot more control and work across environments.
The name can be a little misleading, however. Cloud native doesn’t mean cloud-bound. In fact, many organizations are deploying these technologies on-premise and even in air-gapped environments.
Cloud native applications are defined as 1) containerized, 2) dynamically orchestrated (aka Kubernetes), and 3) microservices oriented. Clearly, containers and Kubernetes are at the core of this stack. None of these technologies represent enterprise-ready platforms, they form part of a dynamic ecosystem (see CNCF’s cloud native landscape overview below or in full size here) that, like Lego blocks, can be combined and configured to form a full-fledged platform. This ability brings a lot of flexibility, but also some complexity, especially for enterprises new to this stack.
The Cloud Native Computing Foundation (CNCF) “serves as the vendor-neutral home for many of the fastest-growing open source projects, including Kubernetes, Prometheus, and Envoy…[It] supports the growth and health of cloud native open source software.”
- Cloud Native Application Architecture (WalmartLabs blog 02/2012)
- What is cloud native and why does it exist? (CNCF webinar 02/2017)