自托管 PaaS 的兴起——您只需要 5 美元的 VPS 吗?
X 开发者社区里流行着一种小趋势,被戏称为“5 美元 VPS”——每次 Vercel 出问题,有人要付 10 万美元的账单,人们就会跳出来回复,大喊:“别再用 Vercel 了,直接买这个 5 美元的 VPS 就行,我用它来处理 10 万次访问,没问题”。所以,让我们来探讨一下这种趋势,看看它到底意味着什么。
2024 年,在众多不同的托管方案中,选择托管应用时,主要有以下四大类:大型云平台、专注于开发的 PaaS 平台、专注于“前端”的平台以及VPS/VDS 托管。值得一提的是托管 Kubernetes 平台和专用托管平台,几乎所有开源软件都提供某种云托管版本。由于许多提供商的业务范围涵盖多个类别,因此这些类别之间的界限并不清晰。
一点历史
我们是如何走到这一步的?云托管领域的先驱是亚马逊,2006 年推出了 AWS,2010 年 Azure 和谷歌云也相继推出。与此同时,Heroku 于 2009 年正式上线,提供了一种全新的云服务,它使用亚马逊的基础设施,但提供了更加用户友好、更专注的方法。2013 年,DigitalOcean 成立,创建了 VPS 和托管解决方案的组合。2014/2015 年,Netlify 和 ZEIT(最终更名为 Vercel)成立,专门构建和托管无服务器和前端应用程序。2019 年左右,新一代开发者友好型 PaaS 开始兴起,其中 Render 和 Fly 引领潮流。此后,许多规模较小/专业性较强的托管平台应运而生,其中许多平台是在其他平台的基础上构建的。
廉价 VPS 和自托管 PaaS 的兴起
如今,基于廉价硬件的自托管 PaaS 正日益流行。只需花费约 29.99 欧元,你就能拥有一个 8 vCPU + 16 GB RAM 的服务器节点,这应该足够运行所有需要的资源了吧?
除此之外,现在有许多流行的开源 PaaS 替代品。
完美的解决方案?
理论上听起来很棒,你只需要便宜的硬件,就能通过开源软件免费获得 PaaS 的所有功能。但让我们来分析一下自托管 PaaS 和 PaaS 之间的几个主要区别:
1. 你无需处理基础设施
PaaS 提供商通常运行数百甚至数千个强大的服务器节点,或使用 Amazon 的 EC2 基础设施为您的容器配置资源。您无需监控基础设施、处理操作系统/内核更新、处理硬件故障,也无需接触实际的底层基础设施。
2. 您获得托管数据库和存储解决方案
PaaS 提供商通常提供托管或半托管的生产就绪服务,如 Postgres、Redis(或 Valkey 等开源替代品)以及与 S3 兼容的存储解决方案。
3. 构建服务器、高可用性和备份
事实证明,搭建一个良好的基础架构并非易事,尤其是在您需要构建超越简单网站或应用的架构时。您的应用应该具备高可用性,并在其前端部署负载均衡器,至少在两个容器上运行;您的主数据库应该至少在三个容器上运行(写/读/读),并在前端部署代理负载均衡器。每个容器和负载均衡器都应在不同的物理服务器上运行。存储也应在不同的节点上运行。您的备份应该加密并保存在不同的节点上。构建也应在不同的节点上运行。
使用自托管 PaaS,您需要负责底层基础架构,平台软件的扩展能力实际上并不那么重要,因为您仍然需要自行扩展硬件。自托管 PaaS 上的数据库服务可能只不过是按需启动的 Docker Compose 容器。虽然只要您妥善处理底层文件系统,这可能没问题,但它并不是生产数据库的理想解决方案。数据库服务需要多加注意。您最终可能会遇到 RAM 过多而 CPU 不足的情况,因为底层基础架构不够精细。付费资源的实际利用率也可能会有所不同,因为您无法动态自动扩展或仅在需要运行构建时启动构建服务器。而且,您的应用程序越多,事情就会变得越混乱。
但是,难道你不能把所有东西都放在一台服务器上运行吗?嗯,是的——尤其是当你只托管几个小型、大部分是静态的(或服务器端生成/渲染的)网站时,一切可能都运行良好。也就是说,直到它出现问题为止。
最终,这取决于成本是否值得额外的功能,以及完全不处理基础设施的舒适度,同时拥有一个您可以信赖的、可以满足您需求的设置。
价格比较
不同用例的价格差异可能会略有不同,而且通常情况下,您无需为所有服务都使用专用 CPU。但为了尽可能准确地进行比较,我们将选择一个具有典型设置的中型实际生产项目,并尝试为每个提供商配置类似的设置,同时兼顾功能和资源。由于共享 CPU 在不同提供商之间可能具有不同的过量使用率,因此在可能的情况下,我们将使用专用或性能 CPU 核心来规范性能水平。
参考设置
不同供应商的价格
您可以通过将鼠标悬停在Zerops 网站上的项目上来查找配置详细信息。
Zerops,开发者优先的 PaaS
在 Zerops,我们认识到用户对价格实惠的 PaaS 的需求。在理想情况下,作为开发者,您需要:
-
能够为每个项目创建尽可能相同但价格合理的环境,一个用于开发,一个用于生产,甚至一个供每个开发人员在本地使用的环境
-
平台(和统一设置)可以支持您,无论您需要托管小型静态应用程序,还是托管具有多个数据库和微服务的大型项目,以及介于两者之间的任何内容
-
VPS的灵活性
这些要求中不可或缺的一部分是资源应该价格低廉,并默认包含所有高级功能。因此,我们的愿景是将开发者体验、灵活性、稳健性和可扩展性完美结合,并采用不妨碍良好开发实践的定价模式。
您不仅可以获得 PaaS 所期望的所有功能,还可以获得自动扩展、统一环境和接近廉价 VPS 提供商的资源价格。
此定价同样适用于简单和复杂的项目,无论其流量高还是低。
Zerops 的 10 分钟演练
在https://zerops.io注册并获得高达 65 美元的免费积分来试用 Zerops。