Developing cloud applications

There are many potential pitfalls related to cloud applications, ranging from the simple misuse of resources to unsolvable problems. Applying a concise architecture and using the 12-factor application development pattern ensures you won't get into trouble when the application scales up or down.

A container is a standardized way to package an application with all its dependencies, including its code, runtimes, middleware, libraries, and operating system. Docker and Garden are containers that can be run in the IBM Cloud Platform, but there are other container types that can also be used, such as Rockt. Using containers increases the portability of an application, so it doesn't matter if the host operating system is one particular distribution of Linux and your application was built on a different distribution, because the operating system is a layer of the containerized application and both distributions are shipped together.

The following diagram demonstrates the structure of a containerized application:

Cloud platforms use containerized applications and deploy them into a set of servers. We can move these applications inside the flexible computing environment to make better use of the existing infrastructure and to keep track of the containers deployed in the service discovery component.

Each platform has its own way of using the containerized model of application deployment, as shown in the following diagram:

A container is deployed based on a container image, which is a read-only definition of the base image, the dependencies, and the application. Each container of the same application is deployed based on that image, and any changes made to the container during runtime exist only while that container is active, and only apply to to that instance of the container.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.198.174