华人澳洲中文论坛

弃用 AWS 后,咱们办事器的年本钱升高了 80%

[复制链接]

2022-12-3 18:18:08 47 0



摘要:云时期,在面对云厂商高额的本钱时,保持云办事采取外部根底设施进行交换是不是是更适合的选择?
http://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万美元。
“咱们的指标是升高本钱,同时放弃渲染速度和办事品质不变。这种的迁徙需求子细方案和当真履行,配置不正确或履行不给力就会致使客户网页和社交媒体宕机,影响他们的网络搜寻排名,也会致使咱们的客户流失。”
需求解决的技术问题
简略来讲,咱们的产品Prerender会缓存和预渲染JavaScript页面,这样搜寻引擎就能抓取和索引一个纯HTML文件,你只需求在网站上装置适量的两头件,就能防止使用低廉且简短的JavaScript解决计划。
然而,一切这些数据和流程都需求在办事器上处置,为此之前咱们使用的是AWS。通过几年的开展,如今咱们每分钟需求处置的页面超过了7万,存储的页面高达5.6 亿,因此而发生的AWS费用也高达一百万美元。
持续使用AWS,咱们就需求继续承当如斯昂扬的费用。相同,咱们花了三个月的时间,经过一些现成的思绪和一个明晰的方案,增添了80%的本钱。
迁徙方案
以前,咱们使用的是托管在亚马逊的AWS之上的办事器,用于存储客户缓存和呈现的页面。家喻户晓,AWS是目前最大的云提供商之一,提供虚构办事器和托管办事。
咱们利用AWS来存储缓存页面,而后供Google、Facebook以及其余搜寻引擎查问或抓取。咱们的产品Prerender的次要功用就是向Google以及其余搜寻引擎提供动态的HTML页面,向人类用户提供静态的交互式 JavaScript。
咱们所面临的问题是,将少量(TB级)的预渲染网页存储到第三方办事器上发生了巨额的费用。经过这类形式存储缓存页面,致使咱们所需承当的保护和托管费接近天文数字。
另外还有一个问题,得多初创公司都没有斟酌到,也没有太多相干的话题诱发探讨,那就是流量本钱。
将数据导入 AWS 是收费的,但关于大少数软件来讲,动态数据并无甚么用。但挪动这些数据会发生巨额本钱,而这将成为咱们后退路途上的瓶颈。
那末,该怎么解决呢?咱们的方案是,将缓存的页面和流量迁徙到本人外部的办事器上,并尽快增加对AWS的依赖。
咱们预估了一下本钱,发现能够将托管费用升高 40%,并且此次办事器迁徙不只能够节俭咱们的本钱,也能够为客户省钱。
咱们的指标是升高本钱,同时放弃渲染速度和办事品质不变。这种的迁徙需求子细方案和当真履行,配置不正确或履行不给力就会致使客户网页和社交媒体宕机,影响他们的网络搜寻排名,也会致使咱们的客户流失。
为了不可能泛起的问题,咱们的方案包孕三个阶段。假如泛起任何问题,咱们能够轻松地退回到前一个阶段。假如因为某种缘故致使新办事器无奈任务,咱们也能够轻松地回滚,而不会泛起任何停机或影响到客户的办事升级。
咱们需求小心地履行零碎测试,并且这是一个继续的进程,可能需求数周或数月的时间。
迁徙进程
第一阶段:测试(4~6周)
第一阶段的次要任务是设置裸机办事器,在小范围且易于办理的机器上测试迁徙,而后再扩张范围。这个阶段没有太多修正软件的需要,咱们抉择在Linux的KVM虚构机上运转办事器。
5 月初,咱们的第一批办事器开始运转,1%的流量被定向到新办事器。迁徙两周后,咱们天天的费用节俭了800美元。5月底,咱们已将大部份流量任务负载从 AWS 迁徙出去,渲染任务负载的本钱升高了 45%。
办事器每个月的本钱降到了13,000 美元,与AWS比拟,开支曾经增添了 22%。


