Containerizing an application for the cloud: A journey of settings, state, and security.

Red Hat Developers and author N. Harrison Ripps have just begun releasing a ten-part series in which Harrison describes the process of deploying an application using containers into a clustered environment on the cloud.

Using the ZRC IRC client as a sample application, Harrison demonstrates each step in the process of containerizing software, dealing with issues like statelessness, security, and robustness that are typically architectural hurdles for most development teams moving to a cloud infrastructure.

Parameterizing application settings is a common requirement of applications that end up deploying to any environment, and containers have only heightened this need — with the emergence of on-demand environments, scriptability and configurability of the application images being deployed is a must.

Harrison suggests that containerizing applications should happen later, while development should happen first. This might seem intuitive, but his point is that containerizing an application actually need not introduce many development-time changes that would affect the architecture of your system — it can, but it need not. For a small sacrifice of startup performance, container images can be made more configurable and flexible, supporting DevOps procedures and deployments.

Once configured, the series also demonstrates how to host the application on a private instance of the OpenShift Container Platform, including clustering, via either the Red Hat Container Development Kit (CDK), or binary download of OpenShift. Harrison goes step-by-step through the process of starting the private cloud, deploying the application, and using Kubernetes to cluster the application.

Using attached storage, Harrison introduces a window of statefulness into our container environment. This produces an application that runs on the cloud in stateless containers, but maintains its internal state throughout the lifecycle as pods are brought up and down.

Follow along and learn some of these core cloud concepts as the series is published:

Title Date
That app you love, part 1: Making a connection 2016/09/27
That app you love, part 2: Immutable but flexible – What settings matter? 2016/09/29
That app you love, part 3: Every setting in its place 2016/10/04
That app you love, part 4: Designing a config-and-run container 2016/10/06
That app you love, part 5: Upping our (cloud) game 2016/10/11
That app you love, part 6: Container, meet cloud 2016/10/13
That app you love, part 7: Wired for sound 2016/10/18
That app you love, part 8: A blueprint for “that app you love” 2016/10/20
That app you love, part 9: Storage and statefulness 2016/10/25
That app you love, part 10: Long live “that app you love” 2016/10/27