Modernizing servers and planning for the future

I’ve been making several changes to my servers in an effort to modernize them while maintaining stability and reliability. There’s been a lot of volatility in the server OS market: from macOS discontinuing several server packages and options to CentOS moving to become an upstream distribution. This has resulted in more-than-expected adaptations in order to future-proof the servers and custom scripts/procedures. Since Apple still offers the ability to replace binaries for Server.app-managed services, I’ll likely be leaving macOS deployments on the latest OS with security update commitments. The plans are slightly muddied for my Linux servers, though.

Latest Improvements

I am was a pretty avid CentOS user and have been running RHEL-derived distributions on all of my servers (with the exception of office installations where macOS Server.app may be used for remote access and configuration). I have been making several configuration changes in an effort to modernize my CentOS server performance (congestion algorithm changes and more modern protocols), which required quite a few changes to packages since CentOS is a downstream operating system without inherit support for modern feature sets and I usually run a LTS release for at least a few years.

CentOS becoming upstream

The announcement from CentOS threw a wrench into a lot of my upgrade path plans and has forced me to re-evaluate my distribution choice. Although it may be easier to remain with a RHEL fork (like AlmaLinux) for binary compatibility: this sudden change is a little disappointing and is driving me to a different distribution with a long history. It has ultimately been a blessing in disguise and has lead me to move to a new distribution with a better commitment to open and free software with a focus on stability. I have experience with Debian and distributions based on Debian (like Raspberry Pi OS). I’m also a fan of FreeBSD, although I’d like to stay in the Linux world for portability of scripts. Debian’s staying power and consistency is really what I’m looking for and is my current planned route (Debian Stable with packages built from source).

Migration Plan

I’m excited to make these changes and have started migrating my servers to Debian. I’m taking this move relatively slowly with a lot of preparation. Thankfully, I’m granted this extra time thanks to back ported kernels and CentOS 7 offering LTS until 2024. This gives me the opportunity to focus on getting this migration right and with very minimal downtime. This allots me plenty of time to re-write scripts, if necessary, prepare new configuration files, and test.

Current Status

Although my primary servers are still running CentOS or some other RHEL fork and I am preparing for the migration to Debian or FreeBSD; I have already migrated some services to different distributions. For example, my secondary/tertiary nameservers are now running Debian or some distribution other than CentOS and have new custom scripts for maintaining them. So far, I’m very impressed with the maintenance of these distributions and am excited for moving all of my servers off of RHEL once I’m confident that I can maintain the current stability I have. For the time being, I’ve been able to improve performance and reliability with CentOS 7, but I am ready to move forward to have a better future-proof plan. I’m hoping to have an upgrade plan ready to be implemented around Bullseye Hard Freeze.

Thank you to the CentOS community and RHEL for all the years of support and distributing stable operating systems! It has served me well and I was happy to be a user! I will still be dipping my feet in the RHEL world through future CentOS Stream versions for other use cases!