Sysadmin Snowflakes

In a world dominated by cloud and scale the traditional snowflake of a sysadmin will be an increasingly rare breed. Sysadmins will basically use the community, hivemind, whatever as an outsourced resource to help them get jobs done. They will not feel the need to customize every tidbit out of their OS (Linux, BSD, etc.) because they will have tens of VMs (or more) running in private and public clouds controlled with config management and orchestration tools. Even if their Python is compiled with stuff they don’t need they wouldn’t care as much as they did a decade ago.

Any work done at scale will require pre-built binary packages instead of loving custom compiles on each server. Think of it as Ubuntu versus Gentoo. More teams will use Ubuntu to serve their needs because with a smaller team size their work has actually increased instead of decreasing. Their concerns have moved away from extracting every ounce of speed from one physical machine to extracting value out of $X.xx they are spending in their cloud assets.

It’s hard to change your ways but you just have to if you want to keep up. The ports collection in FreeBSD is a fantastic idea; I love the idea. But when you are creating and dropping VMs in your lab at the speed of your users’ requirements you can’t afford to wait for a VM to be usable in 10 minutes instead of 2. I believe the FreeBSD folks have realized this and have taken steps to rectify this. Poudriere is an example of this realization and effort.

Sysadmins who still want snowflake systems will now instead have to be happy with snowflake package repositories. Their level of focus has zoomed out a bit. Such sysadmins have two primary worries: setup proper config management and setup required package repositories. Gone will be the days when each server was handcrafted. Now servers will serve a purpose for a while and then be replaced by something else as soon as requirements change. The loving handcraftiness will instead need to be directed at service orchestration. The snowflake-loving sysadmins will need to become snowflake-loving service admins instead.

Advertisements

Why I am Leaning Toward FreeBSD

Continuing the series of trying to come up with reasons for choosing an operating system, FreeBSD will be discussed. Although FreeBSD is not Linux, it is Unix-like, nonetheless. I have never used FreeBSD and all things discussed here are second-hand knowledge.

Solid Server

FreeBSD is known to be a very solid server, both stable and secure. In fact, as of today, Netcraft’s list of longest uptimes shows that seven out of the top 10 servers with longest uptime are running FreeBSD. Yes, uptime is not the only indication of a good server but it is at least one.

Free, Maybe Freer

FreeBSD is released under a BSD license. It is an open source compatible license (similar to GPL) but it allows anyone to take the code, modify it, and then not release the modifications. Some argue that BSD license provides more freedom than GPL. I believe both licenses provide different freedoms, although business would prefer BSD for their stuff. On the other hand, GPL gives the same business the advantage of using stuff that other developed for them (and everyone else).

FreeBSD is free (as in candy) and free (as in speech). What more could a free software advocate want?

Integrated

Linux is a kernel while FreeBSD is the whole operating system. With Linux, distributions decide which software to combine with the kernel and create a whole operating system. So with Linux different distributions are not exactly the same. In this scenario, you may be an expert in Debian but may have to re-learn some stuff when moving to Red Hat Enterprise Linux. Not so with FreeBSD. Once you are an expert in FreeBSD, you are an expert in FreeBSD anywhere.

You also get the advantage of getting all your things from one place: FreeBSD creators. All the software and most of the help is in one place. It’s an integrated operating system where one team makes all the decisions and one team does all the stuff for you.

Documentation

I have seen great documentation for FreeBSD. It is not only on their website but also from third-party authors in forms of books, blogs, tutorials, and other. Then there are forums and mailing lists. Yes, all this stuff is available for Linux as well. However, great documentation and help is a great plus for a free product.

Port

In FreeBSD there is only one package management system, unlike Linux where different distributions have different package management systems. This system is called Ports. What it does is download actual source code and compile it on your system, resolving all dependencies by itself and giving you an optimized package for your system.

Hardware Support

FreeBSD can be installed and run on many, many architectures. It means whatever system you may have, it is very likely you will be able to run FreeBSD on it.

Linux Support

FreeBSD has the ability to run software made for Linux with its Linux compatibility layer. So if you go with FreeBSD, you do not lose out on the benefits of Linux applications.

Ecosystem

FreeBSD has other siblings, and together they make an ecosystem. All siblings may not be the same but they are very similar. Another aspect of the ecosystem is because of its licensing. Taking the examples of DTrace and ZFS, they are being ported from Solaris to FreeBSD. DTrace’s license is incompatible with Linux’s but not FreeBSD’s. So it will be available on FreeBSD before (if ever) on Linux.

Conclusion

FreeBSD has many, many advantages. It is a completely free, stable, secure, and well supported operating system. It has lots of applications available and can even run Linux applications. Although it is not as popular as Linux, and may not be as well supported by third-party vendors as Linux, it is a very good option for anyone if they can overcome these things.