雲計算

如何讓 FinOps 成為 DevOps 的得力助手?

如何讓 FinOps 成為 DevOps 的得力助手?

FinOps 趨勢 近年來,為加速推動數位轉型與 IT 現代化,企業紛紛開始投向雲端的懷抱,期望利用雲端的優勢以提供更快速、更可靠的服務。企業在邁向雲端的初期,通常優先考量應用場景的服務選用、技術的重構與遷移、安全與合規性等議題,但隨著在雲端的業務趨於穩定後,攀升的雲端成本卻帶來了另一項挑戰。 根據 Google 關鍵字搜尋趨勢,從 2021 年的下半年開始,FinOps 熱議度明顯的攀升。在國際上,不論是相關的職缺,或是 DevOps、雲端等調查報告,多指出 FinOps 是 2022 的關注焦點[1][2],從 CIO 的訪談也不難看出企業正努力應對不斷上漲的雲端成本[3]。我們可以從調查報告[4][5]發現當前企業採用雲端的普遍現象: 雲端成本大幅增加,但大部分的受訪者表示存在著雲端浪費,且浪費的佔比還不低! 另外值得一提的是,根據 Hashicorp 2021 的調查報告[6]指出,超出預算者多為雲預算較高的企業! 因此,企業必須進一步思考: 雲預算逐年增加,是否真的來自業務增加?抑或因爲無法識別過去超支的原因,只能不斷地提高預算以持續業務? 同時,雲端支出所面臨的痛點導致業務、財務、工程團隊產生隔閡。這是因為使用雲端資源的人無法即時性的洞察支出,而事後的帳務報表檢閱者無法識別責任單位。

繼續閱讀
為你的自動化基礎設施拉上保險系列之三 - 單元測試

為你的自動化基礎設施拉上保險系列之三 - 單元測試

作為基礎設施的工具,Pulumi 主要可以採用以下三種方式進行測試,而除了驗證的範疇外,在程式語言的支援上也有所不同,下方的表格總結了三種方式主要的差異: 表格一:Pulumi 測試方法比較 單元測試 屬性測試 整合測試 實際部署基礎設施 否 是* 是 需要 Pulumi CLI 否 是 是 執行時間 毫秒 秒 分 語言 同 Pulumi 支援的程式語言 Node.

繼續閱讀
自動化建置 GCP HTTP 負載平衡器

自動化建置 GCP HTTP 負載平衡器

開始接觸 Pulumi 後,發現 GCP + Python 可以參考的資料很少,以建置 GCP HTTP Load Balancer 來說,Pulumi 官方提供了 Typescript 的寫法1,若自行對應相同資源的 Python API 範例,則會在執行時遇到一些小錯誤(稍後會提到)。因此本篇將會分享如何透過 Python 建立 GCP HTTP Load Balancer,完整的實作程式碼請至 GitHub 2查看。 架構說明 透過 HTTP Load Balancer,將請求導流至後端的 Nginx 伺服器,由於 VM 在初始化時,會透過 startup script 從外網抓取相關套件並安裝,因此需要為 VM 配置 Public IP 或 NAT proxy,讓 VM 可以與網際網路進行通訊。但為安全考量,我們只允許來自 Load Balancer 的請求,禁止透過 VM 的 Public IP 來存取服務。

繼續閱讀
為你的自動化基礎設施拉上保險系列之二

為你的自動化基礎設施拉上保險系列之二

Policy (政策) 政策! 是什麼東東 ? 提到政策,就會不小心想到治理、授權等等讓人頭皮發麻的詞。然而,政策在軟體服務中是相當常見的某種需求。簡單來說,軟體服務的政策是什麼呢? 一組管理軟體服務行為的規則。 舉凡,定義哪些是受信任的主機、使用者能夠存取哪些功能、網路路由、和服務可以部署到何處等,都能視為服務管理政策。所以當你試著實作 feature toggle、試著實作管理員和一般用戶等功能時,便已經涉及到服務政策的機制了。 傳統上的作法,工程師會在服務中實作相關的資料存取與檢查。先不論此類實作所耗費的額外運算資源,如果有多個團隊在實作多個服務,而都需要基於相同規則進行檢查時,要如何進行?如何能夠和服務管理政策管理者有更好的合作?落實管理政策與提供服務彼此之間如何不互相拉扯等待,而導致服務提供效率降低? 追根究柢,可以把問題濃縮成: 如何讓開發團隊專注在產品主功能開發,讓政策管理者能夠用一致的方法進行管理,而且兩者之間的更動不會輕易地影響對方? Open Policy Agent 為這個問題提供了一個新的解決方式! Open Policy Agent (OPA) Open Policy Agent(OPA, 讀音為 歐趴) 最初是由 Styra 所建立,後來貢獻到 CNCF。目前由 Styra、Google、Microsoft、和 VMWare 構成開源專案的主要貢獻者團隊,撰文的當下它也已經順利地從 CNCF 畢業了。OPA 實現了一個輕量的政策管理服務,因此可以作為服務的 sidecar 運行,也能作為獨立的政策管理服務運行於整體服務群內。軟體服務可以基於給定的資訊透過 RESTful API 的方式「查詢」相關政策的判斷結果。此舉成功地解耦了政策管理的相關實作,讓軟體服務可以專注於使用者功能,至於政策則可以透過一個獨立的服務來實現。政策的管理者與資源的提供者,可以透過統一的管理服務來更新相關政策,從而改變團隊的合作模式,並且可以更高效且一致地施行政策。

繼續閱讀