Whereas it is possible to migrate an existing application to run in the cloud, such migration won't make the application cloud-native. It would be running in the cloud, but the architectural choices would still be based on the on-premises model.
In short, cloud-native applications are distributed by nature, loosely coupled, and are scalable. They're not tied to any particular physical infrastructure and don't require the developers to even think about specific infrastructure. Such applications are usually web-centric.
In this chapter, we'll go over some examples of cloud-native building blocks and describe some cloud-native patterns.