CLOUDFLARE 打造的 theNet

Jamstack 可以徹底改變網站的構建方式

重新構想網站建立工作流程

每個組織和開發人員都希望他們的網站能夠快速載入並在任何裝置上外觀精美。即使載入稍有延遲也可能導致使用者快速退出頁面,從而降低網站轉換率。網站速度也是搜尋引擎排名的考量因素。隨著威脅格局變得越來越複雜,需要避開惡意機器人,防止攻擊者盜取使用者資料,組織正在尋找改善站點安全性的方法。

傳統上,構建一個包含速度、安全性、可用性和可擴展性的網站是一項艱鉅的任務,並且會給開發人員帶來負面影響。由於對開發人員資源的需求和可用性之間存在差距,找到改進網站開發的方法可以減輕組織的壓力和財政負擔。

一種方法是消除我們在開發過程中發現的耗時任務,包括:

  • 確保網站能夠在不停機的情況下管理流量暴增,同時將基礎結構或雲端服務的支出降至最低

  • 更新頁面時出現意想不到的驚喜,並且在頁面中斷或無法正確呈現時必須快速做出反應

  • 將網站的後端和前端部分拼接在一起

  • 複雜的工作流程,包括收集利害關係人的意見反應

組織可以使用名為 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 應用程式伺服器或資料庫伺服器。

當組織使用這種方法建立網站時,不需要維護伺服器,也不需要建立預備環境,因此不需要複雜的 DevOps 資源。Jamstack 的簡單性意味著移動部件比傳統網站更少,因此出錯的空間更小。由於前端和後端之間的這種分離,Jamstack 網站可以更快啟動,且更可靠。

靜態設定的另一個優點是可以輕鬆還原到較早版本的頁面。這可以透過原子部署的概念實現,即一次更新整個網站,建立一個新版本。使用 Jamstack,開發人員可以更自由地進行試驗,避免傳統網站的繁瑣試驗和錯誤——如果某些內容沒有按預期呈現,則可以毫無影響地將整個網站切換回以前的版本。


組裝 Jamstack 工具包

Jamstack 的工具、流程和最佳做法正在迅速發展,而深入研究的一個重要部分是保持對實驗的開放性和追蹤新興發展。入門很簡單,因為 Jamstack 與現有工作流程整合,而且許多組織已經與關鍵技術的廠商建立了關係,從而加快了決策過程。這些技術包括:

  • CDN從靠近使用者的位置傳遞頁面,這是實現快速效能的必要條件。

  • 靜態網站產生器 (SSG):使用未經處理資料和範本產生網站——自動化編碼頁面的過程,並確保它們已預先建置且可供使用者使用。

  • 內容管理系統 (CMS):充當內容庫。用於 Jamstack 網站的 CMS 被描述為「無周邊」,這意味著內容儲存在程式碼庫之外,並透過 API 提供,以便在不同裝置上順暢顯示。


擴展 Jamstack 的價值

我們仍處於 Jamstack 成熟的早期階段,並非所有部署都同樣有效。例如,許多 Jamstack 平台都託管在集中式資料中心之外,相比從邊緣傳遞網站,這會降低效能。還有人會收取更多費用來增加開發人員席位,這不利於大型團隊之間的協作,並且可能導致無法預測的定價。

Cloudflare 正在解決這些問題,並且還在尋找方法在協作過程中帶來更高的安全性,例如透過使用受保護的共用預覽連結。Cloudflare Pages 是一個 Jamstack 部署平台,它使建置和託管網站的過程像編寫程式碼和執行 git 推送一樣簡單。從那裡,Pages 在 Cloudflare 全球邊緣網路上處理部署,其中網站在幾毫秒之內即可為全球使用者執行。它是為前端開發人員構建的,包括透過最小化設定和改進協作來加速反覆。

Cloudflare Pages 的主要好處包括:

  • 無限制的免費協作者,可安全存取預覽

  • 用於自動部署的 Webhook

  • 內建免費 Web Analytics

  • 透過 Cloudflare Workers(這是一個提供自動擴展功能的全球無伺服器平台)的整合來建立自訂 API 的能力

  • 在超過 250 個城市設有資料中心的全球 CDN

Cloudflare 就影響當今技術決策者的最新趨勢和主題發表了一系列文章,本文為其一。


重點

閱讀本文後,您將能夠瞭解:

  • 瞭解 Jamstack 如何改善開發人員體驗

  • 說明這種架構方法如何跨行動裝置、Web 和視訊簡化網站回應性

  • 描述為什麼 Jamstack 網站可以快速啟動


相關資源



深入探討這個主題。

請下載 Forrester New Wave™:邊緣開發平台(2021 年第四季度)報告,瞭解 Cloudflare 與其他八個雲端邊緣開發平台的對比情況。

收到最熱門網際網路深入解析的每月回顧!