比较Vercel和Netlify
1. 背景
最近在搞一些小的前端项目。
代码库肯定是放在GitHub,另一个问题是:部署在哪里?
个人服务器固然是一个选择,自由,灵活,但是缺点也明显:
- 成本。国内的云服务器价值不菲,而且学生优惠现在也用不上。
- 麻烦。需要部署静态服务器,还需要搞定SSL证书申请/续期的问题,域名也得有,而且还存在个域名备案的手续。
通常来讲,有需求的地方,就有商业化地解决方案。
相比于提供底层的云服务器,有公司直接提供更上层的网站托管服务。
当然,GitHub Page也支持,但一来访问慢,二来可扩展性差,这里暂时不去考虑。
这里也引申出来一个比较有意思的概念:JAMstack。
之前的建站,通常采用的是LAMP,即Linux+Apache+MySQL+PHP,原因也很简单:都是开源的,而且持续维护,免费且好用。
问题是:复杂度较高,不仅需要专业的开发者,维护成本也较高。
JAMStack则是一个新的网站架构风格,是由Matt Biilmann于2015年创造,表示:JavaScript+API+Mockup。
其实能明显地看出,这种架构风格更抽象,也更灵活,更加专注于前端,也更贴近业务。
而这其中,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提供的是PaaS层次的服务。
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
- 版权声明: 本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接