There’s no question that containers are growing in popularity, and attendance at this year’s DockerCcon is evidence of that. But the bulk of applications that are moving into containers still tend to be stateless applications without the need for persistent data. So when we talked to the people at WinDocks about putting SQL Server in a container, our ears perked up. Why would anyone do that?
The answer is that SQL Server applications need development and testing as much as other applications. Putting SQL Server in a container puts that infrastructure inside the container world, making application development easier. Therefore, as long as you address the concerns of putting SQL Server into a container, it makes just as much sense as anything else.
We previously discussed this idea when we first heard about WinDocks, and we mentioned that one of the challenges was backup and recovery of persistent data stored in a container. Since WinDocks is a port of Docker for windows, it’s possible that SQL Server databases inside a container could be handled by traditional backup technologies that support Windows volume shadow services, or VSS. Backup software that supports VSS can communicate to any applications supported by VSS and tell them to go into the appropriate mode prior to taking a snapshot for the purpose of backup. We verified with WinDocks that SQL Server databases running inside a WinDocks container respond to VSS just like any other database, which means they can be properly backed up when someone backs up the VM or server where the database is running. That solves the backup problem.
What about the idea that containers should be easily clonable? The product managers at WinDocks felt that a SQL Server database running inside a WinDocks container should be just as clonable as any other application, so they developed the ability to do so. WinDocks is initially supporting Hyper-V cloning to address the majority of WinDocks users, but it believes that the product should be extensible to support cloning on AWS and third-party solutions. Users of WinDocks can easily create a clonable image in one step, and can then clone that image as many times as they would like.
WinDocks appears to be the only company attempting to make SQL Server fully supported in containers, including support for standard backup and recovery tools and cloning of SQL Server containers. It will be interesting to see how customers and Microsoft respond.