企業為何要使用雲端運算?
現代全球局勢瞬息萬變讓我們身處於一個VUCA(烏卡)的世界。所謂的烏卡代表我們身處的環境是:
這個世界充滿動態活力、快速變化、不可預測性、不確定性,當然還有窮盡的資訊。毫無疑問,我們的VUCA是一個資訊世界。我們要以靜態與固定的方式(也就是舊時代的官僚體制)掌握市場環境並分析策略是有其極限的。資訊體制與官僚體制最大的不同在於:
資訊體制的目標是"持續且不斷適應",而官僚體制追求唯一的最佳結果。
而雲端運算得以讓我們在這個烏卡世界以動態的方式對應並得到以下的效益:
雲端運算的挑戰
雲端運算的出現對企業帶來了一些挑戰,不論是技術上的,人員技能,組織結構,企業文化等。在這一個雲端化的過程中每個企業組織遇到的難題都不盡相同,可能是:
我們會討論到以下的一些議題:
甚麼是FinOps
DevOps/Agile(精實)文化 與 雲端運算
雲端運算的出現與隨之而來的DevOps工程團隊讓企業的傳統採購程序被打破。工程師現在讓企業在雲端運算的每一天的每一分鐘都在燒錢。因為雲端運算的許多服務都是以分甚至是以秒來計費。但DevOps團隊也讓企業得以因市場快速的變動而需要業務上進行的快速轉換,開發相關的程式更具效率並且逐步交付其價值。企業的客戶在使用其服務時能夠具有一致性。
但隨之而來的問題也出現了。傳統上IT部門需要經過預算的核可才能買到相對應的IT設備進行運算/儲存/網路傳輸等功能。現在,工程師不用經過主管/CIO/CTO/採購部門/財務部門的同意,就可以直接購買他們想要的雲端資源。等同於工程師有自行決定採購與使用的權利了。
雲端運算的經濟模型
雲端與一般傳統的地端機房資料中心"最大不同之處是",IT的相關費用由CapEx變成了OpEX(如下圖)。IT的費用不再是固定資產的費用,而變成了是營運的費用,且這個營運費用跟公司的業務量的起伏呈現正相關,還有跟技術團隊會不會使用雲端呈現負相關,越不懂越燒錢。公有雲的崛起更讓一些中小企業或新創公司能擁有與大型企業一樣的資源做一樣規模的事,並且因為組織架構更為精簡及扁平化,能夠比大型企業做出更快速的反應。
除了從CapEx轉變成OpEx之外,傳統IT和雲端IT的不同之處如下:
雲端運算對企業產生的挑戰
哪麼雲端運算(特別是公有雲)對企業帶來的挑戰甚麼呢?最大的挑戰應該是企業的採購程序與IT預算/費用的管理出現了重大的轉變。它顛覆了IT設備長期持有的預測式的IT容量規劃方法,變成使用技術的費用優化分析。
我們來看一下在地端機房與雲端機房的維運中,我們的”焦點”是發生了那些不同的變化呢?
地端機房:
雲端運算:
傳統模式IT採購
傳統的方式是,IT infra 團隊根據開發團隊或業務單位的需求進行評估。評估完成後提出預算經過公司的財務核可後進行採購,這一個過程的費用是固定。也就是預算提出多少就只能花多少錢,很少能有例外。
所以傳統的IT花錢模式是:
雲端運算的IT採購模式
今天的雲端運算採購模式則完全翻轉了傳統模式。因為傳統的IT團隊轉變為DevOps團隊。而這個新的團隊因為雲端運算的特性 — IaC (Infrstructure as code)加上自動化得以讓IT的相關花費直接發生變化,而這樣也讓IT費用的傳統相關控制措施失效了。這對企業的財務不是好事,而且企業也失去了整個IT相關花費的能見度。
絕大多數的企業在雲端化的初期會overshoot他們的雲端費用(尤其是在IaaS服務),原因是缺乏雲端費用優化管理與雲端治理和一開始被誤導的雲端運算固定費用。
對企業而言,雲端運算的挑戰對企業的業務而言是真實發生的。這些挑戰如下:
這些讓我我們需要一個新的IT運作模式來對應雲端運算帶來的挑戰。
甚麼是FinOps
Finops Foundation對Finops的正式定義是:
FinOps 是一種營運框架和文化實踐,可最大限度地提高雲端的業務價值,實現及時的數據驅動決策,並透過技術團隊、財務團隊和業務團隊之間的協作建立起雲端的財務當責。
FinOps 是雲端的運作模式。 FinOps 實現了一種轉變 — — 系統、最佳實踐和文化的結合 — — 以提高企業了解雲端成本和進行權衡的能力。與 DevOps 通過打破孤島和提高敏捷性來徹底改變開發的方式一樣,FinOps 通過將技術、業務和財務專業人士與一組新的功能結合在一起來增加雲端運算的商業價值。這是一種以 DevOps 為基礎的協同作業的方式開展企業的業務,允許財務、IT 和業務部門以現行客戶要求的速度進行管理。
如果我們要使用 FinOps 只是為了省錢,那就再想一想。 FinOps 是關於管理雲端的使用方式來獲利。在雲端中的花費更多可以帶來更多收入,可以是客戶群增長的訊號,可以加快產品和功能發布速度,甚至可以幫助關閉資料中心。
消除障礙,使工程團隊能夠更快的交付更好的功能、應用程式和快速應變動,並就投資雲端運算的哪一部分和時間進行跨職能討論,這就是 FinOps 的全部意義所在。有時企業會決定勒緊褲腰帶,有時他們會決定增加投資。但現在團隊知道他們為什麼要做出這些決定。
FinOps 是將財務、技術和業務結合在一起以掌握雲端的單位經濟學以獲得業務優勢的實踐。
成功的Finops實踐 = Real-time reporting + just-in-time processes + teams working together
FinOps 通過以下方式為變動的雲端運算支出帶來財務上的責任:
FinOps的生命週期類似PDCA的循環作法:
Inform → Optimize →Operate →再回到Inform,週而復始。
對應雲端運算的挑戰
雲端帶來了多個面向的挑戰:
以Google 的CoE(Center of Excellence)為例 (如下圖):
而雲端運算也需要進行以下三方面的權衡:
FinOps 與其他的方法論
FinOps 與 DevOps、Lean和Agile等方法通常會一起使用在企業的組織之中,使開發人員和工程師能夠更好地使用成本作為效率指標,以及類似尋求向業務單位提供 IT 財務資料的Total Business Management (TBM) 等財務方法達成良好的決策。 FinOps 專注於快速週期活動、快速調整和利用雲端運算提供的可變動成本模型,使其成為 TBM 全面關注 IT 費用的理想結合。
TBM是一種由上而下(Top down)的方式,而FinOps則是由下而上(Bottom up):
TBM 和 FinOps 都努力提供良好、全面的資訊,以做出良好、及時的決策,並允許企業進行權衡以最大化其業務價值。讓資料來評斷服務和帳戶的價值,而不是談論 GL 帳戶或雲端帳戶的機制。它們是在不同的範圍、規模、速度和技能組合上運作,並且每個都依賴於略有不同的技能組合、工具和能力。兩者都不是孤立的,它們是相輔相成的。我們可以從另一個的角度接近傳統 IT 組織可能擁有出色的 TBM office,並在採用雲端時開始整合 FinOps功能.
雲原生公司可能會發展到需要擴展其 FinOps 團隊所做的工作以更廣泛地看待成本的階段.TBM 對大多數公司來說更廣泛、更複雜,可以被認為是一個進階的主題,而 FinOps 可以小規模完成,並且因為它提供的洞察力可以直接節省雲端使用的成本,任何使用雲端的人都應該這樣做,即使在最基本層度。
FinOps 與敏捷(Agile)和 DevOps 等方法也有許多相似之處。它們都是周期性的、持續改進的飛輪式流程,需要協作、速度和敏捷性,同時使用通用框架和語言來推動業務價值。
哪我們常聽到的Agile(敏捷),CI/CD與DevOps有哪些不一樣的地方呢?
Agile: 聚焦的是”流程(processes)”,著眼的”變動(change)”,其結果是加速服務/產品的”交付”.
CI/CD : 聚焦的是”軟體定義的生命週期”,著眼的是”工具”.其結果是”加強自動化”.
DevOps: 聚焦的是”組織文化”,著眼的是這個組織下的”各種角色”.其結果是加強團隊的”反應能力”.
而FinOps也支援AWS Well Architected Framework(WAF) 中的 Cost Optimization Pillars(如下圖)。但也與WAF其他的Pillar有明確的關聯,所有這些都是架構良好的公有雲解決方案所必需的。
結論:
使用雲端運算對組織產生的主要效益是: