To crack the digital transformation code, CSPs have to strike a delicate balance between reducing cost and improving infrastructure.
Many have begun to overhaul their business IT systems to rationalize infrastructure spend while adding new service functionalities. But, merely optimizing spend is not enough. A complete revamp of traditional business processes and IT models is needed.
Moving from transactional to automated OSS/BSS
Telecom operators should initiate an overhaul of their IT architectures to make their operational support systems (OSS) and business support systems (BSS) truly flexible, agile, and responsive to fast-changing customer requirements.
At the moment, the business applications of most telecom companies are complex, rigid legacy systems that are well past their sell-by dates. Apart from an onerously high total cost of ownership (TCO), these systems offer limited scalability and flexibility for adding new features, thus adversely affecting customer service.
Any upgrades usually require compliance with elaborate procedures that directly impact business agility, and subsequently, customer satisfaction. This undermines any customer experience initiatives, as the core functionalities largely remain unchanged.
Existing OSS and BSS, which are primarily transactional, need to be automated and event-driven. For instance, front-end and back-end workflows built around manual logging of customer service requests should be automated, enabling instant provisioning and self-service options. Such a transition, if successful, will make OSS and BSS capable of effectively self-managing the entire service lifecycle, thereby reducing both TCO and customer attrition.
Microservices: Build easy, Build faster
The key test of an OSS/BSS transformation exercise will be how standardized, open and flexible the systems are. To ensure this, CSPs should adopt the microservices software architecture. It is based on the principle of breaking down large, complex IT systems into multiple easily manageable and autonomous constituents, each addressing a particular business requirement.
What are microservices?
Microservices are essentially small, flexible, and completely self-contained software modules that can perform a specific operation independently. Another advantage of embracing this framework is that, unlike from-scratch software implementations, microservices don’t need existing applications to be recoded for feature enhancements. Incorporating a new functionality is as simple as adding one more independent component or module that fits neatly with what’s already there.
This simpler approach to delivering new services, and optimizing existing ones, paves the way for rapid, frictionless, and cost-effective IT upgrades and maintenance. Moreover, microservices, which are typically using agile and DevOps methodologies, can help CSPs scale their OSS/BSS implementations in line with dynamic business requirements.
The challenges of microservices
For many CSPs, however, transitioning to the world of microservices remains a challenge, largely for two reasons. Firstly, developing applications as collections of loosely coupled, autonomous services requires a software development approach that is fundamentally different from conventional ones that are used to build large monolithic applications. Therefore, this requires a completely different skillset.
Secondly, the culture at many telecom organizations may not be open to wide-scale innovations in their basic architecture principles, preferring instead the status quo of existing, familiar software frameworks.
Proposed roadmap for microservices rollout
For CSPs looking to boost agility through OSS/BSS transformation, we propose the following four-step roadmap for microservices adoption:
Break up applications by domain
Existing OSS/BSS applications are mostly fragmented, built and maintained in silos, and involving diverse technologies. They also use disparate product and service catalogs that adversely impact automation and service provisioning. As a first step, CSPs must identify and segregate all applications under the relevant functional domains, and then break down the underlying functionalities into the necessary services.
Identify the microservices, develop services catalog
Based on the consumption patterns of other upstream systems, identify a standard set of services for each business entity. Besides defining the services for basic CRUD transactions, classify additional services to support user interface (UI) features, such as dashboards for applications, 360-degree customer profiling, and service agents.
After listing all mandatory and optional services, organizations should identify the corresponding microservices to be deployed, depending on the volume of data handled and operational requirements. Make sure each microservice delivers its functionality consistently, can be reused, and is the master of a specific data domain.
Build the UI and processes that will consume microservices
Implement standard application programming interfaces (APIs), typically REST APIs, to facilitate interaction between various microservices. Execute business processes through a ‘choreography model’ that lets the microservices manage different interactions directly. Enable the communication layer through a simple ‘message bus’ built around ‘smart end points and dumb pipes’ which are lighter and simpler than the enterprise service bus.
Finalize implementation architecture
Of the many microservices implementation approaches, one possible option is using the open source Netflix OSS stack methodology. Under this approach, you first develop the core microservices using the popular Spring Boot, whose wide-ranging features foster rapid development of individual components. You can also use out-of-the-box dependencies such as Eureka and Zuul to augment the Netflix stack.
Adopting this implementation methodology will also help you leverage JPA support for RDBMS, enable REST services, ensure service façade using Feign Client, and use the Spring Actuator for monitoring the services. Alternatively, you may consider other options such as the Amalgam8 or Apache Zookeeper.
Driving agility with microservices
As CSPs seek to transform business and operating models, agility will play a vital role in enabling superior customer experience. Transitioning to microservices can help realize this goal, and adapt effectively to a rapidly changing business environment. Organizations will also realize significant financial savings, and boost operational efficiency, by avoiding unnecessary efforts and time that would otherwise have been spent on new code development, end-to-end testing, and service disruption management.
For CSPs looking to build superior service agility, considering microservices as part of their integral IT architecture is no longer just a choice; it is the pressing need of the hour that can empower them to become truly responsive to their customers.