詳解“開放云”的真正含義
當應用到云端時,開放究竟意味著什么?在現代軟件工程世界中,有一種將"開放性"置于一切之上的趨勢,好像開源中的"開放性"可以很容易地應用于工程堆棧的其他部分。
但是開源和開放云是完全不同的概念,即使它們都包含"開放"這個詞。即使云提供商聲稱擁有開放云,每個人都應該清楚,云基礎設施不是由全球志愿者社區維護的,他們不會通過他們的努力獲利。
云的"開放性"經常被誤解,有時是因為公司故意誤導我們什么是開放的,什么不是開放的,有時是因為作為一個行業,我們試圖過度簡化非常復雜的產品和技術。與"開源"的語言相似性,以及"開放"和"封閉"通常以二元選項而不是頻譜的形式呈現的事實,使得更容易誤解"開放"云的現實。
過度簡化或誤解開放在云環境中的真正含義可能會導致企業對技術選擇做出錯誤的決策,從而導致時間和金錢的浪費。以下是企業在考慮如何評估云的開放程度時應該考慮的內容——以及這是否重要。
1. "開放"不存在極端情況
任何平臺、云或服務的開放性都是衡量客戶鎖定程度的衡量標準,它本身只不過是計算從平臺遷移出去需要花費多少時間、金錢和難易程度。
云提供商可能會談論"開放",但沒有完全開放的云。畢竟,在談論他們的云有多開放時,所有云提供商都會對出口流量收費。
這不僅僅是他們自己維護底層技術的成本:入口流量是免費的。如果對真正開放的云的貢獻是真實的,那么遷出將與遷入一樣自由。
"開放云"一詞的問題之一是它鼓勵人們將"開放"視為二元:云要么是開放的,要么是封閉的。但完全開放或完全封閉的極端不存在:遷移成本永遠不會為零。從云或平臺遷移也不是不可能的,盡管它可能非常昂貴。
2. 什么因素使云或多或少開放
那么,我們如何評估特定云在開放范圍內的位置?最開放的開放云總是具有以下特點:
- 建立在開源之上
- 促進數據開放,包括擁有更容易訪問、處理和移動數據的工具
- 使用開放 API,使用標準接口并采用開放標準。
然而,即使是滿足所有這些要求的云也不是完全"開放"的,換句話說,從該云遷移的成本不會為零。以下是企業應評估的因素,以了解特定云或其他平臺在開放范圍內的位置:
- 有多少粘合劑將開源組件粘合在一起?僅僅因為云基于開源并不意味著在其他地方創建相同的體驗或功能很容易??偸怯凶远x的專有腳本將所有內容組合在一起,使開源軟件更易于使用和更可靠。專有粘合劑越多,云的開放性就越低。
- 數據可移植性。數據有重力,移動數據既費時又費錢。在確定云的開放程度時,將數據移出云環境的難易程度是最重要的因素之一。
- 附加服務。所有云提供商都提供各種附加服務,從機密管理到監控和日志記錄。企業使用的每項服務都會增加鎖定,使企業更難遷移到其他地方。
使用的專有服務越多,云的開放程度就越低。一些服務會比其他服務更開放,不僅評估整個云提供商的開放性,還評估企業使用的每個單獨服務的開放性。
最后,云開放還有一個技能組件。并非所有企業都擁有高技能的工程團隊。企業的團隊越復雜,就越容易擺脫任何特定的云,并且對托管服務的依賴程度就越低。
3. 做出更好的選擇
當企業接受二元開放/封閉云的想法時,他們忽略了有關使云或多或少開放的所有細節,最終未能徹底評估對企業重要和不重要的內容。良好的決策總是需要全面了解可用選項以及企業的優勢、劣勢和優先事項。
假設云越開放越好是錯誤的。對于許多(可能是大多數)企業而言,擔心云鎖定是一種干擾,可能會阻止工程團隊利用云的敏捷性、速度和成本節約優勢。
當然,少數公司可能會從基礎設施管理中獲得競爭優勢,但它們很少見。在大多數情況下,堅持讓他們的云環境盡可能開放的企業會發現自己花費了寶貴的工程時間來管理開源軟件并推出可以從云提供商處購買現成的服務。
工程領導者不應考慮云是否開放,而應評估企業的優先事項:開放性在哪里重要?從云提供商處使用的服務與企業的優先事項的匹配程度如何?在評估哪個云提供商在開源、專有程序、開箱即用服務和遷移障礙之間取得適當平衡時,這將為企業提供一個更好的起點,并最終做出更好的云相關業務決策。