<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=522217871302542&amp;ev=PageView&amp;noscript=1">

Containerization: The What, The Why and The How

Posted by Anuj Tuli on Apr 2, 2018 12:00:00 PM

 It may seem as if containerization is the latest hip buzz word around when we talk about modernizing infrastructure and cloud. But in reality, it’s just a new term for a concept that’s been around for ages. For those who are familiar with the concept of encapsulation – paging all programmers – basically, containerization is the same exact concept, except that the encapsulation is of the entire application and its related run time environment.When you want to decouple the applications from the underlying infrastructure and move them across to different data center, hardware and software platforms, you need to move the application (along with the entire run time environment that it needs) so it can run as-is on the target side.This method of packaging the application and all its prerequisites to run is called “containerization.”

What Business Case Do Containers Solve?

The most important benefits of containers include portability and scalability. Containerizing an application makes it portable and platform independent so that it can run on any hardware or software platform, and it decouples the application service from the computer, network, security policies, firewall rules and other such environment-specific configuration parameters. It also makes the application more agile and scalable, because now you can quickly and easily scale up or down as needed, along with the necessary application runtime variables. Containerization helps make sure the application configuration stays constant when deployed in a production environment, or you can clone an existing production environment configuration and bring it to a lower environment for troubleshooting and bug resolution when we consider the DevOps use case.

How Do I Containerize My Applications?

Before we begin to start putting our applications in a container format we need to cover a couple of things. First, how and where will this container run, and secondly, how to package the application so it’s container ready.

Let’s tackle the question of how and where will the container run first. We’ve already discussed that containerizing an application makes it portable. But given that a container – which is a software logical unit – doesn’t run directly on a hardware platform, we need an OS layer in the middle that can host these containers. There are some specifically designed lightweight operating systems (like Photon OS or RancherOS) to address the need for hosting containers. There are also various commercially-available containers platforms out there. Docker and Kubernetes are the most well known. Docker is supported on multiple operating systems, and in multiple environments - like Linux or Windows, on-premises or in AWS, Azure, or other Cloud providers. Kubernetes is an open source container platform and is most widely used on Google’s Cloud Platform. Depending on your choice of the underlying OS type and the container vendor, you can run containerized applications on a variety of platforms.

The second important consideration is understanding how to package the application so that it can be used by one of the container platforms. It;s prudent to say that every container platform has had its own methodologies on how to bundle an application package to deploy successfully. To minimize the differences between these packaging standards, the OCI (Open Container Initiative) came up with a standardized package format that would be supported on all container platforms. It’s still a work in progress, and v1.0 of the packaging standards was released a few months ago, while the most recent update to the specifications v1.0.1 was recently released. All the major container vendors, including Docker, RedHat, AWS, Kubernetes and more, are participating in developing these specifications and updating their products to reflect the latest changes. These specifications provide a detailed walkthrough of how to bundle the application packages and their dependencies so that they can be deployed on a variety of container platforms.

Do your customers need to evaluate their business applications to see if they are suited for containerization? Are your customers struggling with migrating application workloads in a hybrid environment? Tech Data offers cloud migration services and more and may be able to assist with your needs. For more details, please reach out to it-solutions-eims@techdata.com or contact your local Tech Data representative.

Tags: Containerization