CI/CD in O-RAN design
In this post, we briefly present, how the concept of open RAN meets immediately one of the key approaches in distributed software design, mainly CI/CD. Clearly, these two domains cannot be compared directly, but as we will see, the O-RAN concept modifies significantly the whole software design process.
From black box to structure openess
As we discussed previously (see What is Open RAN?), the current world and national economic development will be significantly driven by the practical and wide-scale deployments of the 5G (and beyond of course) cellular networks. The important part of this process is the prospective transition from the traditional Radio Access Network (RAN) architecture to its open variant known as Open-RAN (see also Introduction to O-RAN). In the former case, the hardware manufacturers are typically delivering the harmonized and integrated solutions to Mobile Network Operators (MNOs), leaving them rather limited possibilities of potential configuration. In contrast, the O-RAN approach benefits from the RAN virtualization and its structure openness. Thus, the underlying hardware can be abstracted, allowing for easy and flexible modification of the software installed on it. Next, the openness of intra-RAN interfaces creates opportunities for flexible software delivery by various telecom vendors. Moreover, the software running in the open RAN-supported hardware can be structured in a specific way, where selected algorithms (which are needed for operating the wireless networks) will be treated as separate applications, managed by the dedicated controller, called RAN Intelligent Controller (RIC, discussed in O-RAN RIC).
Nowadays, the so-called Development Operations, known widely as DevOps, became highly popular, as they combine the practices for operations and development. These practices include, i.a., the reduction of the failures in new releases of the product, reduction of the time-to-market, as well as the shorter time between the failure fixes. Moreover, DevOps leads directly to the improvement of deployment frequency of the considered products.
DevOps is automatically correlated with the continuous integration (CI) and continuous delivery approach, known shortly as CI/CD. Not going into details (there are many great materials about DevOps, and CI/CD, just to give a hint – see ) let us briefly summarize that the idea behind CI/CD deals with as frequent delivery and integration of new code as it is rationally justified and needed. Instead of delivering new big, black-boxed released, the end-user (client) is able to use the current version of the software (tool in general), which is being successfully updated and improved.
Containerization and virtualization
As we said, the progressive RAN softwarization and openness of its architecture including communication interfaces, move the RAN implantation close to the currently popular trends within efficient code delivery – such as the above-mentioned CI/CD scheme. As stresses, this approach assumes that instead of providing the new updates of the product in form of new big releases (or significantly large packages), the final product is upgraded continuously by means of small patches while keeping it operational all the time. In turn, the whole programming process has to be specifically designed towards high automation of test and reliability of code integration, as well as towards high modularity. In addition to virtualization, where the underlying hardware is abstracted, software containerization has recently become highly popular as a light-wave trend, complementary to the creation of virtual machines. Thus, the up-to-date software providers may operate taking profits from both: hardware abstraction, and the ability to create isolated spaces within the same operating system for advanced automation and short-time operations. In that light, the practical realization of the RAN environment may become more and more softwarized, virtualized, and containerized.
Now, going beyond that – clearly, how the software is delivered to the O-RAN operator is a different story, but let us notice that the CI/CD approach can be adjusted to the overall RAN design. This concept we discuss is below. If this will be the real case in practice, the future will tell.
RIC and xApps – Towards CI/CD approach in RAN design
Having this in mind, the ORAN providers may in turn benefit from modular updating of selected RAN functions, and in general from continuous and systematic code improvements. The up-to-date solutions in computer science jointly with the openness and modularity of O-RAN architecture and interfaces (see also, O-RAN Architecture, Nodes, and Interfaces), create the basis for a new RAN development paradigm. In particular, it is expected that instead of being part of the black box, the particular functionalities of RAN may be modularized, separated, and – what is most important – may be delivered and upgraded by various software providers. Such functions include i.e. traffic steering, admission control, radio resource management (RRM), interference management (IM), user paring into layers in massive MIMO networks, etc. As they operate as separate – to some extend – entities that communicate by means of open yet precisely defined interfaces, they can be conceptually easily:
- uninstalled – if the functionality in a current form is no longer needed; e.g. instead of RRM realized per single base station, the operator decided to apply advanced coordinated solution;
- upgraded – when new version of the module has been released; e.g. the current provider of the IM module has equipped it with new functionalities adjusted for higher number of antennas installed on the mast;
- replaced – when the existing piece of software will be removed and the new one delivered by other software providers will be installed;
- added – when the ORAN operator decided to apply or test new functionality, e.g. it would like to test new non-orthogonal multiple access (NOMA) schemes offered by some research entity.
All of the above-mentioned operations may be done continuously and to some extent automatically. Thus, the ORAN concept can modify the way the RAN software is delivered to and managed by the ORAN operators – in the prospective free-market model, the dedicated RAN functionalities (called in O-RAN as xApss) may be delivered by competing companies. Such an approach has the potential to reduce the price of RAN, and improve the end-to-end quality as the effect of competitiveness, inherent in the free market.
 Joel Bonet R, “All you need to know about CI/CD as Web Developer (DevOps)”, 12.08.2020, available online: https://dev.to/joelbonetr/all-you-need-to-know-about-ci-cd-as-web-developer-1e19
The author would like to thank Marcin Dryjański and Łukasz Kułasz for their support in providing this blog post.
RIMEDO Labs Resources
- The O-RAN Whitepaper: Sign up for our newsletter to download: The O-RAN Whitepaper
- Blog posts: Other blog posts regarding the O-RAN: 1. Introduction to O-RAN: Concept and Entities, 2. O-RAN Architecture, Nodes, and Interfaces, 3. near-Real-Time RIC (RAN Intelligent Controller), 4. O-RAN Use Cases: Traffic Steering
- Webinar: A video recording from a webinar discussing the above aspects, and architecture, RIC internals, use cases, with a special focus on traffic steering: O-RAN Architecture and Use Cases – YouTube
- Slides: Sign up for our newsletter to get a free copy of slides on O-RAN Architecture and Use Cases
- Training: Sign up for our O-RAN System Overview Course.
- Poster (High quality, printer-friendly, A3): Subscribe to get your O-RAN Poster copy.
Adrian Kliks received his postdoctoral degree in telecommunications in February 2019. He took part in numerous international research projects: URANUS, NEWCOM ++, ACROPOLIS, COGEU, NEWCOM #, COHERENT, in COST IC0902 and COST-Terra (IC 0905), and managed numerous industrial and commissioned projects. An IEEE Senior Member since 2013, a member of the IEEE Broadcasting Society, IEEE Communication Society, IEEE Standard Association. Adrian, participated in the years 2012-2017 in the work of the IEEE P1900.x standardization group, as a member with voting rights. Member of the groups: Radio Communications Committee and Research Group on Software Defined and Virtualized Wireless Access. In the years 2014-2016, he was the Membership Development / Web Visibility Chair in the IEEE for the EMEA area. From 2019 – editor-in-chief of the Journal of Telecommunications and Information Technology of the Institute of Communications, editor-in-chief of EAI Endorsed Transactions on Wireless Spectrum. Currently, he serves as a Board Member at Rimedo Labs.
You can reach Adrian at: firstname.lastname@example.org