比较Vercel和Netlify

2023-10-11 pv

1. 背景

最近在搞一些小的前端项目。

代码放在GitHub。另一个问题是:怎么部署?当然最好是能集成GitHub。

个人服务器固然是一个选择,自由,灵活,但也有缺点:

  • 成本。国内的云服务器价格不低,而且学生优惠现在也用不上。
  • 麻烦。需要部署静态服务器,还需要搞定SSL证书申请/续期的问题,域名也得有,而且还得备案。

通常来讲,有明确需求的地方,就有商业化的解决方案。

相比于直接使用裸的云服务器,有公司直接提供更上层的静态网站托管服务。

当然,GitHub Page也支持,但一来访问慢,二来可扩展性差,不予考虑。

这里引申出一个比较有意思的概念:JAMstack🔗

之前的建站,通常采用LAMP🔗,即Linux+Apache+MySQL+PHP。原因也简单:开源,用户广泛,免费,好用。

问题是:复杂度高,需要专业的开发者,维护成本也高。

JAMStack则是一个新的网站架构风格,由Matt Biilmann于2015年创造,意思是:JavaScript+API+Markup

其实能明显地看出,这种架构风格更抽象,也更有针对性,更专注于前端,也更贴近业务。

VercelNetlify是两家比较典型的公司。

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非常好,懂得识别趋势,利用技术去解决问题,并包装成商业上的解决方案

毕竟人对于美好生活的向往是永无止境的。

这迫使我们不断寻找更优雅、更高效的方法。

问题里蕴藏着机会

参考

  1. wiki-Vercel🔗
  2. Vercel🔗
  3. wiki-Netlify🔗
  4. Netlify🔗
在 GitHub 上编辑本页面

最后更新于: 2024/03/04 06:51:47