Temporal 在速度方面给我们带来了回报——我们交付新功能和新能力的能力,而无需每次都编写代码来应对重试和错误情况。

行业
电信
用例
软件编排
公司规模
大型企业
SDK
Java
Temporal
云端
沃达丰是一家领先的跨国电信公司,致力于通过技术连接人与人。
最近,沃达丰推出了一代新的客户前提设备 (CPE) 以改善用户体验。这些 CPE(包括路由器等设备)允许客户在其网络中添加安全和物联网等服务。
作为这项举措的一部分,家庭技术和产品团队的工程部门需要构建一个新平台,以在 CPE 上安装软件。在下面的故事中,我们将探讨团队面临的挑战,以及他们采用 Temporal 的原因和方式。
团队需要在有限的时间内完成他们的项目。目标是创建一个云原生的 CPE 管理系统,该系统利用宽带论坛的新协议,称为用户服务平台 (USP),或更常见的 TR-369。
沃达丰新的 CPE 管理系统需要编排软件安装,无论是在 CPE 初始入网时,还是在 CPE 的整个生命周期中。该系统由四个称为 USP 控制器的服务组成,这些服务负责不同的域。
从工程角度来看,存在许多挑战
团队开始寻找一种可以管理间歇性故障并编排其异步工作流程的工具。
我们选择 Temporal 的原因之一是我们可以使用 Java。我们不需要用 XML 或其他东西声明工作流,然后编写代码将其连接起来。——James Irwin,软件与产品设计实践首席经理
团队需要遵循几个指导原则来选择他们的工具和技术栈:Java、云原生、水平扩展以及对 CI/CD 的良好支持。他们根据这些要求评估了各种工作流工具。
当他们找到 Temporal 时,他们运行了一个概念验证和几个峰值测试。他们立即意识到 Temporal 的价值,并很快选择它,因为它
当您将微服务架构推向极致,并将其分解为不同的域时,最终会得到微服务调用微服务调用微服务。处理故障和由此产生的复杂性变得具有挑战性。而使用 Temporal,我们可以专注于用例和业务逻辑执行。
当沃达丰开始使用 Temporal 构建时,一个立竿见影的好处是它让他们能够以一种新的、更有效的方式设计他们的系统。
CPE 管理系统利用“多控制器范例”,这是 USP 启用的一项新功能。该系统分为三个独立的控制器。每个控制器负责一个域,具有有限的功能集,并且只能访问 CPE 数据模型的一个子集——遵循最小权限原则。
使用传统的微服务架构,工程师需要花费很多时间来映射域和每个服务需要完成的操作,并确保微服务能够正确地进行通信并应对各种微服务之间的故障。
使用 Temporal,工程师创建了四个命名空间,每个控制器一个,另一个用于管理整个 CPE 舰队的更新(或活动)。然后他们只需定义工作流来包含所需的动作,而无需考虑故障场景。他们分布式的 Worker 舰队可以水平扩展以执行业务逻辑。他们可以从一个命名空间内调用另一个命名空间内的工作流,并且他们打算迁移到 Nexus。
使用 Temporal,我们只需编写代码以满足业务需求,而不是编写代码来应对持久性问题。实现新的用例所需的时间比使用传统的微服务架构要低得多。
使用 Temporal,沃达丰团队按时完成了他们的紧迫期限。他们及时启动并运行了新的平台并投入生产。他们还从 Temporal 中获得了许多其他好处
Temporal Cloud 的新型自定义存储后端在性能方面很有吸引力。
在自行托管 Temporal 一段时间后,沃达丰团队决定迁移到 Temporal Cloud。他们从未遇到过与其自托管集群相关的问题,但 Temporal Cloud 的优势很有吸引力。
他们查看了典型的 Temporal 用量,以预测 Temporal Cloud Actions 的成本。他们还考虑了当前数据库、计算资源以及管理集群的运营开销的成本。特别是数据库成本非常高,因为他们继续扩展用例。
在计算完数字后,Temporal Cloud 的定价估算看起来很乐观。还有其他令人信服的原因促使沃达丰选择 Temporal Cloud
随着沃达丰扩展到新的地理区域并继续扩展规模,Temporal Cloud 将支持他们的旅程并使团队能够继续创新。