Linux is a tried-and-true, open source operating system released in 1991 for computers, but its use has expanded to underpin systems for cars, phones, web-servers and, more recently, networking gear.
It’s longevity, maturity and security make it one of the most trusted OSes available today, meaning it is ideal for commercial network devices as well as enterprises that want to use it and its peripherals to customize their own network and data center infrastructure.
That in turn makes Linux skills highly sought after by IT hiring managers. Many of the new technologies associated with DevOps, for example, such as containers, OpenSource infrastructure and SDN controllers are built on Linux.
So what is Linux?
Linux, an operating system similar to Unix, is distributed under open source licenses meaning the following rules apply that make it attractive to enterprises:
- Linux operating system are free to run.
- Administrators are able to study the OS and customize it for specific purposes.
- Unlimited redistribution privileges of the original or modified versions of the operating system.
The Linux OS is made up of the following components:
- Kernel. This is the core of the system and sends instructions to the CPU, peripherals and memory.
- Bootloader. The processes that manage the booting up of the system. On a computer the user would recognize this by the splash screen that was up. On a network device there’s a status indicating boot process.
- Daemons. Background services that start at boot time or after the system is fully up. For example, the network daemon activates all network interfaces at boot time. Other daemons are things like time and DNS.
- Shell. This is the Linux command line. It can be intimidating for people that are used to working in graphical environments but most network professionals are used to operating in a shell.
In addition to the shell, Linux servers also have a graphical desktop environment and applications that run on top of it. There are some networking applications for Linux, such as traffic analysis, security and network management, that also have graphical interfaces, but they are far fewer in number than those for servers and desktops.
Foundation for commercial gear
In actuality, the command line interfaces (CLIs) that most network managers use today to configure routers and switches from their favorite network vendor are highly customized versions of Linux with vendor-specific interfaces running on top of them. The challenge with this is that the skills needed to work with them aren’t very portable from vendor to vendor. A highly proficient engineer that works with Cisco IOS probably couldn’t work with Juniper’s Junos because they each include their own, different abstraction layer that sits on top of the pure Linux code.
Linux itself, rather than working through an abstraction layer, provides direct access to routing and forwarding tables, notification systems, telemetry information and different interfaces. That can make Linux more flexible, and with the support of the large Linux community, potentially quicker to respond to the need for new services than a commercial vendor might be.
There should be no concern that a Linux based platform is a “lesser” device. Linux has an excellent ecosystem with mature APIs as well as an agile networking stack optimized for the modernized data center. For example Linux is designed with separate control and data forwarding planes making it easy to drop in software-defined networking architectures because separating those planes is the basis of SDN.
Another element that Linux-based products can bring to the network is that the switches can be managed with open-source, policy-based automation and orchestration tools such as Ansible, Puppet and Chef. There are roughly 25 of these tools available with support for different flavors of Unix but all of them also support Linux.
Over the past decade there has been an explosion in the number of Linux-based products that have had a major impact in the IT space including:
- Kubernetes: Container cluster manager from Google
- OpenStack: Software platform for infrastructure as a service cloud platforms
- Open Daylight: Linux Foundation’s java based project to accelerate the adoption of SDNs and Network Functions Virtualization (NFV)
- Docker: Software container program
- Open vSwitch (OVS): Distributed virtual multilayer switch to provide a switching stack inside virtualization environments. OVS in particular is interesting because it offers a richer set of network features than the basic capabilities in the Linux kernel. If OVS is even moderately successful, it could be an excellent precursor of the shape of things to come in networking.
Having the ability to manage, configure and troubleshoot Linux networks is becoming necessary if organizations want to take advantage of any of these projects in production environments..
Linux is certainly becoming more widely adopted across all areas of technology. Networking has been slow to embrace Linux but the more network-dependent businesses get, the more the networking and server domains are being pushed together. For network engineers, being able to access the native Linux shell enables them to utilize tools and software that once were available only for servers. This makes it much easier to orchestrate network services with changes to servers and applications.
Also, the open nature of Linux has created a massive community that is actively involved in finding new ways of using it. Containers have largely evolved through community involvement. As the number of Linux proficient network engineers grows, so will the use cases.