公司:TELUS
行业:电信
TELUS 是加拿大领先的电信公司之一,提供包括互联网、语音、娱乐和视频在内的产品和服务。TELUS 的一项电视产品是 Optik TV,这是一种互联网协议电视 (IPTV) 服务,在加拿大西部和魁北克拥有超过 150 万用户。
TELUS 部署了 Redis 开源,但在为 Optik TV 上的关键任务应用程序管理和维护 Redis 可用性方面遇到了挑战。TELUS 遇到了面向客户的应用程序 Showcase 的停机问题,导致客户体验不佳,包括关键菜单选项不可用,最终需要大量时间才能将所有服务完全恢复到客户。
在遇到这些关键面向客户功能的可用性问题后,TELUS 迁移到 Redis 企业版以支持 Showcase 应用程序。该应用程序需要更高的可用性和故障转移支持,因为 Showcase 充当 TELUS Optik TV 客户的个性化内容中心枢纽,用于发现他们最有可能观看的下一个内容。
在将 Redis 企业版部署到 Showcase 应用程序后,TELUS 在应用程序的弹性、可靠性和整体性能方面看到了显著的优势。这导致了作为 TELUS DevOps 流程的一部分的更轻松、更可靠的操作,以及由于 Active-Active Redis 带来的更好的客户体验。即使是 Redis 服务中断,Optik TV 客户也无法察觉。此外,Showcase 应用程序的两秒负载性能 SLA 只有在 Redis 企业版作为缓存解决方案的情况下才能实现。
TELUS 通过其 Optik TV IPTV 产品,为加拿大西部和魁北克的 150 多万客户提供流媒体电视。该公司的技术战略团队负责监督与 Optik TV 的第三方集成,例如亚马逊 Prime、Netflix 和其他流媒体服务。
Showcase 是一款 Optik TV 应用程序,为客户提供无缝访问其所有本地和流媒体内容。Showcase 旨在让人们轻松发现新的视频点播内容、观看录制节目和新剧集、关注他们最喜欢的电视节目,甚至轻松跳回观看未完成的剧集——所有内容都可访问。
流媒体电视观众期望实时性能。这就是为什么Showcase 最初是在 Redis 开源的基础上构建的。目标是使用 Redis 作为一种快速机制,将数据高效地传输到机顶盒上,因为没有其他数据库能够以最低延迟支持如此大量的数据传输。
据 TELUS 技术战略经理史蒂夫·艾伦说:“由于我们在 Showcase 中向单个客户呈现的信息量,我们不可能调整其他数据库使其足够快。在 Showcase 项目启动时,我们得出结论,要么我们使用 Redis,要么我们无法在三秒钟或更短时间内让客户加载应用程序。”
Showcase 利用了两个 Redis 部署,一个位于埃德蒙顿,另一个位于卡尔加里。TELUS 将缓存配置为使用主动-被动方法,在埃德蒙顿有一个主 Redis 集群,在卡尔加里有一个副本。
Showcase 已经成功地依赖了 Redis 开源 四年,但在发生故障时,TELUS 的技术团队需要整整一天时间才能手动启动一个冷备用——这是一项既费时又乏味的任务。服务中断持续时间越长,客户体验和品牌声誉受到的损害就越大。
由于Showcase 的性能面临风险,TELUS 知道他们需要一个企业级缓存,该缓存提供更高的可靠性和故障转移,以避免未来长时间的服务中断。停机事故使Showcase 服务处于待机状态整整一天,但团队已经付出了最沉重的代价——用户体验受损长达 24 小时。
可以理解的是,领导层担心这种事件是如何发生的,并强调了适当的事故后评估的重要性。
Showcase 服务中断几个月后,史蒂夫·艾伦接任了Showcase 开发团队的经理。作为该团队的开发人员,艾伦亲身经历了这一事件,他早已熟悉在 Redis 开源 上运行如此密集的应用程序带来的挑战,以及停机可能带来的潜在后果。
艾伦说:“TELUS 在过去六年中一直在进行 DevOps 之旅,因此这将开发和运营方面联系得更紧密,我们不会把功能扔过墙,让运营人员来处理。我们一直在关注我们的漏洞,如果系统出现故障,我们将如何进行运营响应,鉴于 Redis 在我们的主要应用程序中被广泛使用,因此它是一个需要重点关注的对象。”
鉴于最近发生的Showcase 应用程序事件,以及对简化开发和运营的总体关注,这是一个完美的时间,开发团队可以从开源迁移到 Redis 企业版,为团队的成功和扩展做好准备。
艾伦分享道:“对我们来说,这不仅仅是成本效益问题。这是运营可用性支持,以及 Redis 企业版提供无需手动干预的高可用性的事实。”
Redis 企业版可以无缝处理实时大量数据,并为Showcase 每月产生的数亿笔交易提供高可用性。
艾伦补充说:“我们对缓存的监控立场,尤其是围绕 Redis,已经从基本上没有变成了非常高的水平,这是我们遇到问题时首先知道的系统。”
在部署 Redis 企业版几个月后,又发生了另一起重大事件,埃德蒙顿和卡尔加里服务器之间的连接断开,导致 TELUS 失去了与卡尔加里所有服务器的连接。如果 TELUS 没有安装 Redis 企业版,后果将是灾难性的,因为服务器无法迁移回埃德蒙顿。
然而,TELUS 及其客户不仅没有遇到停机,甚至都不知道发生了故障。Redis 企业版的集群管理系统在 TELUS 的任何其他内部系统之前就发送了有关卡尔加里服务器中断的警报。
这要归功于 Redis 企业版的 主动-主动地理分布,它使 TELUS 能够在零停机或对应用程序影响的情况下渡过停机事故。埃德蒙顿和卡尔加里的 Redis 企业版集群都作为主要部署运行,并使用单个端点运行。流量会自动仅路由到正常集群。
艾伦指出:“两年前,我们遇到停机事故时的恢复过程——我们需要数周时间才能恢复。使用 Redis 企业版,我们没有注意到任何问题。我们只是收到了 Redis 的大量警报,我们能够解决问题。如果我们仍然使用开源,那么丢失 Redis 将会影响我们十几个应用程序整整一天,这并非不可能。”
由于 Redis 企业版的可靠性和易于扩展的能力,TELUS 现在对整个公司 Optik TV 应用程序的性能有了更大的信心。这使技术战略团队能够展示他们的技能,提供广泛依赖 Redis 企业版的应用程序,用例还在不断扩展。
艾伦总结道:“我们现在有大量超出Showcase 的应用程序依赖于 Redis 企业版,因为我们能够对我们的系统和缓存方法更有信心。我们已经保护了自己,避免了客户电话和领导层升级,如果我们的系统在未来出现故障。”