Temporal has paid off in terms of our speed–our ability to deliver new features and new capabilities, without having to write code every time to cope with retries and error conditions.
Industry
Telecom
Use Case
Software orchestration
Company Size
Megacorp
SDK
Java
Temporal
Cloud
Vodafone, a leading multinational telecommunications company, is in the business of connecting people through technology.
Recently, Vodafone rolled out a next generation of customer premise equipment (CPEs) to improve their user experience. These CPEs (which include devices like routers) allow customers to add services like security and IOT to their networks.
As part of this initiative, the engineering division of the Home Technologies and Products team needed to build a new platform to install software across the CPEs. In the following story, we’ll explore the challenges the team faced, and why and how they adopted Temporal.
The team was on a tight deadline to complete their project. The goal was to create a cloud-native CPE management system that leveraged a new protocol from the Broadband Forum, called User Services Platform (USP), or more commonly known as TR-369.
Vodafone’s new CPE management system needed to orchestrate software installs, both when the CPE is initially onboarded and throughout the CPE’s lifetime. The system is composed of four services called USP Controllers that are responsible for different domains.
From an engineering standpoint, there were numerous challenges:
The team started searching for a tool that could manage intermittent failure and orchestrate their asynchronous workflows.
One of the reasons we chose Temporal is because we can use Java. We don’t need to declare workflows in XML or something else and then write code that plugs it together. –James Irwin, Principal Manager, Software & Product Design Practice
The team had several north stars they needed to follow for their tooling and technology stack: Java, cloud-native, horizontal scale, and good support for CI/CD. They evaluated a variety of workflow tools with these requirements in mind.
When they found Temporal, they ran a proof of concept and several spikes. They immediately realized Temporal’s value and soon chose it because it:
When you go to the extreme of microservices architecture, and you decompose it into different domains, you end up with microservices calling microservices calling microservices. Dealing with failures and the complexity of that becomes challenging. Whereas with Temporal, we can focus on use cases and business logic execution.
When Vodafone started building with Temporal, one immediate benefit was that it let them design their system in a new, more effective way.
The CPE management system leverages a “multi-controller paradigm,” which is a new feature that USP enables. The system is divided into three separate controllers. Each controller is responsible for a domain, with a limited set of functionality, and can only access a subset of the CPE Data Model - following the least privilege principle.
With a traditional microservices architecture, the engineers would have spent many cycles mapping out the domains and the actions each service needed to accomplish, and ensuring the microservices were properly communicating and coping with failures between the various different microservices.
With Temporal, the engineers created four Namespaces, one for each controller and another to manage updates (or campaigns) across the fleet of CPEs. Then they simply defined Workflows to encompass the required actions, without needing to account for failure scenarios. Their distributed fleet of Workers scales horizontally to execute the business logic. They can invoke Workflows from within one Namespace to another, and they intend to migrate to Nexus.
With Temporal, we just write code for fulfilling business needs, rather than writing code for fulfilling business needs in the face of durability problems. The time to realize a new use case is much much lower than if we were using a traditional microservices architecture.
With Temporal, the Vodafone team hit their tight deadline. They got their new platform up and running and in production on time. They’ve also gained a number of other benefits from Temporal:
Temporal Cloud’s new custom storage backend was attractive in terms of performance.
After self-hosting Temporal for some time, the Vodafone team decided to migrate to Temporal Cloud. They never encountered issues with their self-hosted cluster, but Temporal Cloud’s advantages were appealing.
They looked at their typical Temporal usage to project what the cost of Temporal Cloud Actions would be. They also factored the cost of their current database, compute resources, and operational overhead of managing the cluster. The database costs in particular were substantial as they continued scaling their use case.
After crunching the numbers, the Temporal Cloud pricing estimate appeared positive. There were other compelling reasons Vodafone choose Temporal Cloud as well:
As Vodafone expands to new geographies and continues to scale up, Temporal Cloud will support their journey and enable the team to continue innovating.
Ready to learn why companies like Netflix, Doordash, and Stripe trust Temporal as their secure and scalable way to build and innovate?
Financial Services
Designing High Performance Financial Ledgers feat. Sagard