on 06 March 19
In March 2013 Soloman Hykes announced what would become known as the Docker open source project. In the months that followed there was a ground swell of adoption by the Linux community, and in the fall of 2014 Microsoft announced plans to implement containers in Windows Server 2016. WinDocks, where I am a co-founder, released an independent port of Docker’s open source to Windows in early 2016, with a focus on first-class container support to SQL Server.
Containers are rapidly become a strategic focus across the industry. In this article we’ll look at containers and their use by SQL Server DBAs and developers.
Containers define a new method of application packaging combined with user and process isolation, for application multi-tenancy. Varied Linux and Windows container implementations have existed for years, but Microsoft’s release of Windows Server 2016 established Docker’s design as the defacto container standard. The Docker API and container format is now supported on AWS, Azure, Google Cloud, every Linux distro, and Windows. Docker’s design is elegant and delivers compelling benefits:
Portability: containers include application software dependencies and run unmodified on a developer’s laptop, a shared test server, or any public cloud.
Container ecosystem: the Docker API is the focus for industry-wide innovation, with monitoring, logging, storae, security, cluster orchestration and management solutions.
Cloud native: containers are designed for micro service architectures, for horizontal scale out, and for ephemeral workloads. Containers are designed to be discarded and replaced, not patched or upgraded.
Speed and economy: containers are created in seconds, with efficient application multi-tenant support. Most users realize a 3-5x reduction in VMs used.
Why SQL Server Containers?
SQL Server has supported multitenancy with named instances for the past decade, so how are SQL Server containers valuable?
The answer is that SQL Server containers are more practical by their speed and automation. SQL Server containers are named instances, complete with data and configuration, delivered in seconds. The ability to create, discard, and replace SQL Server containers in seconds creates more practical use for Dev and QA, and other uses as we’ll discuss below.
The speed and automation of SQL Server containers make them ideal for delivery of production data environments for Dev and QA. Each member of a team works with isolated containers on a shared VM, with a 3-5x reduction in VMs used. This translates to significant savings on VM maintenance, and Microsoft license cost savings. Containers are also easily integrated with Storage Area Network (SAN) arrays, using storage replicas and database clones.
Share your perspective
Share your achievement or new finding or bring a new tech idea to life. Your IT community is waiting!