The importance of canary deployments in 5G networks
In the rapidly evolving landscape of 5G+ wireless networks, deploying new software and updates requires a deployment strategy that ensures minimal disruptions and optimal performance. One approach that is rapidly becoming a best practice is the canary deployment. Unlike the Proof of Concept testing that teams typically use to measure early feasibility of new features, this technique allows organizations to roll out new features or upgrades gradually, monitor their impact, and mitigate potential risks before a full-scale release. In this blog, we’ll examine the concept of canary deployment strategies, their applications in the telecom sector, and their role in shaping a seamless user experience.
What is a canary deployment?
A canary deployment strategy is an incremental software release technique employed in Continuous Integration/Continuous Deployment (CI/CD) software development and software release management. Instead of a wholesale release of a new software version, canary deployments introduce changes to a subset of users and/or systems first. Named after the “canary in a coal mine” concept, a canary software release is used as an early indicator of adverse conditions that an upgrade or maintenance release might cause. This controlled approach to software releases minimizes widespread issues and provides valuable insights into potential defects prior to a full-scale software release.
Figure 1: Canary release
Who utilizes canary deployments strategies in the telecom industry?
A broad spectrum of players in the telecom industry can use a canary deployment strategy.
- Telecommunications providers: Companies operating in the telecom sector (such as network infrastructure, virtualized CU/DU, SDN, and 5G core) rely on canary deployments to ensure the reliability and stability of their network services. By incrementally introducing changes, they maintain network integrity and optimize performance.
- Cloud Service Providers: Providers of cloud computing platforms and services can leverage canary deployments to manage updates across their infrastructure, virtual machines, containers, and serverless environments. This approach helps them gauge the impact of changes in various regions or availability zones.
- Internet services: Entities delivering internet services (like search engines, CDNs, and media platforms) adopt canary deployments to navigate updates effectively. Rolling out changes progressively allows them to measure performance impact and user experience before widespread implementation.
- Software development teams: Both internal development teams and software product companies use canary deployments to gain insights into new versions’ stability, compatibility, and performance. This early feedback enables them to fine-tune before a full release.
When to use canary deployment strategies
Canary deployments are especially well suited for mission-critical systems that leverage the O-RAN Service Management and Orchestration architecture. Some specific examples of when a canary deployment might become a best practice for operations teams include:
- New feature rollout: Introducing new features entails potential risks. Canary deployments allow controlled testing and validation before widespread customer and user exposure, ensuring a seamless user experience.
- Software updates: When deploying software updates, canary deployments identify and resolve potential problems before affecting the entire system.
- Infrastructure changes: Modifications to critical infrastructure components necessitate caution. Canary deployments help evaluate the impact and stability of changes, safeguarding the performance of production systems.
- Performance optimization: Canary deployments validate the effectiveness of performance optimizations. Monitoring metrics and user experience helps organizations gauge the impact and fine-tune optimizations, if required.
- Risk mitigation: Deploying high-risk changes requires careful planning. Canary deployments enable organizations to monitor and mitigate negative impacts on a smaller scale before wider implementation.
- Compliance and security updates: Organizations who need to adhere to regulations or to implement security updates benefit from canary deployments. This method ensures compliance of a security patch’s impact on a smaller scale before complete deployment.
Canary deployments strategies and the disaggregated RAN
Canary deployment can be a helpful tool for deploying software releases or configuration changes to the disaggregated RAN. In addition to helping reduce the risk of introducing new bugs into the network’s distributed CUs and DUs, it can be part of a reliable CI/CD pipeline for ensuring that new software is compatible with the existing network software stack.
An example of canary deployment best practice might include:
- Identify “the canary,” a small subset of applications running on the CU/DUs to serve as the deployment pilot.
- Deliver and install canary software to the selected applications.
- Monitor the canary software for performance or stability issues related to the software upgrade.
- If no issues are detected, deliver and install the software upgrade to the remaining applications running on the CU/DUs in the network.
Figure 2: Canary release in a disaggregated RAN
The canary release methodology can also be used as a sandbox, where canary users can test new features before deploying them into the production environment.
Canary deployment through rApp
A canary rApp is a unique application that effectively mitigates the risks associated with new software upgrades in both RAN and cloud infrastructure. Without a Canary rApp, network operators face challenges including service disruptions, network congestion, compatibility issues, rollback complexity, and resource constraints.
Implementing canary deployment strategies through rApp for vDU or vCU provides a significant advantage. It minimizes disruptions, maintains minimum network KPIs impact, and enhances the user experience when making changes to the software or specific functionalities (like carrier management or scheduling logic) of vDU or vCU in a phased approach. These changes encompass activities such as software upgrades or downgrades for vDU or vCU, planned or unplanned maintenance, and activation of redundancy mechanisms.
Once the changed software function is confirmed to be functioning as planned, network KPIs are maintained, and the software is incrementally deployed across a wider cell base through rApp.
Are canary deployments right for you?
Canary deployments have emerged as a vital technique in the telecom industry’s continuous quest for reliable, efficient, and secure software upgrades and maintenance. By gradually introducing changes, organizations can safeguard user experience, prevent major disruptions, and optimize performance. In a field where connectivity and quality are paramount, canary deployments serve as a crucial tool to navigate the complexities of software deployment in highly distributed and disaggregated systems, ensuring seamless operations.