In our latest video our CTO, Jamie, shares some insights on why you should be using Linux for your servers:
See below for a full transcription of the video.
Hi. I’m Jamie, I’m the CTO at Flaunt Digital, and today we’re just going to cover a few points for why you should be using Linux on your servers.
1. Stability & Choice
The first thing I want to cover is stability and choice. So, Linux depending on how much experience you’ve got of it you may or may not know that there’s loads of flavours of Linux you can download. So, if you compare this to something, like, Mac OS or Windows there’s only so many sort of versions you can get, whereas, with Linux, because it’s an open source-based software, everyone’s got their own take on it. What basically this means is there’s loads of choice in terms of what type of packages you get built in with your software. So you can get servers that are more tailored for one task than another. So it essentially means that you’re going to have a more stable operating system because you can get rid of all the junk.
So, for example, Windows server…you generally get a graphical user interface with it built in by default. Whereas, if you know you’re only going to be using command line on a Linux distribution then you can just go ahead and grab one that doesn’t have something like that included. This goes a long way to making it more stable and sort of less prone to crashing.
2. Cloud Server Preference
Second point is which cloud provider you prefer. So, again, we’re all in on Amazon Web Services and they’re big advocates of open source, and their initial offering for their servers was all Linux-based and they’ve sort of become a way to differentiate Amazon from the other providers.
So obviously, as you can imagine, Microsoft’s cloud offering is primarily Windows-based. So although they do offer Linux servers you can imagine that they’re going to have a leg up on the competition, especially Amazon and Google, when it comes to offering Windows systems.
So, because we’re all in on Amazon, basically, we love using their stuff, it’s the best supported. So that’s another great reason to stick with Linux if you’ve got an affinity to using Amazon Web Services over Microsoft Azure.
Next thing is open source. I know I’ve mentioned this a couple of times. This is really important for us at Flaunt Digital. We love contributing back to the open source community and we love making use of open source platforms and open source software so whether this is PHP, MySQL, or Ubuntu.
These are all open source packages or operating systems that are all really well supported by other open source systems. So the integration between these open source packages is much greater than an open source package with a closed source operating system such as Windows or Mac OS.
So, you’ll find if you want to install PHP on Windows, for example, you might have a harder time than you would if you wanted to install it on Ubuntu, because you find that open source software maintainers like to stick with other open-source pieces of software.
Another one which is a little bit contentious is security. And now this is a bit of a tradeoff here because with open source software, generally, the source code is available for anyone to read. So, that means security researchers or corporate backers of the open source community can read and amend this code or they can find bugs much quicker whereas closed source software is obviously only available to review or fix from an internal point of view.
So, although bugs do get found from outsiders it’s much harder for them to find. It’s more like a penetration testing experience to find these bugs. Whereas with things like Linux or Ubuntu or packages that go into that software anyone can read that and contribute back to it. So, you may think, “Wait a minute, well if they can see the source code it’ll be quicker or easier for them to find bugs in that source code. And if they don’t contribute that back then it becomes a security issue.”
Now, that is true and that does happen on time to time. But in the main part really it’s for the best and for the greater good that everyone can read the source code. Because if you’re deploying a big client system, it’s a big production system and you’re doing it using closed source software you don’t know what that software’s doing. At the end of the day, it could be a malicious software. So, if it’s Linux then you know that people have looked at it and you can look at it if you’re that way inclined. You can literally look at the exact code that you’re running or deploying for clients.
And last but not least is affordability. I mean this is an age-old way of comparing Windows and Mac OS. I know Mac servers aren’t very popular anymore but comparing a Windows server to a Linux server you pay a license fee to install Windows with that server or desktop. On Amazon Web Services it’s pretty much an exact double of the price, so you pay about 13 cents for a Linux server in Ireland for the smallest one in AWS. Whereas it’s about double that, I think it’s about 24 cents per day, for a Windows server.
So, you’re pretty much doubling your price there. I know it doesn’t sound like much money but obviously once you scale up and you’re using fleets of servers and you’re using ones with lots more RAM or CPU it adds up.
Another facet that people don’t consider here is if you want to test things locally or in-house before you deploy them then you’re much better off testing on the same machines that you’re deploying to. So, that basically means that you’re going to have to run the same software stack in the cloud or at your server provider as you are in your office or on your local machine.
Obviously, if you’re paying a license fee somewhere you’re going to be paying it again. You don’t get that included. So, if you’re using free software obviously there’s nothing to worry about with stuff like that, whereas, if you’re using paid-for software you’re going to be replicating your fees each time which can add up especially when you’ve got a lot of servers running.
And that’s it. So, there’s a few different points to think about there in terms of Linux servers. Just to stress, each to their own though. There’s no right or wrong answer for this and it does depend what software you’re deploying. So, if it’s something that is going to run better on a Windows or a Microsoft stack, whether it’s a .NET application or C# application, then obviously you’re going to be tied to that stack just by the way that the software’s written.
So, there are a few circumstances that you’re going to need to consider but, in our opinion, we always choose Linux for our software for the reasons outlined.
That’s all for today. Cheers.