Is it too early to start planning for when everything is a container? Many technology trends start out strong only to soon fade away. But with large scale deployments of containers by high tech behemoths such as Google, Microsoft and Amazon and with the success of organizations like Docker bringing unique container technology to market, it is very likely that containers will be a part of your future. Nowhere was the container “infiltration” more visible than at the annual Red Hat Summit that was held last week in Boston. A year ago, Red Hat used the forum to educate attendees on basic container technology concepts. Fast forward one year and Red Hat used the Summit to communicate their container strategy which forms the backbone of their vision to enable applications to seamlessly operate across physical, virtualized and hybrid cloud infrastructures.

But First, Understand the Differences

Linux Containers (LXC) is an operating-system level virtualization environment for running multiple isolated Linux systems (containers) on a single host. The environment allows limitation and prioritization of resources (CPU, memory, block I/O, network, etc.) and namespace isolation functionality that segregates an application’s view of the operating environment. While I won’t get into a detailed comparison of utilizing hypervisors versus containers for the isolation of your application deployments, you need to understand the potential changes containers will have on your development and operational model. These changes will be across the spectrum of packaging and container formats, security best practices, build and deployment models and application lifecycle management. Equally important will be an understanding of the changes to your resiliency requirements. Containers will change the way application health management is performed and how fault detection, isolation and recovery is realized when “everything is a container”.

Will Containers Need SDA?

Absolutely! Whether your applications run on a physical host, a virtual machine or in a container, there will be unique resiliency and fault management capabilities for each infrastructure environment. In order for applications to be truly portable, the availability methods realized in the infrastructure must be transparent to the application. This is the primary objective of the Stratus vision for Software Defined Availability. The ability for the application to dynamically declare its availability requirements and drive infrastructure automation in a software controlled fashion will enable the next wave of carrier-grade, enterprise-ready production environments in the cloud.

Please, stay tuned for future posts …