分类: 网站 标签: pages cloudflare

基本概念

在尝试 Astro 的发布时,官方推荐的是 Netlify,但在个人经验上,国内环境 Netlify 服务可用性不如 Cloudflare。

毕竟 Cloudflare 是 今日市值 307.40 亿美元的公司,股价 91.04 美元,员工 3000 多人,而 Netlify 还在 C 轮,员工数量没有明确公开数据,约 244 人。

无论服务取啥名,构建个人网站,这里用到的服务主要有两种:一种是指 CDN,另一种是 ADS。

  • CDN 即 Content Delivery Network,将内容分发到全球的多个网络节点中,这样用户访问内容时,会从离用户近的节点返回内容,属于空间换时间。
  • ADS 即 Automated Deployment Services / System,即自动化发布服务/系统,可以触发发布编译调度服务,以自动地从源码构建并进行发布。
零信任网络

Cloudflare 自夸在全球网络标准类别获得 Forrester 报告中所有 SSE 供应商中的最高分,而 Netlify 体量相对小,但服务也算是不错。

这里的 SSE,以及 SASE,都是相对较新的词,是一套适配现代企业架构的安全边缘计算服务和产品。

听起来陌生,倒不是因为它们出来晚,而是因为这套服务成本不低,阿里云也有类似服务,但头部还是这些

怎么理解?通俗讲,这套服务就是疫情下的远程办公需求催生的。

原先,员工到达办公地点,从公司内的终端接入公司网络,访问内容和资源,就是说,只要员工在物理场所内,就获得了公司内公开内容的信任,以前出差的员工多采用 VPN。

而远程办公需求下,员工从全球接入公司网络,VPN 存在很多不必要的成本,比如:

  1. 访问其它公司的在线服务,没有必要走公司网络流量。
  2. 原先 VPN 的接入可以给与一定地域和 IP 限制,而对于全球企业来说,随时可能就几百几千员工在出差,由专人管理访问规则成本会太高,不如公司内部网络和应用对接入者都进行严格验证和授权。
  3. 公司可以不用管员工从哪里以及如何使用公司资源,这些资源都被相对封闭在浏览器沙盒和员工设备中,从而获得了办公的灵活性,也有日志可以事后审计。

Gartner 称 SSE = SASE - SD-WAN,原先想推广的是 SASE(Secure Access Service Edge),如 Cloudflare One 服务,但公司要迁移到这样的环境,除非是新公司,否则会困难重重,因此又推出了 SSE 这种更容易落地的服务。

这些设施和服务,其实都是为了简化小公司与 IT 有关的工作,借助 SSE 可以缩短 IT 基础设施建设周期,更轻便灵活的起步开创全球化业务,但从长远来看,自建这些设施和服务是无可回避的。

所有成功构建护城河的现代公司,必然都是 IT 中厂,这也是现代公司面临的窘境,最终有一环你的成本永远都不会比互联网公司低,若互联网公司欲涉足你的领域,你会不具备此竞争优势。

关于故障

网站出现故障是因我将 GitHub Pages 服务迁移到 Cloudflare Pages 构建,而 kaffa.im 的构建模式依赖本地服务。

在此,我又想到了那句—— 所编写的每一行代码都是成本

这里要实现 kaffa.im 的自动构建,需要去掉本地数据依赖,方式有:

  1. 将依赖的数据先本地 fetch 好,作为数据库或 json 上传。
  2. 将系统部署到云端。

我想我可能会选择没有成本的方式 1。

关于本地构建和远程构建

本地构建适合本地依赖多的场景,远程构建的前提是依赖标准化组件和服务。远程构建确实更方便,但要考虑的是,这种免费构建服务的生命周期有多长,犹其是内容价值非常高且服务中断成本非常高时。

本地构建的配置

  1. 将 DNS 指向 Cloudflare 的 DNS,这一步非必须的,按这样做可以简化后续设置域名。
  2. Pages 服务中,在 Settings 标签的 Builds & deployments 节下,如果你的静态内容是在目录下,则需要将:
    • Build output directory 设置为这个目录,比如 /disc 或 /docs 等。
    • Root directory Pages 的发布目录,默认为 / 即可。

远程构建的配置

可以使用 Cloudflare 的 Connect to Git 功能,也可以使用 Common Worker examples 开始。远程构建的优势是,你只管写内容和提交,其余的交给 Cloudflare,它会先从 Git 拉源码,再构建,再发布,勤勤恳恳的免费打工人。