Native Cloud Applications: Why Monolithic Virtualization Is Not Their Foundation
Due to the current hype around cloud computing, the term 'native cloud application' becomes increasingly popular. It suggests an application to fully benefit from all the advantages of cloud computing. Many users tend to consider their applications as cloud native if the application is just bundled as a monolithic virtual machine or container. Even though virtualization is fundamental for implementing the cloud computing paradigm, a virtualized application does not automatically cover all properties of a native cloud application. In this work, which is an extension of a previous paper, we propose a definition of a native cloud application by specifying the set of characteristic architectural properties, which a native cloud application has to provide. We demonstrate the importance of these properties by introducing a typical scenario from current practice that moves an application to the cloud. The identified properties and the scenario especially show why virtualization alone is insufficient to build native cloud applications. We also outline how native cloud applications respect the core principles of service oriented architectures, which are currently hyped a lot in the form of microservice architectures. Finally, we discuss the management of native cloud applications using container orchestration approaches as well as the cloud standard TOSCA.
CLOSER