Puppet 個案研究
![]()
"我堅信應該與開源專案合作。我們已對許多專案做出貢獻,包括 Tekton、Knative、Ambassador 和 gVisor,這些專案都是我們產品運作所依賴的"
-- Noah Fontes,Puppet 資深首席軟體工程師 |
Puppet 的 Relay 利用 Knative 將工作流程帶到所有事物Puppet 是一家專門從事基礎架構自動化的軟體公司。該公司於 2009 年成立,旨在解決運營人員所面臨的一些最複雜問題。大約在 2019 年,團隊注意到雲端營運團隊無法有效地管理現代雲端原生應用程式,因為他們依賴的是手動工作流程。該團隊看到了建立一個平台的機會,以連結現代架構觸發的事件,以確保雲端環境保持安全、合規和具成本效益。這就是 Relay 這個雲端原生工作流程自動化平台如何被創建的故事,以及 Knative 和 Kubernetes 如何使業務流程自動化現代化和加強效能的故事。DevOps 的黏合劑當 Puppet 首次開始探索 Knative 的強大功能和彈性以觸發其基於 Tekton 的工作流程執行引擎時,他們不太確定他們的旅程將帶他們走向何方。Knative 提供了一組有吸引力的功能,因此他們開始建構和實驗。他們想要建構一個事件驅動的 DevOps 工具;他們不希望只是建構另一個持續整合產品。此外,隨著他們繼續探索,他們意識到他們想要一些彈性的東西,而不是只與一個垂直領域綁定。無論他們在建構什麼,都不會只專注於單一市場。隨著他們的目標逐漸清晰,他們意識到 Knative Serving 啟用的無伺服器應用程式和功能將非常適合雲端業務流程自動化服務。基於這個認知,他們建構了 Relay,這是一個雲端工作流程自動化產品,可協助雲端營運團隊解決組織採用多雲和 SaaS 產品以及傳統解決方案時出現的整合和事件問題。容器和 Webhook容器和 Webhook 是 Relay 架構中的關鍵元素。容器允許 Puppet 提供雲端解決方案,讓企業可以將工作流程設定和部署為離散的業務單位。由於容器提供獨立的環境,因此甚至可以包含傳統服務和套件。這被證明是企業客戶的一項重要功能。例如,任何可以包含在 Docker 映像中的內容都可以是 Relay 工作流程的一部分。「我們專注於容器,因為它們提供隔離」,Puppet 資深首席軟體工程師 Noah Fontes 解釋說,「容器提供離散的執行單元,使用者可以在其中減少複雜系統的維護負擔。」允許完全可設定的 Webhook 讓使用者可以靈活地整合各種業務流程。透過 Webhook,Relay 可以與幾乎任何基於 Web 的 API 互動,以在第三方 SaaS 產品、雲端服務、Web 應用程式,甚至是系統公用程式中觸發功能豐富、功能完整的工作流程。Knative Serving 為 Relay 提供了重要的基礎架構。它允許 Webhook 和服務自動擴展,甚至縮減至零。這讓 Relay 可以支援幾乎任何整合,包括只有少量使用者使用的整合。透過自動縮放,這些服務在未使用時不會消耗資源。什麼是 Knative Serving?現代雲端應用程式透過多種方法來處理大規模擴展挑戰。其中大多數的核心是使用容器:執行單一應用程式、單一服務,甚至是單一功能的離散運算單元。這種方法非常強大,允許服務根據需求擴展它們消耗的資源數量。然而,雖然這一切聽起來很棒,但管理和設定可能會很困難。Knative Serving 是交付這種進階架構最成功的解決方案之一。此框架建立在 Kubernetes 之上,以支援無伺服器應用程式、服務和功能的部署和管理。特別是,Knative Services 著重於易於設定、部署和管理。工作流程整合開放式架構允許 Relay 將數十種不同的服務和平台整合到工作流程中。查看 Relay 整合 GitHub 頁面,可以提供這些整合的列表,並展示他們對開源社群的承諾。「我堅信應該與開源專案合作。我們已對許多專案做出貢獻,包括 Tekton、Knative、Ambassador 和 gVisor,這些專案都是我們產品運作所依賴的」,Fontes 說。結果:自動化基礎架構管理雖然 Relay 的基礎架構在 Google Cloud Platform 上執行,但它是一個 工作流程、整合、步驟和觸發器的程式庫,其中包含所有主要雲端服務供應商的服務。Relay 客戶可以在 Microsoft Azure、AWS 和 Oracle Cloud Infrastructure 等之間進行整合。透過將這些整合與 SaaS 產品相結合,它確實正在成為基礎架構管理的 Zapier。「我們的客戶在管理他們的工作負載方面有各種各樣的需求,這些工作負載通常最好透過 Web API 來實作。我們的產品提供由 Knative 提供支援的無伺服器微服務環境,讓他們可以建構此複雜工具,而無需傳統部署架構的管理和維護負擔。我們將成本節省轉嫁給他們,每個人都更快樂了」,Fontes 說。如果沒有 Knative 和 Tekton 等系統提供的現有基礎架構,Relay 的建構和部署將不可能實現。值得一提的是,Fontes 的團隊從未超過八名工程師。Fontes 說,一旦他們確定了 Relay 的計劃,他們就能在短短三個月內將其投入生產。「感謝 Knative,Relay 的推出比我們想像的要容易。」,資深首席軟體工程師 Noah Fontes 說。Knative 旨在透過抽象化 Kubernetes 安裝的複雜細節,並使開發人員能夠專注於重要的事情,來快速提供可擴展、安全、無狀態的架構。了解更多 |