Fly.io
最近在调研托管方案的过程中,发现一家比较优秀的解决方案:Fly.io
因为目前很多大热的托管方案其实都是基本面向前后端同构和SSR的一些偏前端的,比如Vercel,和Nelify,但是其实后端也需要这样的平台;
之前在国内做产品,大家的惯性思维就会是买一台云服务器,然后部署在上面,其实小的场景,这样做也没有什么问题,但是如果用户量渐渐开始上来,那么就得租用更多的云服务器,同时得用nginx做负载均衡,同时服务器负载能力上来了,数据库就成了瓶颈,那么为了数据库的高可用还得做数据库的集群,主从复制;同时如果服务器都在一个地方,很多外地用户,以及跨国用户体验就会很糟糕;这些都可以解决,但是需要极大的成本和团队扩充;这对于朝不保夕的创业团队来说,不科学,也饿哦那个意思
那么Fly.io就是专门用来解决这种场景的,以下来讲讲他的优势,以及如何解决这些问题的:
1.低成本部署:
你只需要集成你的github仓库,你就可以部署你的应用到fly服务器,甚至你还可以安装fly的cli工具,在命令行里,cd到你的项目里,一个fly deploy就可以部署你的项目到fly的服务器上;
安装:
brew install flyctl
登录:
fly auth login
部署:
fly deploy
2.支持多种技术栈一键部署 :
3.支持Docker镜像部署:
基本主流的技术栈都支持,不过如果你想部署java,又在上面找不到,不要太担心,fly.io对docker镜像部署是支持很好的:
如果你的项目写了Dockefile,那么默认flyio就会以你的dockerfile进行build;
4.Fly-Machine 自动扩缩容的vps:
当你首次部署好后,你的应用就会起码有两个节点:
并且如果没有任何流量,machine会自动休眠,节省你的支出;
相比于传统的vps:
特性 | Fly.io Machine | 传统 VPS | AWS EC2 Auto Scaling |
启动速度 | 1-3秒 | 30-60秒 | 30-120秒 |
计费方式 | 按秒计费 | 按月计费 | 按小时计费 |
扩容速度 | 极快 | 手动 | 中等 |
全球部署 | ✅ 一键多区域 | ❌ 需要手动 | ⚠️ 复杂配置 |
当然你也可以用cli手动扩缩容:
fly scale count 5 --region ord # 扩容到5个实例 fly scale count 1 --region ord # 缩容到1个实例
5.Postgres数据库集群
后端服务必然离不开数据库,flyio支持你创建数据库集群:
并且提供主从复制,数据库备份等功能:
当然你如果不愿意走托管集群,觉得定价太贵,那你也可以走自己的云服务商或者专业三方数据库,选择全在你
6.Upstash Redis + Vector数据库 + OSS对象存储托管
当然也提供redis和向量数据库和OSS等托管,基本上你业务会用到的常规的东西,平台都提供托管。
7.自动集成的Grafana + Sentry:
如果是自己配置监控,自己采集数据,这个配置成本相当高;但是在flyio是自动集成的;
8.GPU Machine + Volumes
如果你想要带GPU的机器用来训练AI,没错,支持!
你也可以搭载用来保存数据的卷;
9.Fly Kubernetes
虽然flyio已经支持machine的自动放缩容,但是还是支持Fly Kubernetes,虽然个人感觉没太大必要:
OK,以上基本就是flyio的关键特性,我觉得整体功能很闭环,基本该有的功能都有,后续我会专门评测一下:
全球CDN的效果
内网互相调用的耗时
以及不使用内网数据库,用外网数据库和redis整体链路耗时是否可以接受
不过对于一个初创团队,这已经省了相当多的运维成本;