Are Windows Containers a Good Choice?

  • Hi,

    Perfect timing, I've just started to do some research into containers, kind of focussed on Docker to start with. Question though as a DBA with over 15 years experience of running SQL Servers from 7 up to 2019 CTP where is the best place to start?

    Should I be getting my hands dirty with Linux, (I'm a novice) before I get into world of containers, I get the distinct vibe that I've ignored Linux for to long and I should now be embracing it to get a head start.

    Where would you start if I were me with my knowledge on a scale of 1 (never used)-10 (SSC Guru) being like this;

    SQL - 7 - still much more to learn but I'm comfortable with new things and the challenges that come with it.

    Linux - 2 - I can spin up a Ubuntu VM in Azure, SSH to it and then set up RDP but that's about as far as I've done.

    Containers - 1 - Don't know where to start really.

    Thanks,

    Nic

  • I've always viewed *nix systems as best suited for backend infrastructure support and to run services. Windows OS has always been a front end user desktop OS to run desktop applications on. Better suited for homes where the permutation of hardware and personal configurations are handled better with the Windows design. Especially the GUI. Windows migrated to the front office work mostly due to people being familiar with it from home use. So, SQL Server being a backend service, I also see the container/Kubernetes, as the best path for SQL Server into the *nix world.

    I'm pessimistic about how SQL Server will be able to handle the *nix database competition. Currently I do not see SQL Server becoming a major player in the *nix world unless MS overhauls the SQL Server/CPU/OS licensing strategy. Even then, the relational database competition on the *nix side is becoming very competitive in terms of feature/function/performance, etc. The company I currently work for has used SQL Server for 90% of its database work until about 2 years ago. Since then all new projects use either MariaDB, ClustrixDB, Raima on *nix. Not the only reason, but single biggest reason is licensing cost. Especially, when needing to scale out or add more compute power. Also, *nix developers tend to push *nix tech for their solutions. MS somehow needs to win their hearts for SQL Server. I don't see it. We are now down to two clustered SQL systems in our organization. Sad for me. I love SQL Server.

     

  • NicHopper wrote:

    - 1 - Don't know where to start really. Thanks, Nic

    Honestly, we have a Stairway that will help you (https://www.sqlservercentral.com/stairways/stairway-to-database-containers), but really, you're learning a bit about a new paradigm and frame of mind. The SQL stuff, the OS stuff, for the most part is  the sam.e. Microsoft has done a lot to make sure SQL Server is SQL Server, whether on Windows, Linux, or in a container.

    For Linux, there are really like 4 or 5 things to learn. Not much to work with SQL Server. Learn how to log on, change folders, copy files, that's most of what you need. For the container, it's less. You might interactively connect, but really, you just set flags and connect to SQL Server.

     

  • qbrt wrote:

    I've always viewed *nix systems as best suited for backend infrastructure support and to run services. Windows OS has always been a front end user desktop OS to run desktop applications on.

     

    ...

    Currently I do not see SQL Server becoming a major player in the *nix world unless MS overhauls the SQL Server/CPU/OS licensing strategy. Even then, the relational database competition on the *nix side is becoming very competitive in terms of feature/function/performance, etc.  

     

    I agree with the first part, and I really think that Linux will be the future for more back end systems in the data platform. No idea about other areas, but for SQL Server, I would bet on Linux.

     

    Your experiences in your company happen, but not that much. Changing a database platform is hard. While some companies do, many don't, which is why Oracle is still a huge company, despite their charges.

    I won't argue the cost/benefit side, but plenty of people running Linux will run SQL Server. They do now, but moving forward, they don't need to have a "Windows" box in their environment.

    Note, this isn't *nix, it's Linux. AFAIK, no plans to support or move to Unix.

  • Ubuntu? 🙂

     

    *nix is just the way I've always referred to the unix distros in a very, very general terms. Meaning, not Windows but that unix based tech side of the world. I'm glad to hear that from your perspective there's a positive adoption rate of SQL Server.

  • Unix != Linux. Different kernel. Since there were lots of distributions, we had AIX, FreeBSD, etc. These are Unix, and often the *nix is for Unix of all flavors. Linux is a variant, separate kernel, and perhaps people think *nix as Linux as well. I just wanted to be sure we were talking the same thing.

     

    Ubunutu, RedHat/RHEL, CENTOS, Mint, SUSE, etc., all Linux. Only a few have SQL support, though I hope the list grows, at least to CENTOS.

    Windows and SQL Server are so big, that even if 10% left, it's a huge number. But it's a small fraction. SQL Server will grow more in the Linux space. There are already lots of MS customers that use Windows desktops, and have a few Windows servers, often because of SQL Server. They can now just go straight Linux.

    Really, I think the future is containers running in Kubernetes. Linux containers are just super lightweight, so I think that's the direction to move.

  • Alight. Point taken :).

    I have a new term now ==> *nux

    Just need a fast adoption rate.

  • I just read this article, as I am always behind on these, but yes I love containers.  I just took a short jaunt out of the Windows\Azure\SQL server world to the Linux\AWS\MySQL arena and the company I worked for used Docker containers exclusively and I loved it.  As I dug in I was hoping the same offering was in the pipeline for SQL Server and I was happy to find that was the case.  In the my Linux world they were great with deployments, maintenance, and development.  Now that I'm back in my comfort zone in the SQL Server world I'm excited to leverage containers in this world.  I had started researching using Windows containers and I found them somewhat combersome.  I found the route for me to go was installing Ubuntu on a Windows machine and running cointainers that way.  This was much more inline with what we were doing at my old company and very simple to do.  I feel like if you are comfortable with Powershell, dos commands, or any scripting language it won't take too much to get you going on a linux system.  This was a great discussion.

    • This reply was modified 1 year, 7 months ago by  Ken Overton.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic. Login to reply