弃用 AWS 后,我们服务器的年成本降低了 80%

2023-01-13 0 284

弃用 AWS 后,我们服务器的年成本降低了 80%

全文:云黄金时代,在直面云供应商巨额的生产成本时,舍弃云服务选用外部基础建设进行代替是不是更最合适的优先选择?

https://levelup.gitconnected.com/how-we-reduced-our-annual-server-costs-by-80-from-1m-to-200k-by-moving-away-from-aws-2b98cbd21b46

新闻稿:责任编辑为 CSDN 译者,需经容许明令禁止转发。

译者 | Trey Huffine

译者者 | 弯月 白眉林 | 辛晓亮

公司出品 | CSDN(ID:CSDNnews)

在责任编辑中,她们专访了 Prerender.io 的继续执行官技师兼副经理 Zsot Varga。他跟她们撷取了两个真实世界的小故事:她们舍弃了AWS,并构筑了外部基础建设来处置互联网流量和软件程序,进而将伺服器每月的服务费从100亿美元减少到了20亿美元。

“她们的最终目标是减少生产成本,同时保持图形速率和服务水平维持不变。此类的北迁须要细细计划和遵照,实用性不恰当或继续执行不给力就会引致顾客页面和SNS新闻媒体无法访问,影响她们的互联网搜寻名列,也会引致她们的顾客外流。”

须要化解的技术问题

单纯来说,她们的产品Prerender会内存和预图形JavaScript页面,这样浏览器就能截取和检索两个纯HTML文档,你只须要在中文网站上加装适度的开发工具,就能防止选用高昂且乏味的JavaScript软件系统。

但是,所有这些数据和流程都须要在伺服器上处置,有鉴于此从前她们选用的是AWS。经过一两年的发展,如今她们每秒钟须要处置的页面超过了7万,储存的页面仅约5.6 亿,因此而产生的AWS服务费也仅约一百亿美元。

继续选用AWS,她们就须要持续承担如此高昂的服务费。相反,她们花了三个月的时间,通过一些现成的思路和两个清晰的计划,削减了80%的生产成本。

北迁计划

之前,她们选用的是托管在亚马逊的AWS之上的伺服器,用于储存顾客内存和呈现的页面。众所周知,AWS是目前最大的云提供商之一,提供虚拟伺服器和托管服务。

她们利用AWS来储存内存页面,然后供Google、Facebook以及其他浏览器查询或截取。她们的产品Prerender的主要功能就是向Google以及其他浏览器提供静态的HTML页面,向人类用户提供动态的交互式 JavaScript。

她们所面临的问题是,将大量(TB级)的预图形页面储存到第三方伺服器上产生了巨额的服务费。通过这种方式储存内存页面,引致她们所需承担的维护和托管费接近天文数字。

此外还有两个问题,很多初创公司都没有考虑到,也没有太多相关的话题引发讨论,那就是互联网流量生产成本。

将数据导入 AWS 是免费的,但对于大多数软件来说,静态数据并没有什么用。但移动这些数据会产生巨额生产成本,而这将成为她们前进道路上的瓶颈。

那么,该怎么化解呢?她们的计划是,将内存的页面和互联网流量北迁到自己外部的伺服器上,并尽快减少对AWS的依赖。

她们预估了一下生产成本,发现能将托管服务费减少 40%,而且此次伺服器北迁不仅能节省她们的生产成本,也能为顾客省钱。

她们的最终目标是减少生产成本,同时保持图形速率和服务水平维持不变。此类的北迁须要细细计划和遵照,实用性不正确或继续执行不给力就会引致顾客页面和SNS新闻媒体无法访问,影响她们的互联网搜寻名列,也会引致她们的顾客外流。

为了防止可能出现的问题,她们的计划包含三个阶段。如果出现任何问题,她们能轻松地退回到前两个阶段。如果由于某种原因引致新伺服器无法工作,她们也能轻松地回滚,而不会出现任何停机或影响到顾客的服务降级。

她们须要谨慎地继续执行系统测试,而且这是两个持续的过程,可能须要数周或数月的时间。

北迁过程

第一阶段:测试(4~6周)

第一阶段的主要工作是设置裸机伺服器,在小规模且易于管理的机器上测试北迁,然后再扩大规模。这个阶段没有太多修改软件的需求,她们决定在Linux的KVM虚拟机上运行伺服器。

5 月初,她们的第一批服务器开始运行,1%的互联网流量被定向到新伺服器。北迁两周后,她们每天的服务费节省了800美元。5月底,她们已将大部分互联网流量工作负载从 AWS 北迁出去,图形工作负载的生产成本减少了 45%。

伺服器每月的生产成本降到了13,000 美元,与AWS相比,开支已经削减了 22%。

弃用 AWS 后,我们服务器的年成本降低了 80%

测试阶段对于确保今后业务流程的顺利运行至关重要。她们付出了巨大努力,设法通过更多的监控和更好的错误处置来提高系统的稳健性。除了已有的伺服器监控仪表板外,她们还设置了两个新的图形监控仪表板,以便发现错误或性能问题。

