Contributed by Fatih Degirmenci, Principal Developer, Ericsson Software Technology
Originally posted on ericsson.com
CI, CD/D and DevOps methodologies are crucial to ensuring relevance, profitability, and fast innovation. However, the lack of interoperability and common standards within the domain continue to make this a challenging area for many of today’s tech players. What are those challenges and how can we work together to address them? Find out below.
Continuous integration (CI), continuous delivery and deployment (CD/D) and DevOps are critical for service providers to increase agility in cloud-native domains and move quickly from idea to sellable product. However, CI/CD is not without its challenges. Below, we take a look at the challenges of developing interoperability, one of the most crucial topics that requires openness and collaboration across the wider tech industries.
We need to speed up the tech transformation of telecom
The emergence of new open-source technologies and methodologies such as virtualization, containers, and cloud-native are delivering tremendous advances in various industries; including but not limited to transportation, utilities, and manufacturing. Autonomous vehicles, smart meters, and IoT are a few examples of the services which are being developed in collaboration and made available to end-users. As well as making it possible to introduce new services, these new technologies have increased the speed of development – making organizations faster and more efficient in responding to industry changes and customer requests.
Open-source technologies and methodologies such as virtualization, containers, and cloud-native are delivering significant technological advances across industries such as transport, utilities and manufacturing.
The telecommunication industry is no exception. The industry has been undergoing a transformation with increasing speed over the last couple of years. Yet, despite this, many of today’s telecommunication networks are still based on proprietary hardware and software, making it difficult to install, operate, and upgrade the networks – although this is becoming less and less with each passing day.
In addition to operational challenges with traditional networks, it can take months (sometimes years) for new services to be made available to the users. This is owing to the limitations caused by the tightly coupled and monolithic architecture of the software stack running on purpose-built hardware. However, with the introduction of virtualization technologies, the telecom industry now has the tools to virtualize a broad spectrum of network functions and make Network Functions Virtualization (NFV) a reality.
There is a clear trend that telecom is moving in this direction. A recently released report from the Dell’Oro Group highlights the fact that NFV deliveries exceeded 50 percent during 2Q20 for the very first time. This is proof that the telecom industry is already on its way from proprietary, tightly-coupled, and monolithic solutions to virtualized, hardware-agnostic, and loosely-coupled solutions, paving the way for cloudification of the industry.
Transformation of the industry is still in high gear and the industry has already started shifting their focus toward applying cloud-native design principles to the products and services they build. In addition to Virtual Network Functions (VNF), new services that are currently being rolled out are in the form of Cloud Native Network Functions (CNF) thanks to cloud native.
Today’s telecom infrastructures are moving away from proprietary, tightly-coupled, and monolithic solutions toward increasingly virtualized, hardware-agnostic, and loosely-coupled solutions.
An additional outcome of virtualization and cloud native is that the products and the services created using these technologies are highly disaggregated and composable. This creates an opportunity for service providers to pick and choose products from different vendors.
What is continuous integration, continuous delivery, and continuous deployment?
In parallel to changes in the technology stack, the new software development and delivery methodologies such as Continuous Integration (CI), Continuous Delivery/Deployment (CD/D), and DevOps are becoming critical to service providers, allowing them to increase the speed of transitioning from idea to a sellable product or solution.
Before moving further, it may be beneficial to summarize these practices.
- Continuous integration is a software development practice where members of a team integrate their work frequently, usually even daily, creating multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Read more about it here.
- Continuous delivery is the ability to get changes of all types, including new features, configuration changes, bug fixes and experiments, into production, or into the hands of users, safely and quickly in a sustainable However, continuous delivery does not actually mean that the changes are deployed into the production straight away. Read more about it here.
- Continuous deployment is the process of rapidly deploying changes to production. As the readers will notice, there is a slight difference between the two CD practices; one is about having the ability and the other is doing it. Often, people use them interchangeably or talk about continuous delivery while they actually mean continuous deployment.
Being proficient in CI, CD/D, and DevOps methodologies is critical for organizations to stay relevant, innovative, and profitable in order to help address challenges customers are facing in a rapid manner. This requires the organizations to embrace cultural and mindset changes to achieve CI/CD so the principles of these practices are understood well within the organization. In addition to cultural changes, organizations need to pick and choose tools and technologies appropriately in order to establish end-to-end delivery pipelines that cross multiple boundaries within the organization itself or toward their customers.
Today, there is a lack of interoperability in the CI/CD domain
Service providers have the ability and freedom to pick and choose products and solutions from different open-source communities and vendors. To enable fast, secure, sustainable, and cost-efficient delivery of software, CI/CD pipelines must be established across open-source communities, vendors, and service providers.
However, establishing CI/CD pipelines is not without its challenges, such as:
- Most communities and companies develop and use different tools, technologies and have different processes for their CI/CD pipelines.
- There is a lack of standardization in CI/CD domains, which makes it challenging for users to construct and run complex end-to-end CI/CD pipelines which could extend across multiple communities and companies.
- Users often end up developing and maintaining their own workarounds to overcome the issues they face.
- There are few neutral fora which bring communities, companies, and users together to form a consensus about the needs, challenges and use cases – and work on solutions in a collaborative manner.
- There is a necessity to connect, collaborate, and cross-pollinate across different industries, e.g. telecom, web-scale, startup.
Although the list above does not capture all the challenges that exist in the CI/CD domain, it clearly shows us that today there is a lack of interoperability and standards which allow different tools and technologies to work together seamlessly across industries.
Today, the lack of common standards has created a challenge for all industry stakeholders, which is summarized in the diagram below. As highlighted with different arrow colors and styles, how software is delivered and how the resulting feedback is provided takes many different forms and shapes across the different vendors and service providers.
The lack of common standards in the CI/CD domain makes software- and feedback delivery a challenge for today’s industry stakeholders.
Service providers and vendors use various tools and technologies as part of their CI/CD systems. The lack of interoperability between the tools and standards within the CI/CD eco-system contribute to some of the major challenges when it comes to establishing and running delivery pipelines that pass organizational boundaries.
This means that service providers must find and implement workarounds in order to connect vendor delivery pipelines to those of their own, just so that they are in a position to receive products from different vendors and send feedback. These workarounds can be costly, risky, slow, and not sustainable since service providers must do implement a separate workaround for each and every vendor they interact with. They can also be error-prone since they are performed in a closed manner, meaning that the vendors could inadvertently change the implementation of their delivery pipelines or alter the metadata they are supplying, causing outages in service provider delivery and deployment pipelines.
In summary, the core of this issue is not owing to vendors and service providers not wanting to change how they deliver software, but rather because of the lack of interoperability and common standards within the CI/CD domain.
Special Interest Group Interoperability
Addressing the challenges, achieving interoperability, and establishing standards within the CI/CD domain requires an open and collaborative approach across the wider tech industries. This can only be delivered by bringing organizations from different industries and communities together.
At Ericsson, we have made numerous contributions to the CI/CD domain by forming, leading, and collaborating various initiatives and groups under relevant organizations and communities over recent years. One of the most recent initiatives we have taken part in is the Special Interest Group (SIG) Interoperability at the Continuous Delivery Foundation (CDF). This forum brings together representatives from different industries such as telecom, web-scale, and CI/CD to work in a collaborative manner and address interoperability challenges.
The SIG Interoperability was proposed by Ericsson in November 2019 in order to:
- clarify what interoperability means for the CI/CD ecosystem
- promote the need to collaborate on interoperability challenges in a neutral forum
- highlight and promote the needs of the users who face challenges constructing complex end-to-end CI/CD flows and pipelines by employing different tools and technologies
- explore synergies between- and enable collaboration across the CI/CD projects with regards to interoperability
- pursue solutions which are loosely coupled, scalable, flexible, and tool- and technology agnostic
- reduce the need for users to implement in-house solutions by promoting native interoperability between tools
- attract and assist projects that work on interoperability
The SIG was approved by CDF Technical Oversight Committee (TOC) in January 2020. The group recently released the first version of their roadmap, identifying areas to work on in both the near- and long term. As well as the roadmap, the very first workstream “Events in CI/CD” has been approved which will explore ways to utilize events to address interoperability challenges in CI/CD. Membership and participation to the SIG Interoperability are open to the public and everyone is welcome to take part in and collaborate with the community.
Openness is key to delivering interoperability and innovation
To move forward, it’s crucial that technology players are afforded a platform to innovate, integrate, deliver and deploy with speed and agility. This ties in with the importance of demonstrating thought leadership, leading the industry to address challenges and needs, and bringing new approaches to innovation by enabling cross-pollination across different industries.
This is important for any company, in order to be at the front when it comes to building trust with customers and responding to their requests. To be an effective leader requires long-term investment and consistent handling of activities performed in relevant forums and open-source communities. After all, this is where new software development and delivery paradigms, methodologies, and technologies are explored and developed.