Container technologies like Docker are capturing a lot of headlines in IT circles right now. They provide a greater level of granularity than a virtual machine, creating a more portable and flexible environment. The problem is that most of the excitement about containers focuses on the Linux environment and Dev/Ops, tempting MS-SQL admins to overlook this technology in favor of virtual machines only. Dismissing container technology because of its Linux roots would be a mistake. The reality is that Windows and MS-SQL, in particular, can gain a lot from container technology.
The Stage is Set for MS-SQL Containers
The good news is that MS-SQL in many ways is “container ready”. Microsoft has already given MS-SQL the concepts of instances, which set the stage for containers. SQL Server, much like containers, can run multiple substantiations of itself (SQL Server instances), of the same or different versions and editions, all sharing the same OS/kernel. Each instance also provides many “OS-like” features and capabilities, including its own memory manager, security, logins, encryption command language, and CPU, I/O, and job scheduler.
The other critical part of setting the stage for Windows containers is Windows itself. Unlike Linux, which has dozens of distributions, the Windows environment has one distribution channel; Microsoft. This single source of distribution means that instead of virtualizing the operating system we can now virtualize the application. The result is that Windows containers can claim a finer grain of granularity than their Linux counterparts.
What’s missing from MS-SQL Instances
There are several critical functions missing from MS-SQL instances, which container management provides. While instances do provide some level of protection from each other, they can contend for resources. Instances share the same kernel, so if there is a kernel level fault, problems will arise. A container management framework can resolve these challenges. The second challenge is a means to provide a consistent application endpoint when moving MS-SQL instances to another server (physical or virtual) or even to a public cloud like Azure. For this mobility, container technology has to address: registry coherency per workload, providing a consistent application endpoint, and a consistent presentation of disk resources.
MS-SQL Administrator’s make up a large chunk of the Storage Switzerland readership (thank you). The MS-SQL environment, as it scales, is forced to push boundaries and MS-SQL admins are quick to embrace new technologies like virtualization and flash storage. Now MS-SQL administrators need to begin learning about containers and develop plans to deploy them. Storage Switzerland is your resource to help you make this transition. For more information, please watch our on-demand webinar “Top 3 Reasons To Start Using Containers For MS-SQL” and read our article that compares virtual machines to containers “Containers vs. Virtual Machines”.