停止使用 AWS。
您有多少次看到有人构建了一个带有所有云功能和附加功能的 MVP,但却发现它毫无进展?
该产品有 Lambda 函数、API 网关、Cognito、S3、CloudFront、DynamoDB、CloudWatch、IAM 策略等等。架构图看起来就像地铁图。然而……却没人用。
事实很简单:您不需要 AWS 来构建用户喜爱的东西。
过度杀伤问题
架构师们经常会陷入一个陷阱。你读了几篇博客文章,或者在 Twitter 上看到一张图表,突然就觉得你的小项目需要和 Netflix 一样的架构。
你不知道。
大多数早期项目的失败并非因为缺乏可扩展性,而是因为缺乏用户。或者是因为产品令人困惑、漏洞百出,或者无法解决实际问题。
过度设计你的基础设施是浪费你的时间、精疲力竭或根本无法启动的绝佳方式。
你真正需要的
如果您是一名独立开发人员或小团队,正在尝试构建和发布一些有用的东西,那么这可能就是您所需要的:
- 每月 5 至 20 欧元的Hetzner、DigitalOcean 或类似公司的 VPS
- Docker Compose 运行你的应用程序和数据库
- 如果您想完全避免服务器管理,可以使用像Sliplane这样的托管容器平台(是的,作为创始人,我有偏见)
您不需要 Kubernetes。您无需担心自动扩展。您无需连接六个 AWS 服务来显示单个页面。
大多数独立产品可以在单个服务器上长期完美运行。
AWS 何时发挥作用
公平地说,在某些情况下,AWS 是正确的选择:
- 您想学习 AWS,因为您正在找工作或培养云职业技能
- 您有非常具体的要求,例如需要将数据存储在政府云中,或者靠近同样位于 AWS 上的客户基础设施
- 你正在解决一个从第一天起就真正需要全球规模的问题
- 您已经深入 AWS 生态系统并拥有丰富的专业知识
这些都是很好的理由。但请你对自己诚实一点。大多数项目都不是这么开始的。
即使你以后确实需要 AWS,也没关系。你随时可以迁移。到那时,你有望获得收入、用户,并且更好地了解你的需求。
记住这一点:
您的产品失败的可能性更大,是因为其功能,而不是其运行环境。
如何在没有 AWS 的情况下开始
想要快速上线产品,又不想花几周时间学习云架构?这里有一个不错的起点:
- 使用 Docker Compose 定义您的应用程序、数据库和任何后台工作者
- 使用 ssh 和 docker compose 将其部署到 VPS
- 或者使用一个抽象操作的平台,让你专注于代码
- 选择开源工具来执行监控、授权或任务队列等操作
就是这样。您只需一个下午即可从零开始,轻松部署。无需任何认证。
最后的想法
你不需要 AWS 就能打造出伟大的产品。你需要的是专注、一款可用的产品以及快速交付的能力。庞大的基础设施无法拯救糟糕的产品,简单的基础设施也无法扼杀优秀的产品。
从小处着手,尽早启动,快速学习。以后随时可以扩大规模。
干杯,
Sliplane联合创始人 Jonas
附言:需要澄清的是,我很喜欢 AWS,甚至经常推荐它用于特定的用例
文章来源:https://dev.to/code42cate/stop-using-aws-4eg