放弃 PaaS:为什么我回到了自托管
不断上涨的云和 PaaS 成本,正在促使一些开发者回到 VPS、托管机房,甚至家用服务器;他们认为,只要愿意自己管理基础设施,就能以同样的钱换来更多算力。另一些人则反驳说,这些溢价买的是可靠性、网络、自动扩缩容和更低的运维负担,而这些对专注于交付产品的小团队来说可能比原始配置更重要。这场讨论也探讨了如今“自托管”到底意味着什么,Docker 和 Kubernetes 等工具如何降低自己运行服务的门槛,以及省钱和投入运维时间之间的权衡。
成本与硬件 vs PaaS
- 许多人指出,PaaS 按美元算给出的原始配置远不如 VPS 或裸金属划算(例如,$80+ 只能买到中等的内存/CPU,而大约 ~$100 就能买到非常强大的专用服务器)。
- 一些人认为,即使是“过时”或二手服务器,只要把旧硬件和新硬件并行使用,仍然可以处理很多工作负载。
- 也有人反驳说,新服务器可以整合多台旧机器,并且在效率和运营成本上更好。
可靠性、网络与托管
- 有人说,云/PaaS 的真正价值在于网络质量、冗余,以及数据中心级别的供电/安全,而不只是硬件。
- 托管被描述为“两全其美”:每月较低的电力+网络费用,用你自己的硬件,但价格和 SLA 差异很大。
- 人们也提出了对低价服务商的担忧(例如,账户突然被终止、滥用处理不透明),而更贵但更稳定的方案则相对可靠。
时间、技能与维护
- 批评者认为,你只是“省下”一点每月费用,却在配置、打补丁和调试上花更多时间。
- 另一些人则认为,一旦用脚本自动化好,基础设施工作日常开销很低;或者这本身就是一种爱好和有价值的学习投入。
- 基础设施即代码、自动化和较长的 LTS 周期,被视为让维护保持可接受的方式。
“自托管”的定义
- 一种观点:自托管意味着在本地拥有并运行自己的硬件。
- 另一种观点:自托管意味着你自己管理软件栈,即使运行在 VPS 或云实例上。
- 也有人把它看作一个连续谱:VPS 已经“足够算自托管”,而家里的裸金属只是更极端的一端。
PaaS、Serverless 与自动扩缩容
- 支持 PaaS 的观点:小团队迭代更快、托管数据库/LB/认证、按量到零计费,以及更少的运维负担。
- 怀疑者认为,大多数应用其实并不真正需要自动扩缩容,而可预测的负载完全可以用简单的超配服务器来满足。
- 还有一种看法是,许多现代服务相对于高效代码实际需要的资源,过度配置得非常严重。
工具:Docker、Kubernetes、VPN
- Docker(以及简单的 shell 脚本)被赞为让自托管变得简单、可移植、且容易备份。
- Kubernetes 既被称为“过度”,也被称为具有变革性:标准化 API、自愈集群、易于扩展、强大的生态系统。
- VPN 工具(WireGuard、Tailscale 等)显著降低了安全搭建家庭/自托管网络的门槛。