Vue 2 ?Statista 如何借助 HeroDevs 的 NES 项目锁定数百万用户

客户简介

Statista 是全球领先的统计和市场数据提供商之一,致力于帮助企业和个人做出基于数据的决策。凭借涵盖 80,000 多个主题、包含超过 150 万条统计数据的庞大数据库,Statista 为全球的跨国企业、政府机构、研究机构和教育机构提供至关重要的洞察。

Statista 于 2007 年在德国成立,如今已发展壮大,在全球 8 个办事处拥有超过 1,400 名专业人员,并已成为高质量、可靠数据的可信来源。

“我们的平台为成千上万家每天都需要做出关键业务决策的组织提供了事实依据。对我们而言,兼顾安全与性能是不可妥协的。”——首席技术官英戈·舍尔哈默(Ingo Schellhammer)

技术挑战:生命周期结束框架中的安全漏洞

当 Vue.js 2.x 达到生命周期终止(EOL)时,Statista 面临一个重大的技术难题。他们的大型应用程序部分基于该 JavaScript 框架构建,如今从安全角度来看已处于岌岌可危的境地:

  • 安全补丁终止:Vue.js 官方团队已停止为 2.x 分支提供安全更新
  • 漏洞面扩大:在标准的 Vue.js 2.x 框架中,新的安全漏洞将无法通过补丁修复
  • 资源分配冲突:完全迁移到 Vue.js 3.x 将需要大量开发资源

除了技术上的复杂性之外,Statista 还同时在开发一款采用全新技术栈的下一代应用程序,这进一步加剧了技术挑战。这一战略举措已经消耗了大量工程资源,从而迫使他们面临一个艰难的选择:是推迟战略路线图以进行战术性的框架迁移,还是接受日益加剧的安全风险。

“我们陷入了典型的技术两难境地——是花费宝贵的工程时间来更新一个我们原本就计划要替换的旧系统,还是接受日益加剧的安全风险。这两种选择都不符合我们的业务目标。”——架构师马库斯·沃尔夫

解决方案:HeroDevs 无止境的支持

在评估了多种方案后,Statista 采用了 HeroDevs 针对 Vue.js 2.x 开发的Never-Ending Support (NES) 。该解决方案为原本已达到生命周期终点的框架提供了扩展的安全支持,具体包括:

  1. 持续的安全补丁更新:HeroDevs 开发的 Vue.js 2.x NES 版本包含持续的安全更新,即使在官方支持结束后,仍会针对新出现的漏洞进行修复。
  2. 开箱即用兼容性:NES Vue.js 实现与标准 Vue.js 2.x 保持完全的 API 兼容性,对现有代码库的修改需求极少。
  3. 降低了技术债务风险:通过避免仓促迁移,Statista 防止了通常伴随大规模框架迁移而产生的新错误和回归问题的出现。

实施:无缝且安全的集成

实施 HeroDevs 解决方案需要精心规划,以在保障安全的同时为开发人员提供访问权限。Statista 采取的做法包括:

  1. 安全的凭证管理:为了避免将 HeroDevs 的访问密钥分发给整个开发团队,Statista 建立了一个自动化的 npm 镜像系统。
  2. 集中分发:最新版本的 NES 已自动同步到 Statista 的内部软件包管理器中,为所有开发人员提供了一个统一的参考点。
  3. 全环境部署:该解决方案已部署到所有开发环境中,包括自定义构建流程、预发布环境和生产环境。

实际上,NES 包会从 HeroDevs 的 NPM 注册表流向 Statista 的内部包监控系统,然后从那里分发到开发人员的工作站、构建环境和生产环境。

“技术实现出乎意料地简单。HeroDevs 的文档涵盖了我们遇到的所有边界情况,而且当我们对特定的部署架构有疑问时,他们的支持团队响应非常及时。”——Markus Wolf,架构师

结果:全面的漏洞防护

HeroDevs 对 Vue.js 2.x 提供的“永不终止的支持”一经实施,便带来了立竿见影且切实的效益:

  • 100% 漏洞修复:Statista 应用程序客户端端的所有已知安全漏洞均已得到修复。
  • 业务连续性:该解决方案在确保Statista的应用程序、客户和业务运营得到保护的同时,并未中断开发工作流程。
  • 资源优化:通过避免耗资巨大的迁移过程,Statista 既能继续专注于其战略性技术计划,又能确保现有系统的安全性。
  • 始终遵守内部及客户的安全要求。

为何这很重要

Statista 的经验为那些在产品生命周期末期框架方面面临类似挑战的组织提供了宝贵的启示。

当 Statista 团队首次发现 Vue.js 2.x 即将达到生命周期终止时,他们所面临的处境与无数组织每天所面临的处境如出一辙。业界的标准建议——“只需升级到最新版本”——理论上听起来很简单,却忽略了企业软件开发中复杂的现实情况。

您拥有一款基于曾经处于技术前沿的框架构建的应用程序。该框架现已达到生命周期终止状态,但您的应用程序仍能提供关键的业务价值。在创新与维护之间,您面临的压力已变得难以承受。

随着框架过时的速度不断加快,这一现实正成为日益严峻的挑战。在21世纪初,技术框架的使用寿命通常以十年计。而如今,流行框架的主要版本可能仅在2至3年内就会过时,这使得开发团队陷入了永无止境的迁移循环。

  1. 挑战“二元抉择谬误”:与其接受“迁移或承担风险”这种虚假的选择,不如探索能够弥合技术差距的第三方解决方案。
  2. 让技术决策与业务战略保持一致:安全维护应支持战略举措,而非阻碍其推进。
  3. 量化框架迁移的全部成本:不仅要考虑开发工时,还要考虑将资源从战略项目中调离所产生的机会成本。
  4. 实施安全的供应链实践:在使用第三方安全解决方案时,应建立安全的分发机制,以防止凭证泄露。
“除了技术上的优势外,HeroDevs 的解决方案还带来了显著的商业价值。我们在不影响战略路线图的前提下维持了安全态势,同时与全面迁移相比,还实现了可观的成本节约。”——Markus Wolf,架构师

对于那些需要在安全要求与战略性技术演进之间寻求平衡的企业而言,Statista的案例表明,只要选择HeroDevs作为合适的合作伙伴,就有可能在保持强大安全性的同时,将开发资源集中用于未来的创新。

目录
下载案例研究