Migrating from CentOS to Ubuntu: a guide for system administrators and DevOps
Oliver Smith
on 17 May 2024
Tags: case study , centos , cloud , Cloud migrations , Migration , Open source , Server , Ubuntu , Ubuntu Server
CentOS 7 is on track to reach its end-of-life (EoL) on June 30, 2024. Post this date, the CentOS Project will cease to provide updates or support, including vital security patches. Moving away from the RHEL-based ecosystem might appear daunting, but if you’re considering Ubuntu the switch can be both straightforward and economically viable.
Pentera, a frontrunner in automated security validation, provides a compelling case study to the ease of this transition. They detail how their container-based setup was migrated to Ubuntu with minimal adjustments, leading to enhanced security measures. The move was also positively received by their clients, who appreciated Ubuntu’s reliable history of issuing Long Term Support releases every two years for the past two decades, complemented by extensive community support.
Nitzan Dana, the DevOps Lead at Pentera, noted: “In spite of Ubuntu and CentOS being based on different distribution families, vast sections of our deployment scripts ran smoothly on Ubuntu without requiring any modifications”.
For a deeper dive into Pentera’s migration journey and insights on planning your own switch to Ubuntu, you can explore the full case study or read on for further migration considerations.
Delivering certainty in a shifting ecosystem
The shift of CentOS from a free rebuild closely aligned with Red Hat Enterprise Linux (RHEL) to an upstream project previewing future RHEL updates led to the emergence of competitors such as Rocky Linux and AlmaLinux. These distributions aimed to fill the gap left by CentOS 7, positioning themselves as its natural successors.
However, Red Hat’s decision to make CentOS Stream the exclusive public repository for RHEL-related source code and limiting direct source code access to its customers has complicated the ability of these new distributions to maintain exact compatibility with RHEL.
Canonical, as the publisher of Ubuntu, offers the same version of the operating system to both home and commercial users without distinction between paid or free versions. As an open source project, Ubuntu’s source code is readily accessible for anyone to view at any time for any purpose.
Ubuntu has adhered to its stable release cycle model for two decades, introducing interim updates every six months as a lead-up to the next Long Term Support (LTS) version, which is released every two years in April. Ubuntu 24.04 LTS marks the tenth in this series.
Each LTS release of Ubuntu is supported with five years of maintenance and security updates at no cost to all users. For those seeking expanded coverage, Ubuntu Pro offers a subscription service that includes additional security updates for the broader Ubuntu Universe repository, encompassing various tools, applications, and libraries. This coverage can be extended to 12 years.
Of course, every environment is different so careful consideration is key when deciding to migrate.
Engineering considerations
When moving between a RHEL-based distribution and Ubuntu, it’s essential to consider the release cadence and licensing model, package management, service configuration, security postures and other system-level differences. Public clouds add another layer of complexity, with integrations, tooling, and cloud-specific features playing a critical role in the migration process.
A full exploration of the technical nuances between the two distributions can be found in our recent strategy guide for administrators.
For most organisations, the migration follows a structured approach encompassing several key stages:
- Inventory and assessment: Documenting existing services, applications, and packages, along with their dependencies and configurations, to understand the scope of the migration.
- Selection of Ubuntu version: Deciding on the appropriate Ubuntu version, often balancing the need for up-to-date packages with the stability and extended support offered by LTS releases.
- Backup and data migration: Ensuring all critical data and configurations are backed up and ready for migration, minimising the risk of data loss.
- Software availability: Conducting an audit of software availability to find Ubuntu equivalents for existing RHEL packages, and identifying alternatives or solutions for software not directly available.
- Configuration file transition: Adapting system and service configuration files to Ubuntu’s structure and conventions, which may involve changes to file paths and syntax.
- Integration with cloud services: Confirming that all cloud-related integrations, agents, and SDKs are compatible with Ubuntu, leveraging optimised cloud images where available.
- Testing: Rigorously testing the new environment to ensure all applications and services function correctly, ideally in a staging environment that mirrors production.
- Documentation and training: Updating internal documentation and providing training to ensure that operational teams are prepared for the new environment.
- Monitoring and optimisation: Continuously monitoring the new setup to identify and implement further optimizations and adjustments as needed.
Each of these steps is designed to mitigate risks and ensure a smooth transition to Ubuntu, leveraging its robust community support and comprehensive documentation to address challenges as they arise.
Support considerations
In addition to the wealth of community resources available when it comes to administering an Ubuntu estate, you can also rely on Canonical’s support teams as part of an Ubuntu Pro subscription.
Ubuntu Pro is designed to extend the standard security and maintenance updates provided with Ubuntu’s Long Term Support (LTS) releases, covering not just the main repository but also the universe repository, which includes thousands of additional open-source tools and applications. This extended coverage is crucial for enterprises that rely on a wide range of open source software for their operations.
Ubuntu Pro also includes features designed to ensure security and compliance throughout your estate with minimal downtime. This includes live kernel patching, which allows for critical kernel updates to be applied without rebooting the system, as well as fleet-wide administration with Landscape. CIS and FIPS 140-2 certified components are also available for organisations that need to meet strict regulatory requirements and security standards.
Ubuntu Pro uses a simple, per-node pricing model with the option for additional weekday or 24/7 phone and ticket support. This transparency translates to cost savings for organisations – one life insurance company was able to realise a cost benefit of over 60% as a result of their migration.
All the resources you need to make the switch
If you’re planning on making the move to Ubuntu, whether migrating existing workloads on a public or private cloud, or if you plan to leverage it as the foundational OS for your next company initiative, get in touch.
Don’t forget to check out our full migration guide for a deeper dive into the technical differences between Ubuntu and RHEL-based distributions.
See what our users and customers are saying in the latest case studies from Pentera, Tech Mahindra and New Mexico State University.
Ubuntu cloud
Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.
Newsletter signup
Related posts
Canonical releases Landscape 24.04 LTS
Landscape 24.04 LTS is Landscape’s first LTS release, with a modernised backend, web portal, snap management, and repository management features.
Implementing an Android™ based cloud game streaming service with Anbox Cloud
Since the outset, Anbox Cloud was developed with a variety of use cases for running Android at scale. Cloud gaming, more specifically for casual games as...
Integrating the Ubuntu Snapshot Service into systems management and update tools
Ubuntu recently released a snapshot service to use the archive as it was at a point in history. This article explains how to integrate this into systems...