1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
There has been a great disturbance in the force lately. Microsoft, once the second biggest enemy of Linux (SCO Group takes top honors there), has been positively giddy about not just supporting Linux but actually building tools to run Linux in Windows and Windows software in Linux.
You can run <a href="http://www.theregister.co.uk/2016/04/07/windows_10_with_ubuntu_now_in_public_preview/">Ubuntu inside Windows 10</a>, install CoreOS and Docker containers inside Azure, even fire up SQL Server on <a href="https://www.theregister.co.uk/2017/01/23/microsofts_linux_lovein_continues_with_suse_support_in_sql_server/">SUSE Enterprise Linux</a>.
It's a veritable Linux love fest up in Redmond, which is a distinct about face for a company whose CEO once called Linux a "cancer".
But one thing I haven't heard a lot about is what it's like to actually use these new tools and more importantly is anyone using them? It's impossible to objectively answer the latter question, but one thing's for sure, Linux distros are betting that people will.
Red Hat and Ubuntu were involved right out of the gate, but since then the SUSE project has rushed to bring support for Microsoft's SQL Server to openSUSE. When it launched SQL Server for Linux supported Ubuntu and was coming to Red Hat. That SUSE quickly picked it up as well says that at least some aspects of the enterprise are itching to get their hands on SQL Server without giving up their Linux infrastructure.
All of Microsoft SQL Server's competitors are available on Linux, but until the recent announcement, SQL Server was not. That meant that if you wanted SQL Server you had to forgo Linux, which might mean losing all sorts of other tools you need. At the very least it meant that SQL Server had a cost above and beyond the financial.
Now that SQL Server is on the major enterprise distros that non-financial cost is gone. And while open source supporters might be loath to admit it, SQL Server actually does have some advantages over competing open source projects. Perhaps the best things about SQL Server is the plethora of tools that exist around it, particularly tools that allow those with little to no SQL knowledge to build powerful databases and run queries without learning how to do table joins. The level of abstraction that SQL server offers makes it more accessible than many similar tools.
SQL Server on Linux eliminates the tight coupling with Windows and will most likely end up making Microsoft more money since it provides an in-road for SQL Server in all-Linux enterprise deployments, a place it would previously have been off the table. It also makes it easier to get SQL Server into the largely Linux based world of container computing.
There's a lot of hype around container-based computing, but believe it or not some of that hype is deserved. Containers make it possible to run just about anything anywhere. The underlying OS becomes largely irrelevant. Red Hat's <a href="http://www.projectatomic.io/">Project Atomic</a> provides the best linguistic clue about what this means: right now, containers are the atomic unit of computing.
Once you have everything you need in individual containers you can deploy them on any platform you want. The only thing that matters is which set of tools you want to use to manage your containers. Microsoft's Azure platform happens to support all the popular choices right now: DC/OS, Docker Swarm and Kubernetes, which makes Azure a compelling option for a very un-Microsoft reason: choice.
And believe it or not, Azure is actually pretty nice. My experience is limited to a single client, but Azure has been stable, has a wealth of management tools that don't require years of sysadmin experience to use and it supports just about every container management system you want to use. It's every bit as good as AWS and, frankly, it's the only real alternative out there. While AWS is a fantastic system it has a virtual monopoly on "cloud" based development and if you don't think that's bad (because AWS is good) you haven't been working in this field long enough. Azure may well turn out to be the best thing that's happened to the devops/sysadmin world if for no other reason than providing meaningful competition for AWS.
It should be no surprise that Azure has been the object of Microsoft's obsession lately, after all current CEO Satya Nadella previously ran the Azure group. While Steve Ballmer may be gone, it's clear that his "developers, developers, developers" chant still echos about in the halls of Redmond. Microsoft recognizes that it needs top developer tools to give to its top developers. And that's why you can now run Bash inside your Windows 10 install. That gets you a "native" experience in the shell with tools like awk, grep and all the other developer favorites.
Technically speaking this is not Linux running in Windows, Linux is a kernel and there's no kernel here. Intrepid hackers have, however, managed to get <a href="https://www.reddit.com/r/Windows10/comments/4rsmzp/bash_on_windows_getting_dbus_and_x_server_working/">the bulk of Ubuntu running in Windows</a>. That's not officially supported yet, but clearly the underlying tools make it possible to really run Ubuntu in Windows. The official Bash plus Ubuntu under the hood make it more like GNU running in Windows, which is actually slightly more outrageous from a historical point of view.
Whatever the case, while I'm not about to suffer Windows 10 on a regular basis, at least now I can use the basic set of Bash tools I'm used to without running a virtual machine, which means everything is faster and there's less frustration.
Still, every time I use it I can't help wondering, why not just run Ubuntu and put Windows in the virtual machine? Part of me thinks this move was -- in addition to a PR play -- mostly aimed at Microsoft's own developers. The company probably isn't quite ready to hand out laptops running Linux to employees, but it does need those tools available for developers and it also seems to grasp that improving the dev tools in Windows is not good enough. Bring Linux into Windows and your problems are solved.
There's also the developer mind share to consider. Let's face it, it's been a long time since anyone really cared about Windows. When was the last time you heard about a hot new technology for Windows that was developed by someone other than Microsoft? When was the last time you heard about a hot new startup building its infrastructure on Windows?
Even if Windows soldiers on in the established enterprise market, it lost developer mind share and enthusiasm years, if not decades, ago. Azure though, it does have some of that new hotness around it. That's part of why it already has a significant share of the so-called Infrastructure as a Service (IaaS) market. With SQL Server available on Linux and all the basic shell utilities running in Windows 10, many a sysadmin's life just got a whole lot more bearable.
It does have one big feather to put in its cap though: Azure is well ahead of Google Cloud Platform and Microsoft is clearly hoping that the Linux-backed announcements over the past year will propel it even closer to Amazon's heels.
|