Cloud native describes an approach to designing, building, and operating applications that is architected to take full advantage of dynamic, distributed, automated infrastructure — whether on a public cloud, private cloud, or on-premise platform. The Cloud Native Computing Foundation (CNCF) defines cloud-native as: "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."
Key cloud-native characteristics
Containerised: Applications are packaged as containers — portable, lightweight, and consistent across environments.
Microservices architecture: Applications are decomposed into small, independently deployable services — each responsible for a specific business capability, communicating via APIs.
Dynamically orchestrated: Container orchestrators (Kubernetes) automatically schedule, scale, and heal application components.
Declarative configuration: System state is declared rather than scripted — you describe what you want, and the platform figures out how to achieve it.
Observable: Applications emit metrics, logs, and traces that allow operators to understand their behaviour in production.
Cloud native on-premise
A critical misconception is that "cloud native" means "public cloud." The cloud-native architectural patterns — containers, Kubernetes, GitOps, observability, microservices — are infrastructure-agnostic. They run as well on-premise as on AWS. The confusion arises because these patterns were pioneered by public cloud companies (Google's internal Borg system led to Kubernetes), but there is no technical dependency on a public cloud provider. AravaliStack delivers cloud-native capabilities on infrastructure you own.
