Where does Microsoft plan on making money in the next few years? It won’t be from selling desktop operating systems... Microsoft are continuing to roll with the fact that it’s too expensive for one organisation to write software. Software needs to be open source, or it can’t compete.
So instead, Microsoft are expecting to make money via Azure. What will be offered from Azure will be some traditional products like Office 365, but the bulk of offerings will be from Services. Until recently, buying an Azure Service would have meant you rented a Virtual Machine running an entire OS on Azure. In the last couple of years, big, heavy VMs have been replaced with fast, lightweight Containers. Containers don’t run an entire OS, they just run the service you require. They are therefore cheaper and faster than VMs, and feed directly into the modern world of offering Micro Services and using DevOps.
So will Microsoft offer only it’s own version of Containers? Not a chance, as this would be too limiting. Instead Azure now runs the standard Linux container – Docker; find out more about installing this in Part 2 of my blog which can be found here.
As of Oct 2017, Microsoft are saying that 40% of Azure VMs are Linux, and 60% of Azure Marketplace images are Linux-based. However, now that Azure has Docker (new in 2017), this figure is set to continue rising rapidly. In fact, a bit of Azure *is* a version of BSD Linux - Azure Cloud Switch is a Linux-based operating system for datacenter switches.
This all means that Microsoft Administrators have a need to learn significant amounts of Linux in order to run their servers.
Who else is going to have to get happy with Linux? Microsoft developers. If a developer writes some C# code using .NET 4.x, the only platform it will run on is Microsoft. Which means it will run on Azure, using a funny old Windows VM. But it won’t run on a Linux Container. Plus it won’t run on any Apple products (iPhones, iPads etc) or Android devices. Both Apple and Android run on guess what? Linux. So if you want to write apps that run as services, using Azure containers, and run on any device, you’re going to have to use .NET Core, and learn a bit of Linux along the way.
When you create a Core app in Visual Studio, you’ll be offered the chance to compile your app for Linux, eg:
Then when you run your app, it will be hosted by Docker, not IIS or IIS Express, eg:
Other Linux Tools Developers Need
As a C# developer, you’ve been used to using Microsoft tools like Nuget to find and download software. Why on earth would Microsoft continue to update Nuget, when there’s a perfectly good set of alternatives available in the open source community? .NET developers will now need to learn all the Linux tools such as Bower, npm and Grunt. These will sometimes have nice Visual Studio mouse-driven front ends, but often, .NET developers will have to run these tools from the command line, just like on a Linux machine.
SQL Server on Linux
Who else might need some Linux skills? Well, SQL Server can now run on Linux, or can be installed in a Docker container. The official Docker image is based on Ubuntu. By July 2017, the SQL Server Docker container had already been pulled over a million times, underlining that there’s significant interest in this technology. So all you SQL Server administrators might need to brush up your Linux too.
Every organisation needs to employ people with good security skills, to make sure their internal data is not easily compromised. To this end, you’ll need to employ a little ethical hacking, and conduct Penetration Tests on your networks. What’s the operating system of choice for Penetration Testing? Linux, of course – generally Kali or Parrot. You can just about get by on these machines with no Linux knowledge, but “just about get by” is not a phrase you want to see in the same sentence as “Network Security”.
Why take a Linux Course?
Linux is predominantly command-line driven, with awkward and often obscure commands. Consequently, it’s super-easy to make mistakes. Quanta Linux courses will teach you what you need to know to avoid mistakes and learn to love Linux. Our Linux courses are always delivered on a fully up-to-date version of Linux (usually CentOS), but also always cover the differences between the major Linux distros (Red Hat Enterprise RHEL, Fedora, Debian, Ubuntu, Kali, Mint, SUSE etc)
Available related Courses:
- Unix/Linux Introduction
- Linux Administration
- Introduction to .NET
- Object Oriented Programming with .NET
- SQL Server Administration
Alternatively, if you have a bespoke requirement or are interested in learning more then do get in touch via our contact form.