IDG Contributor Network: What does container portability really mean?

Containers offer the promise of portability and agility: the ability to move your applications from a developer’s laptop to your internal datacenter, and out to different cloud providers with little trouble right? They offer the ability to spin up new, custom versions of your software to quickly meet contractual deadlines which were signed last minute, or maybe even provide your customers with self service. They start faster, and are easier to move around than virtual machines. Right?

That’s the goal, but portability and compatibility are not the same thing. Portability is a business problem, while compatibility is a technical problem. Portability can only be achieved by planning compatibility in different environments. Adopting containers alone provides no guarantee of application compatibility. Why would it? Containers are really just a fancy way of packaging applications and all their operating system dependencies.

life container megabricksScott McCarty

A standard application definition is necessary to enable build and deployment automation across environments.

What does this all mean? It means that to really achieve portability, and hence agility in your business, you need to plan. Here is a quick set of recommendations to help ensure success:

1. Standard operating environment

This needs to include container hosts, container images, container engine, and container orchestration. All these moving parts need to be aligned and standardized. All these components need to be versioned and tested together. Upgrades need to be planned together as a unit because there are a lot of interdependencies. Infrastructure parity needs to be guaranteed in every environment where containers are built or run, including developer’s laptops, testing servers, and virtual machines. It is always recommended to use the same tested and certified components everywhere.

Leave a Reply

Your email address will not be published. Required fields are marked *