测试阶段关于确保今后流程的顺利运转相当首要。咱们付出了微小致力,想法经过更多的监控和更好的过错处置来进步零碎的稳健性。除了已有的办事器监控仪表板外,咱们还设置了一个新的渲染监控仪表板,以便发现过错或机能问题。


多亏了继续的监控和明晰的沟通,咱们的测试胜利了,终究能节俭的本钱已超越了预期。所有筹备就绪,咱们开始向第二阶段迈进。
第二阶段:技术迁徙(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%。


第三阶段:完成和扩展(4~6周)
到这一阶段,迁徙任务进行得很顺利,并且咱们曾经节俭了少量资金。剩下的任务是将一切其余数据迁徙到当地的办事器上。
这个阶段咱们需求挪动一切的亚马逊RDS示例。这是全部过程当中最容易犯错的部份,然而因为很大一部份数据曾经迁徙完了,因此任何毛病或瓶颈都不会致使全部迁徙解体。
下列是咱们在迁徙进程的最初阶段所需实现的任务:
将存储cached_urls表的PostgreSQL分片镜像到Cassandra;
将 service.prerender.io 切换到 Cloudflare 负载平衡器,以允许静态流量调配;
建设新的欧盟公家缓存办事器;
重复进行压力测试,解决任何机能问题。
终究后果证实,此次迁徙取患了微小的胜利。当一切缓存页面都被重定向后,咱们每个月的办事器费用降落到最后预估的40%~80%。
咱们获得的教训经验
假如在此过程当中遇就任何问题或实际的任务停顿后进于方案,办事器迁徙都将面临得多危险。因此,咱们在迁徙的每个阶段都设计了毛病保险,以确保泛起问题时咱们能够回到上一步。这也是咱们在片面迁徙以前,实行了一系列小范围测试的缘故。
为了规避危险,咱们子细布局了迁徙的每个阶段,在扩展以前测试了每个实行阶段,并在泛起问题时及时修复。这样,咱们不只大幅升高了办事器的费用,并且将一切潜伏危险降至最低。
迁徙办事器的能源
如你所见,客户能够利用咱们的产品推出以用户体验为核心的网站,他们的任务重心是为客户提供最佳的办事,而不是想法优化SEO。在过来的几年里,每当建设一个新页面,咱们都需求利用Wordpress,仅仅是为了获取最佳的 SEO,而只把办理界面等需求SPA的功用留给未索引的页面。但如今,咱们能够帮忙客户解决过来的这些困难。
技术栈的选择
Javascript的使用规模十分普遍,因为咱们解决了Javascript 渲染惹起的“问题”,因此咱们但愿在这个畛域积攒尽量多的专业常识。咱们利用CloudFlare的散布式零碎,完成了疾速响应和寰球扩展。在Digital Ocean云平台的反对下,咱们能够保障正常的运转时间。另外,咱们还使用了得多其余 SaaS 提供商来最大限制地进步咱们的效力。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
注册会员
:
论坛短信
:
未填写
:
未填写
:
未填写

主题30

帖子40

积分173

图文推荐

  • 撞穿学校栅栏害死十一岁男孩的司机不必坐牢

    一位女司机撞穿学校栅栏、害死了11岁男孩,被罚20

  • 全科医生正告花粉症时节正在好转

    全国各地的全科医生正告春季的开端标记着花粉症时

  • 新西兰总理:出世在新西兰的新纳粹Thomas S

    新西兰总理拉克森称新纳粹Thomas Sewell是坏人,

  • 新州护士和助产士承受暂时加薪3%的前提

    新州护士和助产士投票承受政府提出的暂时加薪3%以

  • 新纳粹份子如何利用“普通父母”的掩护在反

    星期天,新纳粹份子在反移民集会开端前大约一个小