Do We Need to Learn Linux?

This week we got an announcement about SQL Server in Containers. Microsoft put out a blog noting that the beta program for SQL Server on Windows containers is suspended. They didn’t give any details, citing “ecosystem challenges and usage patterns” as a reason so suspend the program for the foreseeable future.

Not only that, they noted that they were deleting docker hub images for express and developer, which makes sense from their perspective. They don’t want to support these. From the developer perspective, however, this will break and flow, pipelines, or even local scripts from developers. I understand the desire to delete images, but doing so without any notice doesn’t seem like fair treatment for people using them.

This means that if you want to run SQL Server in a container in production, you likely have to use Linux. Windocks has an alternative with Windows, but Microsoft not supporting this is disappointing. I think that containers will be the future of database development, as they standardize and simplify how we can get an environment up and running. They also ensure consistent environments between developers, branches, automated systems and more. I think it’s going to take years, but that’s the direction where I think many of us will go over time. Those days of the Developer Edition will be gone, and instead we’ll just run a container.

I’ve been using Linux containers for a few years, and they make it easy to quickly set up a clean environment with a new instance and a database or two. In that time, I’ve had to use a little Linux at times, but really, I start a container from a command line and then it acts like an instance I’ve installed. There isn’t a reason to actually do much in Linux. At least not for the core database stuff. Most of the ways that you’ll work with a Linux instance as a developer stay the same.

For system administrators and DBAs, however, you might need to learn more. While setting up an instance on Linux isn’t hard, and easier in a container, if you are called on to work in bash, execute sudo, or some other Linux command, you might want some basic familiarity. Fortunately, you don’t need another workstation as Windows 10 includes a Windows Subsystem for Linux (WSL) that let’s you play around in Linux inside Windows 10.

I think Linux is fascinating, and it’s evolved in many ways since I first saw it in 1991. Even if it’s not something you expect to use daily, spending a few hours learning how to navigate around and get things done is good for your mind, forcing you to learn a bit. The San Diego TIG did a series a few years ago, and you might go through those meetings or pick up a book and spend some time playing around with something new. You never know when this might be required in your career and a little familiarity could give you a jump start in the future.

Do we need to learn Linux? No, but it’s not a bad idea to build a few skills in this area.

Steve Jones

About way0utwest

Editor, SQLServerCentral
This entry was posted in Editorial and tagged , . Bookmark the permalink.

7 Responses to Do We Need to Learn Linux?

  1. Thom Rabey says:

    Steve – nice post. Always a bummer when support is withdrawn, especially suddenly. But there IS this Linux work around. I have been working with SQL server on Linux and you are right, unless you need to do some thing specific you really don’t need to learn Linux to work the instance.
    But, Oh is it hard to learn under fire!
    So a little knowledge could be very timely help.
    And who knows? A person could find out that Linux is pretty useful for a lot of stuff. I am using Raspberry Pi units at $75 to do a ton of automation in Linux – and they can run SQL server as well.

    Thanks for your posts – you are a real treasure!


    • way0utwest says:

      Glad you liked it.

      I think the Linux thing is great, but it’s not great for lots of shops. I don’t know I’d recommend a migration, whereas a move from SQL Server on Windows to SQL Server on a Windows container is easier.

      Love to see an article on SQL Server on a Raspberry Pi 🙂


  2. David Poole says:

    As a complete Linux newbie the best thing I did was work through the basic EdX Linux free course. So many of the Linux command line utilities had me wishing they’d been available in Windows. They would have made by former DBA life so much easier.
    Linux can run Powershell so that’ll ease migration should you wish to.


  3. way0utwest says:

    I’d forgotten PoSh, so thanks for that. I did like so many of the Unix/Linux CLI utilities early on. I recreated some in DOS using scripting or C a long time ago. Now though, PoSh is likely a good way to get a lot of things done. The object pipeline is way better than text parsing.


  4. Pingback: … Other Duties as Assigned | greenmountainsoftware

  5. Over the past 20 years in IT, I’ve had many technical roles including software architect, DBA, big data engineer, systems administrator, infrastructure analyst, and others. Admittedly, early on, I questioned why anyone would bother with Linux when there was Windows, Visual Studio, Sql Server, and MS Office. However, when my career started focusing on big data, I realized open source software, such as Hadoop, really didn’t target Windows. If I wanted to learn big data, I was going to have to learn Linux. I challenged myself to try to be as proficient in Linux as I was in Windows.

    Having spent close to a decade now working in Linux, and 20 years in Windows, I can say that I prefer to do different tasks in different environments. For example, I prefer Windows for email, spreadsheets, word processing, internet browsing, and code I can write in Visual Studio. However, I prefer Linux for ETL, big data, data engineering, cloud infrastructure automation, event / message processing, and data mining.

    For me, the question is not about Windows vs Linux, but rather in what environment can I complete a task most efficiently. Which environment has the best tools for type of work I am expecting.


  6. way0utwest says:

    That’s a great way of looking at it. I tend to think about what’s efficient, but never considered the OS here. To me, it’s a toaster. I know I get do x or y, just need to be comfortable doing it in Win or Linux or MacOS.


Comments are closed.