When migrating to CentOS Stream makes sense (and when it does not)
Red Hat announced over two years ago that they were altering their approach towards CentOS Linux, which involved discontinuing support for the widely popular stable release of CentOS Linux and shifting the focus to CentOS Stream. During the announcement, Red Hat seemed to imply that migrating to CentOS Stream from CentOS 7 or 8 would be seamless for workloads. This change would be advantageous for the ongoing development of enterprise Linux.
However, the decision faced strong opposition from the community. With Enterprise Support for Almalinux, companies can extend the support lifecycle of their AlmaLinux workloads to 16 years as well as improve their security posture by adding automated non-disruptive security patching + break-and-fix support, extended security updates with continuous FIPS compliance, and pay-as-you-go hourly support that enables you to only pay for what you need.
CentOS Stream remains largely similar to CentOS as it is a binary compatible with RHEL. But the update frequency sets it apart, with CentOS Stream being updated weekly compared to every six months for stable CentOS. This particular difference can have significant implications for a variety of workloads.
Is CentOS Stream for Production?
Red Hat’s original announcement suggested that CentOS Stream could work well in enterprise environments, as demonstrated by Facebook’s use of an OS derived from CentOS Stream to handle large workloads. However, a document published by Red Hat contains a quote that states, “…It is not designed for production use. It is intended as a development platform…” and recommends that users opt for Red Hat Enterprise Linux instead, which is not free, unlike CentOS Stream.
The message surrounding CentOS Stream is somewhat conflicting. On the one hand, Hervé Lemaitre, Red Hat’s Chief Technologist in the EMEA, stated in an interview that migrating from CentOS 8 to CentOS Stream is a straightforward process involving just two commands. Similarly, Brian Exelbierd, a RHEL Product Manager, indicated that – in some cases – he could replace CentOS 7 or 8 with CentOS Stream without anyone noticing, implying that it is a production-ready system.
Is CentOS Stream Stable?
Although CentOS Stream is built on the same codebase as RHEL, it is less stable than RHEL, known for its stability and reliability in enterprise environments. We can safely say that “a stable release OS with a guaranteed maintenance window” is not what CentOS Stream is. Red Hat’s decision to move towards CentOS Stream has created significant challenges for many users, but not everyone.
In fact, the wholesale move to CentOS Stream has its advantages in some ways. Red Hat can focus limited CentOS resources on a single product that is better suited for ongoing development and community feedback, which could even be a better solution for a cloud centric world. However, the use of CentOS Stream in production workloads is another matter altogether.
CentOS Stream may be suitable as a drop-in replacement for CentOS Linux 8 in simple, isolated, and non-critical circumstances without any third-party applications relying on it. But it may not be viable for most production workloads. These workloads typically rely on multiple software solutions, of which the OS is just one, and necessitate stable snapshots for certification purposes.
Use Cases that Could Work Just Fine with CentOS Stream
If you are considering migrating to CentOS Stream, there are some cases where it could work well for you. This section explores some scenarios where migrating to CentOS Stream may be as easy as executing a command line.
The OS you use is of little relevance
In certain instances, the applications running on your OS may be largely independent of the underlying OS. This means that significant changes to the OS would not affect these applications unless it affects the platform the applications run on. If that is the case, responses to changes in CentOS Stream may be well organized.
Small, non-critical environments that can adapt
CentOS is not only popular in large production environments, but also commonly used in small environments, and sometimes even running as just a single instance. Depending on the workload, you may find that the relatively small risk of something breaking after a CentOS Stream update is manageable and that you can afford the downtime.
Similarly, if you use CentOS as a desktop OS within a development environment, you may also find that CentOS Stream works well. However, if your development work relies on a stable release, CentOS Stream could cause problems.
You have a strong team and you build your own OS
In certain large-scale or highly specialized environments, teams may customize a CentOS release for production purposes and repeat the process when the next CentOS release has sufficient improvements. Red Hat leadership pointed to the Facebook example as an illustration of this. These teams have the in-house expertise to handle these tasks.
CentOS Stream simply accelerates this existing process. You can still opt to “pause” CentOS Stream and derive your OS from it when you choose to do so, which won’t matter to you if you lose the stable release version of CentOS. However, this is a strategy that only a relatively small proportion of CentOS users can afford, as the required skill set is in high demand and difficult to find, which incurs significant in-house costs.
Use Cases Where CentOS Stream Probably Won’t Work
Earlier, we mentioned that many users in the community were unhappy with Red Hat’s decision to remove a stable 1:1 connection to RHEL releases. This decision causes significant problems for many types of workloads. Here are some use cases where migrating to CentOS Stream is likely unsuitable.
When OS stability and compatibility with RHEL are paramount
Ultimately, migrating to CentOS Stream depends on the structure of your workloads, the dependencies of your applications, and the potential implications of downtime, including any impact on other machines. There is a risk that an update to CentOS Stream could break something in your workload, such as an updated library. With stable releases, there is always a testing and implementation period, but this is not the case with streaming updates.
If even small changes in CentOS could potentially disrupt your workloads, you should definitely think twice before switching to CentOS Stream. The rapid pace of updates means that testing environments will have a constantly shifting target to aim for, making the usual testing window quickly obsolete. This can also impact other processes within the company, such as feature rollouts.
Application certification is required
Certification of applications on specific versions of RHEL guarantees that they will run and receive support. CentOS has traditionally offered the same benefit as enterprise-grade applications certified to run on RHEL that would also run on the free CentOS.
However, this certification is broken with CentOS Stream because significant changes can occur from one release to the next. Vendors cannot feasibly certify their applications on a weekly basis. Therefore, users who run RHEL-certified applications on CentOS Stream risk losing support and breaking compliance.
Cases that require that baseline performance must be an exact match
Situations where baseline performance must match previous runs are another reason why CentOS Stream may not be suitable. For example, scientific calculations that need to be compared to prior results can be affected by even minor changes in library versions, which will occur more frequently in CentOS Stream. Similarly, highly stable platforms are required for high-performance computing (HPC) environments, a level of stability that CentOS Stream may not provide.
However, this is not always a negative aspect. Recent tests have shown that CentOS Stream 9 has significant performance improvements. Nevertheless, this can invalidate previous results, and results obtained one week may no longer be valid the week after due to the rapid update pace of CentOS Stream.
A more nuanced view of how CentOS Stream relates to the now-discontinued CentOS Linux is slowly filtering through the community. But the reality is that the change affects a large proportion of users for whom migrating to CentOS Stream is not an option. This change has forced some users to seek alternatives, such as AlmaLinux or RockyLinux, which are 1:1 binary-compatible RHEL clones with stable releases that should work for application certification.
For AlmaLinux, organizations can get several enterprise-grade support benefits by adding Enterprise Support for Almalinux. With Enterprise Support for Almalinux, companies can extend the support lifecycle of their AlmaLinux workloads to 16 years as well as add automated non-disruptive patching, extended security updates with continuous FIPS compliance, and pay-as-you-go hourly support that enables you to only pay for what you need.
For those using CentOS 7, switching to AlmaLinux is a relatively smooth transition. You can see how easy the migration is in our blog post that details how it’s done.
However, if you aren’t yet ready to migrate, purchasing extended support, such as TuxCare’s EOL support for CentOS 7, will give you plenty of time to decide. With TuxCare’s Extended Lifecycle Support, you can add 4 extra years of security support while you decide your next move.
Regardless of your situation, not taking action is not an option. So think through your CentOS usage patterns and decide which category your workload fits in – and act fast to get extended support if you need it.