引言
这周,我们采访了 Zsot Varga,Prerender.io 的管理者兼首席工程师。他分享了公司如何通过摆脱 AWS 平台,节省了 80 万美元,并构建了自己的基础设施来处理流量和缓存数据。他们的目标是,在降低成本的同时,保持相同的渲染速度和服务质量。
这种迁移需要仔细规划和执行,因为任何配置上的失误或执行不当,都可能影响客户网站页面的加载、社交媒体的点击量,甚至可能导致搜索引擎排名下降,从而增加客户流失的风险。
你能描述下 Prerender 和你解决过的最有趣的技术问题吗?
简而言之,Prerender通过缓存和预渲染JavaScript页面,使得搜索引擎能够抓取和索引纯 HTML 文件。用户只需在网站上安装适当的中间件,就可以避免使用昂贵且缓慢的 JavaScript 渲染方式。
最初,所有的数据处理和进展都在 AWS 上完成。然而,随着业务的扩展,每分钟处理的页面数量超过了70000,存储的数据量达到了5.6亿页面,每年支付的费用也超过了100万美元。如果一直停留在 AWS 上,成本只会继续上涨。于是,Zsot 和团队采用了创新的思维和明确的计划,成功地在短短 3 个月内将费用削减了80%。这一经验表明,其他公司也能效仿这一做法,从而降低成本。
开始
规划一个迁移:我们的逐步指南
直到最近,Prerender 依然使用托管在Amazon Web Services (AWS)上的服务器和服务,来存储为客户缓存和呈现的页面。AWS 是全球最大的云服务提供商之一,提供虚拟服务器和托管服务。Prerender 一直依赖 AWS 来存储其缓存的页面,直到这些页面准备好被Google、Facebook或其他搜索引擎爬虫(蜘蛛程序)抓取。这使得 Prerender 提供了其核心功能:为搜索引擎提供静态 HTML 页面,为用户提供动态交互式的 JavaScript 页面。
然而,这种做法存在显著的成本问题。在第三方服务器上存储数 TB 的预渲染网页内容,花费巨大。仅在维护和托管费用方面,这种缓存页面存储方式就让 Prerender 承担了天文数字的开销。
此外,还有许多初创公司没有考虑到的一个重要因素:流量费用。虽然将数据存储到 AWS 是免费的,但在传输这些数据时,Prerender 必须承担巨额费用,这成为其发展的瓶颈。
为了解决这些问题,Prerender 决定将缓存的页面和流量迁移到内部服务器,并尽可能快速地减少对 AWS 的依赖。通过进行成本估算后,我们发现可以减少40%的托管费用,因此决定实施服务器迁移。这样的迁移不仅能拯救 Prerender,还能为客户节省成本。
我们的目标是在降低成本的同时,保持相同的渲染速度和服务质量。这样的迁移需要细致的规划和执行,因为任何配置错误或执行不当,都可能导致客户网站停机、社交媒体点击量下降,甚至影响搜索排名,从而潜在地增加客户流失的风险。