At the Container Summit, I was speaking with a colleague at a booth, when a potential customer of his walked up and engaged in conversation. He asked an interesting question:
How do I know if my software is ready for the cloud or for containerization?
While an interesting discussion ensued about the company’s technology, the most important points of the conversation were three key lessons:
- Just about any software or application can be containerized.
- Just about every software or application will require work to be containerized.
- The key constraint is not your software, it is your people.
Let’s examine each of these in turn.
You Can Do Almost Any Application
Containerization is not something magical or different. It is running applications in a separate space managed by the operating system. With a few very rare exceptions, just about anything that runs on a VM or bare-metal will run in a container.
Yes, there are designs and architectures that are easier to containerize, and those that are harder. It is easy to “lift and shift“, and requires many more steps to get the great benefits. So, while there are those applications that are harder to convert, just about anything can be done.
You Will Have To Work for Almost Any Application
The entire weltanschauung of containers focuses on separating immutable images from mutable data. It forces some good practices and strongly encourages better ones. Some bad practices that were just fine under other regimes simply do not work. In other words, you cannot get away with as much as you did before.
Thus, you will have to do some real work to containerize almost any application. There might be a few that already are set up for it just about perfectly, but short of those, you will have real preparation work. Expect it, prepare for it.
… Ask What Your People Can Do
In the end, the biggest constraint on the migration to containers is not your technology, nor your applications, nor some design or architecture of software or underlying systems. Your biggest constraint is culture. Adopting new methods of operating, new tools, new deployments means a lot of people, actually just about everyone, need to change some part of what they do.
This is the hardest part. This is what will take time, both your time in managing it, your experts and consultants’ time in hand-holding, and calendar time as people adapt at their own schedules. Never underestimate it.
When planning transition projects, plan your calendar not around the time to execute technology change, but the time to implement cultural change. In the end, it always comes down to the people.
Are you ready to manage the technology, process and cultural change required? Ask us to help.