每个组织和开发人员都希望自己的网站能够快速加载,并在任何设备上都看起来很精美。轻微的加载延迟也会导致用户迅速退出页面,降低网站转化率。网站速度还会影响搜索引擎的排名。随着威胁形势愈发复杂,组织需要抵御不良机器人,保护用户数据不受攻击,因而正在积极寻找提升网站安全性的方法。
传统上,构建一个包含速度、安全性、可用性和可扩展性的网站是一项艰巨的任务,会给开 发人员带来负面影响。由于对开发人员资源的需求和可用性之间存在差异,寻找改进网站开发的方法可以缓解组织和底线的压力。
其中一种个方法是通过消除我们在开发过程中发现的耗时任务,包括:
确保网站能够在不停机的情况下管理流量峰值,同时尽量减少基础设施或云服务方面的支出
当更新页面后出现意外情况时,当页面中断或无法正常呈现时,必须迅速做出反应
将网站的后端和前端部分拼接起来
复杂的工作流程,包括收集利益相关者的反馈
组织可以使用构建网站的一种新的架构方法 Jamstack 来缓解所有这些问题。
Jamstack 始于静态网站的理念——为网站预先构建尽可能多的实用内容,并纳入动态元素,以获得攻击手段更少的快速网站。这个术语诞生于 2015 年,名为“JAMstack”,其含义为:
J = JavaScript,网站的编程语言
A = API,让原本静态的页面生成动态内容
M = 标记,即向浏览器提供格式化指示的 HTML 和 CSS 代码。
通过结合这三个要素,Jamstack 可帮助开发人员快速创建和维护网站,并能有效为用户服务。启动一个将在移动端、Web 和视频中良好渲染,并依靠 API 实现动态功能的静态网站可加速该流程。通过为网站预先构建尽可能多的内容,然后使用内容分发网络 (CDN) 将页面分发给世界各地的用户,提高页面速度。用户在访问网站时,看到的是一个由 CDN 提供的预渲染页面,不需要专用服务器。
值得注意的是,静态性质的页面并不要求内容是静态的。第三方 API(例如允许使用 Google 或 Facebook 的凭证登录网站的 API)可以帮助呈现动态内容,例如搜索、付款处理和实时数据。这种模块化方法提供了灵活性,并可避免供应商绑定——随着技术的变化和新工具的出现,替换不同 API 变得简单。与无服务器功能集成的能力也使 Jamstack 网站变得更加动态。
在不需要 Web 应用程序服务器和数据库服务器的情况下,Jamstack 的页面可以随访问人数的增加而扩展,从而改善访问者的体验,提高组织的底线。
从本质上讲,Jamstack 网站没有需要由开发人员管理的后台。静态性质的页面意味着网站和数据库之间没有联系,减少了安全漏洞。由于所有网站元素均通过 CDN 或 API 提供,潜在的攻击者无法访问 Web 应用程序服务器或数据库服务器。
用这种方法创建的网站,不需要维护服务器,不需要创建暂存环境,所以对复杂的开发运维资源的需求较少。Jamstack 的简单性意味着与传统网站相比,移动的内容更少,因而出错的空间更小。由于前端与后端脱钩,Jamstack 网站的启动速度更快,也更可靠。
静态设置的另一优势是,页面要回退到更早的版本也很简单。这可以通过原子部署的概念来实现,即整个网站一次性更新,创建一个新版本。利用 Jamstack,开发人员有更大的自由进行试验,避免了传统网站令人疲惫的试验和错误——如果有些内容没有按照预期呈现,可以轻松将整个网站回退到以前的版本。
Jamstack 的工具、流程和最佳实践迅速发展,开始行动的一个重要部分是以开放的心态进行试验,密切关注最新发展成果。开始行动很简单,因为 Jamstack 与现有工作流程集成,许多组织已与供应商就关键技术建立了关系,加快了决策流程。这些技术包括:
CDN:从用户附近提供网页,这是实现 快速性能的要求。
静态网站生成器 (SSG):使用原始数据和模板生成网站——将页面编码流程自动化,确保它们已预先构建,为用户准备就绪。
内容管理系统 (CMS):作为一个内容库。Jamstack 网站的 CMS 被描述为“无头”,这意味着内容存储在代码库以外,并通过 API 提供,以便在不同设备上无缝显示。
我们仍处于 Jamstack 发展的早期,并非所有部署都同样有效。例如,许多 Jamstack 平台由中心化数据中心托管,与从边缘提供网站相比性能较慢。有些还对增加开发人员数量收取更多费用,这不利于大型团队协作,并可能导致定价不可预测。
Cloudflare 正在着力解决这些问题,同时也在探索增强协作安全性的方式,例如通过使用受保护的共享预览链接。Cloudflare Pages 是一个 Jamstack 部署平台,让构建和托管网站像编写代码和执行 git push 命令一样简单。Pages 处理 Cloudflare 全球边缘网络上的部署,无论用户位于世界哪个角落,网站均可在几毫秒内运行。其构建考虑了前端开发人员,包括通过简化配置和促进协作来加速迭代。
Cloudflare Pages 的主要优势包括:
无限免费协作人员,共同安全访问预览
支持自动部署的 Webhooks
内置免费 Web 分析
通过集成 Cloudflare Workers——一个提供自动扩展的全球无服务器平台,能够创建自定义 API
在 250 多个城市设有数据中心的全球 CDN
Cloudflare 就影响当今技术决策者的最新趋势和主题发布了系列文章,本文为其一。
阅读本文后,您将能够了解:
了解 Jamstack 如何改善开发人员体验
解释这种架构方法如何在移动端、Web 和视频上简化网站响应
为什么 Jamstack 网站可快速启动
下载《Forrester New Wave™:边缘开发平台》2021 年第 4 季度报告,了解 Cloudflare 与其他八家云边缘开发平台的对比情况。
Get the report