The most popular and comprehensive Open Source ECM platform
Container technologies, like Docker, have many advantages over VMs. They are considerably more lightweight and can quickly start up. Depending on the physical server, container start times might be on the order of only 50 milliseconds compared to 30 to 40 seconds for a VM. They are particularly well suited for use with building applications based on microservices.
But containers may not be the right or best solution for everything. Like most things, one size doesn’t fit all. Kaya Ismail, writing on CMSWire, digs in deeper to comparing containerized deployment versus a more traditional monolithic one and noted some problems with containers.
- Performance – Applications based on microservices see better performance with containers. But not so with applications not using microservices. Containers with application code larger than several hundred megabytes may not see much gain.
- Security – Containers are new and often not configured correctly to be secure. Misconfigurations can leave applications vulnerable to threats.
- Shared Infrastructure – Side-by-side deployments in the same shared OS kernel may also expose applications to vulnerabilities. Single-tenant architectures on bare-metal offer the greatest protection.
Further, while David Linthicum says that he views containers as providing a superior framework for an application infrastructure, their use comes at a cost, which he estimates is as much as an addition 35 percent, something which he calls a “container tax”. The reasons for the extra costs can include:
- Complexity and Time – Effort needed to refactor an application to run as containers.
- Cost – Tools specifically designed for use with containers to manage things like database access, security and governance can cost as much as 50 percent more than standard tools.
- Money – Maintenance and management of containers require a higher-level of skills and can cost more.