弃用 AWS 后,我们服务器的年成本降低了 80%

多亏了持续的监控和清晰的沟通,她们的测试成功了,最终能节省的生产成本已超出了预期。一切准备就绪,她们开始向第二阶段迈进。

第二阶段:技术北迁(4周)

6月~7月初,她们以第一阶段的北迁作为概念验证,在此基础之上进行技术方面的北迁。第二阶段的主要工作是将内存储存移动到裸机伺服器。

6 月中旬,她们搭建了300台伺服器,并开始顺畅运行,内存页面总数达到 2 亿。她们的每台伺服器上都选用了 Apache Cassandra 节点(与AWS S3兼容)。

她们将在线北迁分为四个步骤,每个步骤相隔1~2周。在测试了页面是否能同时内存在 S3 和 minio 中之后,她们慢慢地将互联网流量从 AWS S3 切换到minio。在向S3的写入完全停止后,她们每天省下了200美元的生产成本(选用S3 API的服务费)。也就是说,她们现在能删除内存在 Cassandra 集群中的数据了。

6月24日,第二阶段的工作暂告一段落,这时她们的生产成本骤降。在这之前的四个星期里,她们将大部分内存工作负载从 AWS S3 转移到了她们自己的 Cassandra 集群。随之而来的是,AWS每天的开销降至1,100美元,预计每月3.5亿美元,而新伺服器的每月经常性生产成本约为1.4亿美元。

当时,S3仍留有一些数据,每天的开销约为60美元,而且会在接下来的几周内逐渐消失。尽管她们本能将所有数据移出,将生产成本立即削减成零,但将数据移出 AWS 须要一次性支出5000美元,这笔钱花得有点冤。

移动数据是她们遇到的巨大瓶颈,她们的新CTO Zsolt Varga表示:

“ASW真正的坑在于流量生产成本,她们的储存服务费非常合理,甚至能免费上传。但是当你将数据拿出来的时候,就须要付出巨大的代价。”

“小型创业公司通常不会计算互联网流量生产成本,尽管这笔服务费有可能占到总生产成本的90%。”

举个例子,假设你在美国西部地区(比如俄勒冈),那么必须支付的互联网流量生产成本为0.080 美元/GB,而在亚太地区(比如首尔)则须要支付0.135 美元/GB。

而对于她们,每月的互联网流量生产成本轻轻松松就能达到3万~5亿美元。在第二阶段结束时,她们的伺服器每月的总生产成本减少了 41.2%。

弃用 AWS 后,我们服务器的年成本降低了 80%

第三阶段:实现和扩展(4~6周)

到这一阶段,北迁工作进行得很顺利,而且她们已经节省了大量资金。剩下的工作是将所有其他数据北迁到本地的伺服器上。

这个阶段她们须要移动所有的亚马逊RDS示例。这是整个过程中最容易出错的部分,但是由于很大一部分数据已经北迁完了,因此任何故障或瓶颈都不会引致整个北迁崩溃。

以下是她们在北迁过程的最后阶段所需完成的工作:

将储存cached_urls表的PostgreSQL分片镜像到Cassandra;

将 service.prerender.io 切换到 Cloudflare 负载均衡器,以容许动态互联网流量分配;

建立新的欧盟私人缓存伺服器;

反复进行压力测试,化解任何性能问题。

最终结果证明,此次北迁取得了巨大的成功。当所有内存页面都被重定向后,她们每月的伺服器服务费下降到最初预估的40%~80%。

如果在此过程中遇到任何问题或实际的工作进展落后于计划,伺服器北迁都将面临很多风险。因此,她们在北迁的每个阶段都设计了故障保险,以确保出现问题时她们能回到上一步。这也是她们在全面北迁之前,实施了一系列小规模测试的原因。

为了规避风险,她们细细规划了北迁的每个阶段,在扩展之前测试了每个实施阶段,并在出现问题时及时修复。这样,她们不仅大幅减少了伺服器的服务费,而且将所有潜在风险降至最低。

北迁伺服器的动力

如你所见,顾客能利用她们的产品推出以用户体验为中心的中文网站,她们的工作重心是为顾客提供最好的服务,而不是设法优化SEO。在过去的一两年里,每当建立两个新页面,她们都须要利用Wordpress,仅仅是为了获得最好的 SEO,而只把管理界面等须要SPA的功能留给未检索的页面。但如今,她们能帮助顾客化解过去的这些难题。

技术栈的优先选择

Javascript的选用范围非常广泛,由于她们化解了Javascript 图形引起的“问题”,因此她们希望在这个领域积累尽可能多的专业知识。她们利用CloudFlare的分布式系统,实现了快速响应和全球扩展。在Digital Ocean云平台的支持下,她们能保障正常的运行时间。此外,她们还选用了很多其他 SaaS 提供商来最大限度地提高她们的效率。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务