Archive for Ubuntu

Canonical Takes a Third Path to New Platforms

This was originally published on the Amalgam Insights website.

We are in the midst of another change up in the IT world. Every 15 to 20 years there is a radical rethink of the platforms that applications are built upon. During the course of the history of IT we have moved from batch-oriented, pipelined systems (predominantly written in COBOL) to client-server and n-Tier systems that are the standards of today. These platforms were developed in the last century and designed for last century applications. After years of putting shims into systems to accommodate the scale and diversity of modern applications, IT has just begun to deploy new platforms based on containers and Kubernetes. These new platforms promise greater resiliency and scalability, as well as greater responsiveness to the business.

As is often the case with new technology, Kubernetes and container platforms began as a decidedly DIY affair. Over time, however, software vendors have begun to craft curated platform experiences for sale. The DIY platform is a customized experience but difficult and expensive to engineer; the vendor curated platform is much easier but has more constraints. These are typical tradeoffs seen in any emerging platform environment. Curation reduces risk and degree of difficulty but at the expense of choice. DIY has ultimate choice but requires additional personnel costs, not only to build but to support and maintain the platform. These are the two paths open to IT shops looking to Kubernetes and containers to solve the problems of their 21st century applications.

Canonical, however, is creating a third path to new platforms. At the Canonical Analyst Day (September 12, 2019) in New York City, Canonical CEO Mark Shuttleworth articulated a different vision for Kubernetes platforms than is typically expressed by vendors. Based on their Juju and Charms toolset, Canonical hopes to offer the benefits of the curated experience and the flexibility of the DIY. With Charms, Canonical hopes to encapsulate best practices and integrations, in effect curating the parts. Instead of combining these into a set platform, they are offering Juju as a way to combine these parts, Lego like, into a custom platform. Charms describes what the software should be; Juju says where the software should go. At the component level, Charms knows how to configure, provision, and deploy a piece of software while Juju knows the existing infrastructure and where a Charmed component can and should go.

So, why a third path? The most obvious benefit is flexibility. Most platform plays assume that you will want what they have already tested and integrated. Simplicity is the byword since complexity is harder to do and support. If the platform vendor has integrated Istio and Envoy for the service mesh, that is what is supported. If IT’s platform engineers believe Linkerd makes more sense, they now have the responsibility for figuring out how to integrate it and manage its deployment. It’s a simple trade off – the cost of engineering versus the constraints of pre-determined components. While this works for a lot of applications, there are plenty where deviation from the platform is called for. The third path that Canonical is envisioning changes that dynamic. It provides the advantages of DIY with the advantages of the curated platform. This is not to say that DIY or curated platforms are wrong. For many companies, one or the other works for them. Not all IT environments, however, can go in the two common directions. They lack the resources to build their own platforms from scratch but need more flexibility than a standard platform can give them. They need purpose-built platforms at standardized pricing. This is where the third path becomes valuable.

It’s not at all unexpected that Canonical would take a path that diverges from the pack. This has been their modus operandi since the very beginning. The Charm-Juju experience is just another example of Canonical refusing to accept the status quo and, instead, looking for a way to forge a different trail through the woods of IT.

Why Linux Desktops Haven’t Taken Over the World

KDE Plasma Splash Screen

There’s no doubt that Linux has taken over the datacenter. Walk into any major datacenter in the world and there will be racks of Linux servers with only a handful of Windows Servers. Most cloud services are based on Linux as well. Some big banks still have ancient mainframes but many of those are using Linux. Even Microsoft has embraced Linux! To older technologists that’s like hearing the Pope has embraced Satanism. What began as a hobby more than 25 years ago is now the dominant server operating system. So why then do we see so few Linux desktops?

