“We are using containers” is the battle cry of enterprises looking to get to the ultimate in performance, scalability, and portability. Well, some of that can happen. But there are limitations as well.
Here’s my guidance around what value containers actually bring to the enterprise—and what they don’t bring.
Beyond containers’ technical advantages, containers also offer advantages many enterprises don’t know about.
Containers reduce complexity through abstractions. The main reason while you use containers is that they don’t require that you do cloud-native things to your application. The containers themselves are the platform. This means that the container is portable, without complex native interfaces to manage and that lock you into a cloud platform.
Containers are good at automation. Automation replaces manual scripting, again providing better portability.
Containers can provide better security and governance. It turns out that security and governance are platform-specific, so they are best left outside of containers. This means you can centralize security and governance, reducing overall complexity.
Containers do distributed computing well. Using containers, you can divide applications into containers and container clusters, or domains. You can choose the platforms that they run on, including intracloud and intercloud. This means you can optimize cost and performance.
Containers support policy-based optimization.Using an automation layer, you can locate and execute on the best platform, as well as automigrate to that platform. Also, configuration changes are dealt with automatically.
Container orchestration is more helpful than you think. Kubernetes lets containers scale and be managed as clusters. It’s also become an ecosystem, with tools and technology bound to that platform that make container development and deployment even easier.
But there are also a few things that containers don’t do so well that enterprise IT often doesn’t know about:
You can’t find container developers. They are out there, but most are not up to standard as to how to use all of the advantages containers do provide. I figure there are 30 open positions chasing each qualified candidate now.
Botched container architectures. There’s not a lot of good container architecture and design talent out there either, so the number of bad container architectures I’m seeing is about two out of every three projects. That’s going to cost you a lot to fix down the road.
Containers add more cost than you expect. Perhaps this is because good container developers are hard to find, but using containers for new applications adds about 30 percent to the cost of development versus not using containers. The advantages of containers typically make the extra cost worthwhile, but not always.