Picking the Right Operating Systems
For many developers, operating systems are a personal choice. I remember the operating system wars in the ’90s when I was attacked by one side or the other, simply for picking one operating system over another in a review article. I learned that, in many instances, picking an OS is an emotional decision rather than an objective, technical one. If you’re going to get emotional, get emotional about being true to your workload requirements and minimizing costs.
With that said, all operating systems are not created equal. The operating system you pick will affect how your applications and data leverage the processor, storage, memory, and even the network and user interface management, to cover just a few of the top attributes affected by the operating system. You’ll see different performance profiles for the same basic workload on different operating systems. This includes open-source systems such as Linux, where many flavors and builds are put out by different vendors. Even the cloud providers themselves have their own versions that they sell within their cloud.
In many instances, the operating system you leverage will depend on the type, brand, and size of the processor you run. Some operating systems support only a small group of processors, typically those that support a similar architecture. This means they are not binary compatible with other processors and thus won’t work with another processor. The topic of processor and operating system relationships is also beyond the scope of this book. However, it’s a good idea to brush up on the subject before diving into designing specific solutions for your cloud compute configuration.