“Cloud-native” is an approach to building and running applications that leverages the advantages of cloud computing delivery model. It’s about how applications are created and deployed, not where. It implies that the apps live in the public cloud, as opposed to an on-premise datacenter.
Instead of being installed on an OS/server, cloud-native applications run on a cloud infrastructure and call the underlying infrastructure as a part of its code.
Containerized - Each part is packaged in its own container improving reproducibility, transparency & resource isolation. Dynamically orchestrated - Containers are actively scheduled and managed to optimize resource utilization. Microservices oriented - Applications are segmented into microservices increasing the overall agility & maintainability of applications.
Cloud native apps are built on microservices which enables rapid DevOps. Each microservice can scale independently and these are built for multi-tenant infrastructure. Microservices run on containers or serverless functions.
One of the biggest requirements of cloud-native applications is speed- rapidly delivering and iterating application functionality.
The five elements of a cloud-native app include application design based on microservices, API exposure, operational integration, DevOps automation across the application lifecycle and testing.