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...