A cloud-native application is designed to take advantage of cloud computing patterns rather than simply being moved to cloud servers. It often uses automation, APIs, managed services, scaling, and resilience practices.
Common cloud-native patterns
Cloud-native systems may use containers, microservices, serverless functions, managed databases, observability, CI/CD, and infrastructure as code.
Cloud-native versus cloud-hosted
A cloud-hosted app may simply run on cloud infrastructure. A cloud-native app is designed around cloud strengths such as elasticity and failure-aware architecture.
Cloud-native design is about how the system is built, not just where it runs.