The most popular and comprehensive Open Source ECM platform
Containerizing Traditional Databases: Managing Apps with State in Containers
Containerization is gaining wide acceptance across organizations. Gartner predicts that by 2022, 75 percent of organizations will be using containerized applications in production.
Carl Olofoson, vice president at IDC, said that “many databases were not designed to be cloud native, compatible with containers or orchestrated by Kubernetes.”
Databases in vertically-scalable applications have generally not been a good choice for containerization. Why? Database platform requirements like high I/O, shared disks, block storage, and use of persistent data don’t fit well into the container model where nodes can easily be dropped and freshly restarted. JW Walton, senior architect, recommends that “the best course with these database platforms if you are in the cloud is to use your cloud provider’s Platform as a Service offering, where you gain the flexibility of containers without the added complexity.” And, if you aren’t using the cloud, to simply not use containers for managing the database.
Dan Yasny, principal field engineer at MayaData, agrees that for now using the cloud may be your best option. “On Amazon, GCP and Azure, you have instance types with local non-volatile memory. A single disk can provide 100,000 operations per second, which is insane. A typical SCSI disk will give you 150 at best. So when you’re in those clouds, and you’re using those instances, you have 60 terabytes on a single virtual machine you can provision. It’s huge and it’s insanely fast.”
But databases are catching up to containerization and being rearchitected. As an alternative, in a Kubernetes environment, K8s has also introduced the StatefulSets feature that enables easier containerization of apps that are dependent on state,
Joey D’Antoni, consultant, wrote that “the large-scale shift from physical machines happened over about a 10-year period; I don’t foresee the movement to containers for databases being that protracted. IT organizations have already accepted virtualization, so the switch is not nearly as big, it enables many automation scenarios, and the biggest factor is that it has the potential to reduce cloud costs by increasing densities.”