Strictly speaking, Linux is the kernel, or core of Linux distributions. I like to think of the Linux kernel like the base plate for Legos. It’s where all other pieces attach to.
A distribution, or “distro” for short, is a complete operating system including a kernel, packages, package managers, and everything else needed. In other words, distros are pre-assembled building block sets depending on user preference and needs. Red Hat, SUSE, and Ubuntu are examples of some of the more popular distros. There are too many others to list here, but here are some resources to give you an idea.
As a long time Linux user, I can understand why it didn’t take off as a general purpose operating system like MS Windows. There are just too many choices, differences between those choices, and perceived lack of standardization. There’s also the reputation of being difficult to use. Why then would anyone want to use Linux, instead of Microsoft Windows or Mac OS X for example? Like the number of distros, the number of Linux use cases is also very extensive, so I’ll cover just a few popular ones.
Open source software is typically free, though some commercially backed distros such as RHEL do charge subscription fees. Linux runs on many different types of hardware such as IoT devices, personal computers, networking equipment, load balancers, supercomputers, and just about anything it seems. It can run on very low end or less common hardware. This makes it perfect for IoT devices, where processing power may be limited, and cost needs to be kept down.
It also powers very high end hardware, including much of what powers “the cloud.” Servers powering the internet need a reliable operating system that can run continuously without downtime, while maintaining a high level of security. There are far fewer circumstances in which Linux based OSes require a reboot.
Though I wouldn’t recommend it for most use cases, it is certainly possible for Linux devices to run continuously for YEARS without a reboot. It is also much easier to avoid viruses and malware. This is great for web servers, databases, load balancers, routers, switches, firewalls, storage servers, virtual machine hypervisors, and many other pieces of critical IT infrastructure.
The trend to “containerize” everything has taken the world by storm. Though MS Windows containers are now an option, until recently Linux was your only option. It is a much more mature platform for containers. There is much better documentation and support for containers on Linux. It is much lighter weight which allows for much denser deployments, as well as portability.
One example of a popular container OS is Alpine Linux . ” It is built around musl libc and busybox. This makes it smaller and more resource efficient than traditional GNU/Linux distributions. A container requires no more than 8 MB and a minimal installation to disk requires around 130 MB of storage. Not only do you get a fully-fledged Linux environment but a large selection of packages from the repository.”
AI, machine learning, and deep learning are also getting a lot of attention these days. Linux offers a number of advantages in this space, including better integration with containers. There are many examples and lots of documentation to help someone building an AI project on Ubuntu for example.
Want to train your model in the cloud, but deploy at the edge to a low powered IoT device and/or container? You will likely have a much easier time, along with better and more predictable results on Linux.
If you are considering an IoT or AI project, and/or the infrastructure required to support it, Zunesis has the expertise. Schedule an assessment today, we’d love to help!