Defining cloud native applications As the cloud matures and becomes more sophisticated, it too, evolves to support the way cloud applications are de- fined. This brings us to the value of cloud native applica- tions. In brief, cloud native applications are software of- ferings designed with microservices, containers and dy- namic orchestration as well as continuous delivery of software. Every part of the cloud native application is housed within its own container and dynamically orches- trated with other containers to optimize the way re- sources are utilized. Taking a step back, the concept of cloud native changes the way we think about application creation and manage- ment. The Cloud Native Computing Foundation, an or- ganization founded in 2015 under the auspices of the Linux Foundation, “builds sustainable ecosystems and fosters a community around a constellation of high-qual- ity projects that orchestrate containers as part of a mi- croservices architecture.” The Cloud Native Computing Foundation defines cloud native as follows: ▪ Container packaged. A standard way to package applications that is resource efficient. More ap- plications can be densely packed using a standard container format. ▪ Dynamically managed. A standard way to dis- cover, deploy and scale up and down container- ized applications. ▪ Microservices oriented. This method decomposes the application into modular, independent ser- vices that interact through well-defined ser- vice contracts. 31

Building Cloud Native Apps Painlessly - Page 36 Building Cloud Native Apps Painlessly Page 35 Page 37