比较 Vercel 和 Netlify
2023-10-11
1. 背景
最近在搞一些小的前端项目。
代码放在 GitHub。另一个问题是:怎么部署?当然最好是能集成 GitHub。
个人服务器固然是一个选择,自由,灵活,但也有缺点:
- 成本。国内的云服务器价格不低,而且学生优惠现在也用不上。
- 麻烦。需要部署静态服务器,还需要搞定 SSL 证书申请/续期的问题,域名也得有,而且还得备案。
通常来讲,有明确需求的地方,就有商业化的解决方案。
相比于直接使用裸的云服务器,有公司直接提供更上层的静态网站托管服务。
当然,GitHub Page 也支持,但一来访问慢,二来可扩展性差,不予考虑。
这里引申出一个比较有意思的概念:JAMstack🔗。
之前的建站,通常采用 LAMP🔗,即 Linux+Apache+MySQL+PHP。原因也简单:开源,用户广泛,免费,好用。
问题是:复杂度高,需要专业的开发者,维护成本也高。
JAMStack 则是一个新的网站架构风格,由 Matt Biilmann 于 2015 年创造,意思是:JavaScript+API+Markup。
其实能明显地看出,这种架构风格更抽象,也更有针对性,更专注于前端,也更贴近业务。
Vercel和Netlify是两家比较典型的公司。
2. Vercel/Netlify
2.1 IaaS/PaaS/SaaS
云计算领域有三个基本概念:IaaS,PaaS 和 SaaS。详细可参考阮一峰老师的 博客🔗。
这三个名词分别表示:
- IaaS:基础设施服务,Infrastructure-as-a-service
- PaaS:平台服务,Platform-as-a-service
- SaaS:软件服务,Software-as-a-service
抽象程度逐级提高。
举个最简单的例子,你需要数据库服务。
IaaS 做的,是给你一台物理机器(实际可以是虚拟的)。
PaaS 做的,是直接给你个运行环境(runtime),比如安装好 Linux 系统的机器,你可以登陆,操作等。
SaaS 做的,更直接,直接把某个数据库,比如 MySQL 安装好,你可以直接使用。
抽象程度越高,越容易使用,但是限制也会增加。
Vercel 和 Netlify 提供的,可理解成是 SaaS。
2.2 Vercel 简介
Vercel 由 Guillermo Rauch 于 2015 年创立,当时名为 Zeit。
2021 年 6 月,Vercel 在 C 轮融资中筹集了 1.02 亿美元。
截至 2021 年 11 月,该公司估值为 25 亿美元。
按照其 官网🔗 官网说法,Vercel 的愿景是:
We enable developers to build and publish wonderful things.
让开发者创建和发布美好的东西。
怎么做到?
Vercel 底层基础设施,由 Amazon Web Service 和 Cloudflare 提供,暴露给上层更加简单(Easy)、通用(Universal)且无障碍(Accessible)的服务。
Vercel 一端连接代码仓库,例如 GitHub,另一端连接用户可触的网站。整个中间过程通过 CI/CD 串联:
代码合入—>事件触发—>构建—>部署—>服务。
为了使整个流水线(pipeline)更加丝滑且高效,Vercel 提供了一系列可组合的服务:
- Edge Network(边缘网络),在靠近用户的区域(region)存储数据并提供服务,可有效减少延迟(latency),类似 CDN。
- Serverless Functions(无服务器函数),现成的运行时(runtime),开发者只需关注函数如何实现。
- Edge Middleware(边缘中间件),在处理请求前可以先通过一系列 middleware,从而为用户提供更加个性化服务。
- Image Optimization(图片优化),通过提供不同尺寸的图片和缓存实现。
- Incremental Static Regeneration(ISR,增量静态再生),提供更好的性能和更快的构建。
- Edge Cache(边缘缓存),借助 Edge Network 实现。
2.3 Netlify 简介
Netlify 成立于 2014 年。当时丹麦企业家 Mathias Biilmann 注意到以 Git 为中心的工作流程(workflow),和现代构建工具以及静态站点生成器的出现,他将其描述为“a massive change happening in the web development space(web 开发领域的巨大变化)”。
2021 年 11 月 17 日,Netlify 在 Bessemer Venture Partners 领投的 D 轮融资中获得 1.05 亿美元融资,估值为 20 亿美元。
Netlify 的自我定位是:the modern web development platform for Enterprises to realize the full potential of a scalable, customizable web architecture(一个现代化的网站开发平台,帮助企业充分发挥可扩展、可定制的网站架构能力)。
标语是:Connect everything, build anything(连接一切,构建一切)。
Netlify 所提供的服务与 Vercel 类似,但是切分的粒度更大:
- Netlify Connect,数据统一层,利用现有或新内容构建网站。
- Netlify Front-End Cloud,帮助企业构建和部署面向未来的、可组合的网站体验。
- Stackbit Visual Editor,助力团队通过可视化编辑和实时预览更快地更新网站,支持任意技术栈。
2.4 对比
总体来说,Vercel 和 Netlify 提供的服务是类似的,对于非企业的个体开发者而言,都有免费额度,基本够用。
那么具体该如何选择?
这篇 文章🔗 文章析得很详细,从功能、成本等多个维度进行比较,有兴趣可以进一步了解。
先说说我的看法。
选择两者哪一个其实都可以。
就我混迹多个平台的感受而言,Vercel 的用户群体似乎更大一些,我个人也觉得 Vercel 的用户体验做得更好好。
但在国内,可能因为用户太多,鱼龙混杂,Vercel 有过多次域名被污染的情况,因此在选择的时候需要考虑进去。
3. 总结
写这篇文章的契机,是因为国庆节的时候,部署在 Vercel 上的一个网站:阮一峰的技术周刊-小站🔗 阮一峰的技术周刊-小站法访问,于是迁移到 Netlify。
顺便对这两款产品深入研究了一番。
无论是功能,还是用户体验,都做得很棒。而且的确解决了一部分开发者和企业的痛点问题。
不过国内暂时还没有类似的产品。
我就在想,外国人的 business sense 非常好,懂得识别趋势,利用技术去解决问题,并包装成商业上的解决方案。
毕竟人对于美好生活的向往是永无止境的。
这迫使我们不断寻找更优雅、更高效的方法。
问题里蕴藏着机会。
参考
- 本文作者:Plantree
- 本文链接:https://plantree.me/blog/2023/vercel-and-netlify/
- 版权声明:所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
最后更新于: 2024-06-14T07:17:44+08:00