在云计算领域,处理规模问题既是目标也是挑战。对于需要通过无线(OTA)分发软件或固件更新的公司来说,尤其如此。这里的挑战在于管理容量--确保上传和下载安全、高效、及时。类似的常见设置是将虚拟文件系统安装到带有 CDN 的私有云服务器上,在全球范围内分发软件。虽然这是一个不错的设置,许多公司都依靠它来帮助扩大分发规模,但如何在降低成本的同时实现平衡呢?这不仅仅是一种假设,很多公司都面临着类似的挑战,包括我们的一家电子产品客户,它需要向全球数百万台智能电视分发固件更新 OTA。
发布这样的软件风险很大。这些更新可能是新功能、用户界面改进、安全补丁或性能改进。处理 OTA 更新的公司需要确保,如果数以万计的客户同时更新他们的电视,解决方案能够高效地处理负载,而不会增加成本或开销。这并不是一个独特的挑战。数以千计的公司都将 OTA 用于其产品和软件。
在我们客户的案例中,制造商最初使用了几种不同的服务来进行管理:Akamai的内容分发网络(CDN)用于全球分发,AWS的弹性计算云(EC2)用于计算能力,弹性负载平衡器用于输入流量,弹性文件系统(EFS)用于存储和管理固件文件。这种设置的目的是处理分布在世界各地的大量数据。然而,它也带来了沉重的代价,尤其是出口成本。
AWSEFS 是制造商运营中不可或缺的一部分,使他们能够集中存储和管理操作系统和固件更新,并通过与 EC2 和弹性负载平衡器的集成在全球范围内有效地分发这些更新。然而,与 EFS 相关的成本,尤其是在处理AWS网络之外的大规模数据传输时的成本,日益成为一个令人担忧的问题。
与 EFS 相关的成本上升,特别是转出AWS的出口费用,促使他们重新评估智能电视更新的存储和分发系统。这标志着该制造商从 EFS 迁移到 LinodeObject Storage ,从而在管理成本的同时维持其强大的全球分发系统的战略进入了关键时刻。
解决方案
Object Storage 要说服这位客户从 EFS 迁移到更经济高效的系统还不够。它还必须与他们现有的工作流程无缝集成。在Akamai支持团队和一些开源工具的帮助下,他们成功地做到了这一点。
在他们的架构中,他们在亚太和日本地区建立了一个Object Storage 主存储桶,并在美国建立了第二个存储桶作为备份。这种冗余可避免数据丢失,并确保即使主存储桶发生故障,固件更新的可用性也能保持不变。这两个存储桶使用rclone 进行同步,rclone 是一种开源工具,以高效的文件传输和同步而著称。该工具有助于确保两个存储桶都能作为 CDN 的可靠源服务器。
这一过渡涉及一项重大的技术挑战:在不中断工作流程的情况下,用新的存储协议(Object Storage )取代现有的存储解决方案(EFS)。EFS 和Object Storage 在架构和功能上有本质区别。EFS 提供了文件系统接口和语义,这对于许多需要传统文件系统的应用来说至关重要。相比之下,Object Storage 是通过网络 API 访问的,它本身并不支持文件系统操作。因此,不能简单地将 EFS 换成Object Storage 。
为了解决这个问题,我们利用了S3FS,这是一个开源工具,可以在S3 API 的基础上模拟文件系统接口。S3FS 使我们能够将Object Storage 存储桶 "挂载 "到制造商现有的 EC2 实例上,因此其行为与 EFS 类似。这种方法允许现有应用程序和进程与Object Storage 进行交互,就像与传统文件系统交互一样,从而最大限度地减少了应用程序代码中的更改,降低了过渡期间出错的风险。
这种架构(上图)不仅简化了全球数百万台设备的软件更新流程,还大大节约了成本。通过从AWS的弹性文件系统(EFS)过渡到Object Storage ,该公司大幅降低了存储成本,Object Storage ,证明每 GB 的成本比 EFS 低 15 倍以上。此外,他们还发现出口成本降低了 90%,与以前的AWS 环境相比有了大幅改善。这些节约表明,新的存储解决方案在管理运营效率和成本效益方面都非常有效。
这不仅是一次技术升级,也是对制造商的效率、可扩展性和成本管理目标的一次重新调整。通过采用Object Storage 并顺利集成(在 rclone 和 S3FS 等工具的帮助下),制造商可以在不影响全球固件分发的可靠性或速度的情况下大幅降低运营成本。本案例研究展示了采用技术的决策如何对企业的底线产生重大影响。
成本效益批判性分析
在研究通过 Akamai 从AWS 迁移到 Linode 的过程中,最初的决定似乎在节约成本方面取得了明显的胜利。但是,深入了解成本结构和产品比较后,就会发现一些细微的差别。以下是一些需要牢记的关键决策点:
- AWS S3 与 Linode 的对比Object Storage :初始架构通过弹性负载平衡器将大量出口流量导入 Akamai CDN。鉴于这种结构,使用Object Storage 比使用AWS S3 更具成本效益,因为出口成本明显降低。不过,如果与AWS Cloudfront 搭配使用,对象存储的出口成本可能为零。
- AWS Cloudfront与Akamai CDN的比较:选择Akamai而不是AWS Cloudfront,是因为需要最大限度地减少架构变化。企业看重的是Akamai久经考验的性能、可靠性和支持,以及使用多个云提供商所带来的灵活性。
为了量化财务影响,让我们考虑一种假设情况:客户每月管理 50TB 的存储数据和 100TB 的向外传输数据。以下是AWS EFS、AWS S3 和 LinodeObject Storage 的简化成本明细:
存储解决方案 | 计算 | 总成本 |
AWS 外勤部 | (0.3 美元/GB * 50,000GB) + (0.03 美元/GB * 100,000GB) | $18,000 |
AWS S3 | (0.023 美元/GB * 50,000GB) + (0.09 美元/GB * 10,000GB) + (0.085 美元 * 40,000GB) + (0.07 美元/GB * 50,000GB) | $8,950 |
Linode 对象存储 | (0.02 美元/GB * 50,000GB) + (0.005 美元/GB * 49,000GB) | $1,245 |
(注:难以进行整体价格比较。这只包括文件存储的存储和带宽成本,但不包括 CDN。值得一提的是,有些提供商会为流量特别大的客户提供更多折扣)。
现在,让我们来看看这些云服务的存储和出口相关成本比较(注:价格以撰写本文时的成本为准)。
服务类型 | 费用说明 | 价格 | 说明 |
EFS 存储 | 每月每 GB | 0.30 美元/GB | 直观的 API,易于使用,但成本较高。考虑大量使用替代方案 |
S3 存储 | 前 50 TB 每月每 GB | 0.023 美元/GB | 经济实惠的大型数据存储 |
S3 出口 | 前 10 TB 每 GB | 0.09 美元/GB | 除非与 Cloudfront 搭配使用,否则大数据传输成本较高。 |
下一个 40 TB 每 GB | 0.085 美元/GB | 随产量增加而增加成本 | |
每 GB 下 100 TB | 0.07 美元/GB | 费率更优惠,转账量更大 | |
Linode 存储 | 每月每 GB | 0.02 美元/GB | 存储成本效益最高 |
Linode 出口 | 首批 1TB 免费,之后按 GB 计算 | 0.005 美元/GB | 大幅节省数据传输费用,最大限度地提高预算效率 |
在此分析中,使用Object Storage 的成本约为使用AWS EFS 的原始解决方案的 1/15,约为使用AWS S3 的 1/7(假设AWS Cloudfront 不用于抵消出口费用)。
总结
该成本比较说明了转用 LinodeObject Storage 后所节省的大量成本。它还强调了根据公司流量模式和内容交付网络 (CDN) 要求的具体情况定制云解决方案的重要性。当企业分析其数据使用和分发策略时,就能发现可能被忽视的重大成本节约机会。
转换存储解决方案的决定不是轻易做出的,而是在对公司的运营要求和财务目标进行详细评估后做出的。通过了解所管理的数据量、数据访问频率以及用户的地理分布,该公司能够确定 Linode 是最具成本效益的解决方案,同时还能满足他们的需求。这种知情决策在云架构中至关重要,因为根据存储类型、数据传输量和访问频率的不同,成本也会有很大差异。
虽然程序员和架构师应该关注解决方案的性能和可扩展性,但他们可能还需要考虑到对所服务公司的财务影响。解决方案不仅要满足技术要求,还要与企业更广泛的财务战略保持一致。这样做可以防止预算超支,并确保 IT 投资尽可能实现最大回报。
我们经常帮助公司构建这样的解决方案。如果您想了解更多有关如何自行实施的信息,请订阅我们的时事通讯,在Twitter或LinkedIn 上与我们联系,或订阅我们的YouTube 频道。除了这些技术指南外,如果您或您的组织正在考虑优化其云存储和 CDN 解决方案,您可以通过注册获得 100 美元的免费信用点数来试用 Linode 的解决方案。
注释