A cloud-native application is software that is designed for the cloud from the ground up, rather than software that has been modified for the cloud. Run and hosted in the cloud, cloud-native applications are built to take advantage of the inherent characteristics of a cloud computing environment. Cloud-native apps use microservices, containers, APIs and dynamic orchestration to create software that is more flexible, agile and adaptable to cloud architecture.