To answer that question, some myths need to be dispensed with immediately. They are:

  • Linux Desktops are Hard to Use. Not at all. Sure, 25 years ago when Linux was a DYI sort of operating system and everything had to be configured by hand it was damn hard to install and maintain. Now? Not so much. Linux desktops have a host of utilities that make installation, maintenance, updates, and acquiring new software easy. Snap and Flatpak are making the bundling and installation of software, well, a snap. Most major distributions* have, for years, come with utilities to find and install third party software in an application store. This was long before the Microsoft Store and Android application stores existed.
  • Linux Desktops Are Primitive and Ugly. Right away, we need to get something out of the way – aesthetics matter. If someone is going to stare at a desktop for hours on end it had better be decent enough to look at. Functionality is important too. A clunky user experience (UX) becomes a drag on productivity over time. This is why Microsoft has put so much effort into the Windows 10 UX and aesthetics over the past few years and why Apple’s macOS is still around at all.
    This criticism of the Linux desktop UX is outdated. Distributions such as Ubuntu by Canonical, Elementary OS, and Linux Mint have complete and rich user experiences. Most use a variation of Gnome or KDE Plasma desktops but, as is the beauty of Linux, they can be replaced with something that suits individual styles. Gnome appeals to a more minimalist approach, while KDE Plasma is fond of Widgets. Elementary OS uses its own variation on Gnome that makes it much more macOS-like. All use modern motifs that are instantly recognizable to the average consumer.
  • Nothing Runs on Linux. Actually, a lot of software runs on Linux, most importantly browsers. As more software is consumed through the browser, it has become the single most important piece of software for any computer to have. The two most common browsers, Mozilla’s Firefox and Google Chrome, run on Linux. In addition, there are many other browsers, such as Midori, that run on Linux including some specialized browsers that only run on Linux. A lot of software common on Windows or macOS desktops is also available for Linux including Spotify and Skype. Most open source software, such as LibreOffice and GIMP, have their roots in Linux and are also cross-platform.

Linux desktops have two obvious advantages. First, they tend to have lower resource needs. There are distributions that can run on computers with as low as 256MB of RAM, although they are very limited in what they can do. Linux can run comfortably on a computer with only 2GB of RAM and a rather tiny hard drive. A Linux desktop can run on a single board computer such as a Raspberry PI. This is why modern Linux desktops are a great way to keep using an old computer that can’t upgrade to new versions Windows anymore.

The second advantage is that it is often free. Most major Linux desktops can be downloaded and installed for free. There are also thousands of useful applications that are equally free. Unlike software from individuals which can get old and stale if the author gets bored or distracted, most free Linux software is supported by open source communities and foundations that work to keep the software fresh and modern.

Given the advantages of Linux and having debunked the myths, here are five reasons why Linux has not taken over the desktop as it has the server:

  • Free Software Comes at A Price – Support Is Not Included. Yes, there is support from the “community” but that is different than having someone to call and get guided assistance. There are paid support plans for many distributions and, while it’s still not very expensive for commercial users, paid support is relatively expensive for consumers. This is especially the case when a paid operating system, such as Windows or macOS, comes pre-installed on a computer and includes support.
  • Old Software. Everyone has legacy software. For a consumer, it might mean an old game that they love or that greeting card builder from 2001. Companies have lots of homegrown or purchased software that only run on Windows or macOS. In either case, this software is too expensive or difficult to replace even if it is only used occasionally.
  • Inertia. Whether it’s companies or individuals, it’s often easier to stick with the familiar. Investments in knowledge and support, not to mention software, are preserved. This dynamic can change when the familiar OS changes radically, such as the case of moving from Windows 7 to Window 8.
  • It’s Not What Is Used at Work. What is used at work often dictates what happens in the home. Early in personal computing, Microsoft was able to get a foothold in the workplace while Apple was looking to win over the consumer. Look how that turned out. It’s much easier to know one operating system for both work and home.
  • Microsoft Office. All of the other reasons for the lack of traction of Linux desktops can be overcome in a number of ways. One can use a switch to Linux as an opportunity to upgrade other software, learn new things, or come to the realization what home and work are different spheres of life. The one thing that Linux desktops cannot overcome on its own is that Microsoft Office for Linux simply doesn’t exist and everyone uses Microsoft Office. The open source community can push LibreOffice or any other alternatives until the Sun burns out, but it won’t change the fact that the mass of companies and individual consumers use Microsoft Office. The browser version of Office is okay, but everyone needs a desktop version either for the features or because they don’t have a decent Internet connection. Using a Linux desktop laptop on an airplane means not using Microsoft Office and having to rely on software that has a different user experience and imperfect compatibility.

There will always be individuals and companies that will adopt Linux desktops for philosophical or cost reasons. Linux is great for reviving an old computer that would otherwise be useless. It is also possible to use only Free and Open Source (FOSS) software with a Linux computer, which some people value. The same cannot be said for Microsoft Windows or macOS from Apple. Developers also adopt Linux desktops since they sync up well with the server environments they are working with. The masses of computer users, on the other hand, are unlikely to switch until Microsoft Office is available for Linux and there is a decent Windows compatibility layer. Until then Windows owns the desktop, with macOs the alternative for Microsoft haters.

* A Linux Distribution is a bundle of software that runs on top of the basic Linux system. desktop distributions include a desktop environment and a series of free applications including a browser and usually the LibreOffice office productivity suite.