當前位置:
首頁 > 科技 > 多雲是個陷阱

多雲是個陷阱

作者:Tyler Treat是幫助公司構建雲軟體的Real Kinetic的執行合伙人。之前在Apcera公司,他負責開發NATS,這是一種面向雲原生應用程序的開源高性能消息傳遞系統。

與客戶的多次談話中常聽到多雲。我們希望做到與雲無關,我們需要避免供應商鎖定。我們希望能夠在多家雲提供商之間無縫地轉移工作負載。我要再強調一下:多雲是個陷阱。除了取悅可能不太熱衷於在亞馬遜數據中心運行工作負載的少數幾家大零售商外,我想不出多雲應受到任何規模的企業組織優先重視的諸多理由。

乍一看,多雲策略看似很棒,但它帶來不必要的約束,導致勞而無功。對於大多數人來說,它最終會分散注意力,帶來的問題比解決的問題還多,得不償失。眼下,我所說的「多雲」是指這個想法:在多家供應商的平台上運行同樣的服務,或者設計應用程序時確保它們可以在多家提供商之間順暢移動。我不是指這個概念:充分利用每家雲提供商的最佳服務,或者跨提供商使用更高級別的增值服務。

多雲因諸多原因而備受關注,但主要分為以下幾點:災難恢復、供應商鎖定和定價。我會深入闡述這每一點,然後討論多雲在哪裡確實派得上用場。

災難恢復

多雲號稱是實施災難恢復的一種手段。討論災難恢復時,清楚地了解雲提供商如何工作很重要。像AWS、GCP和Azure這些公共雲提供商有區域和可用區這個概念(Azure最近才在某些區域推出了可用區,它在經歷了慘痛的教訓後明白可用區是好主意)。區域是某個特定地理區域內的數據中心集合。可用區是一個區域內的一個或多個數據中心。每個可用區由專用的網路連接和電源後備系統加以隔離,區域中的可用區由低延遲鏈路進行連接。可用區可能在同一建築物(配備獨立的計算、電源和散熱等系統),也可能完全分離,相隔數百英里。

波及整個區域的故障很少見。一旦發生,這是備受矚目的事件,因為它通常意味著半個互聯網癱瘓了。由於可用區本身從某種程度上來說在地理位置上是孤立的,肆虐整個區域的自然災害基本上相當於摧毀弗吉尼亞州的隕石。區域故障的更常見原因是配置錯誤及其他操作錯誤。雖然很少見,但確實會發生。然而,區域高度隔離,提供商在交錯的時間窗口對它們進行維護,以避免多區域故障。

這倒不是說多區域的故障不可能(這與隕石摧毀美國大陸的一半面積或某個奇怪的連鎖故障是同一個道理)。一些骨幹基礎設施服務可能跨越多個區域,這可能導致更大規模的事件。雖然採用多家雲提供商顯然比一家提供商的多區域策略來得安全,但是這麼做成本很高。災難恢復是個極其複雜的話題,我認為它沒有得到充分的認識;我認為,實際上雲端可移植性對於盡量降低那些成本而言收效甚微。不是說非得有多雲才能擁有強大的災難恢復策略――除非你的運營規模達到谷歌或亞馬遜的程度。畢竟,亞馬遜是世界上最大的零售商之一,所以如果你的災難恢復策略能與它的策略相匹敵,你的情況可能已相當好。

供應商鎖定

供應商鎖定及相關的恐懼、不確定和疑慮(FUD)是主張採用多雲策略的另一個常提到的原因。博?利頓(Beau Lyddon)在《別再浪費你的啤酒錢》(https://blog.realkinetic.com/stop-wasting-your-beer-money-12c3fe5e4d54)一文中提到了這點:

雲、DevOps、Serverless。這些都是為了將常見需求包裝成商品而搞起來的潮流和市場。它們可能不是完美的解決方案。是的,你最終可能會「被鎖定」。但我認為,這個險值得冒一下。它沒有聽起來那麼糟糕。Tim O"Reilly有句話概括了這一點:

之所以有「鎖定」,是由於別人得益於你的服務,而不是由於你完全掌控。

我們被鎖定,是由於得益於某服務。首先,這意味著我們在充分享用該服務帶來的價值。而且作為一群消費者,我們享有的遠不止這些。那些提供商會盡其所能,繼續提供我們受益的價值。這推動其收入增長。正如O"Reilly指出,提供商實際上擁有的控制力比你想像的要弱。它們會構建它們認為有利於市場最大群體的系統。它們會專註於我們(市場上的參與者)注重的東西。

競爭是另一個重要因素。連AWS這樣強大的提供商,也有很多雲提供商與之競爭。雖然競爭對手試圖為它們認為的市場缺口提供差異化的解決方案,但也需要滿足基本需求。這就是為什麼我們看到這些提供商提供如此多共有的服務。這一切有利於我們。我們應充分利用提供給我們的這一切。是的,從一家提供商轉移到另一家仍會有成本,但我認為這些成本實際上遠低於從本地轉移到雲端的成本。一旦你真正接觸雲,就獲得了靈活性。

我看到許多公司為避免供應商鎖定而經歷的心理活動和贊同多雲的諸多「理由」總是令我震驚。令人費解的是,公司企業卻願意把大把的錢花在根本無法讓它們實現差異化的東西上。

我覺得這有幾個原因。首先,正如博指出的那樣,我們往往高估自己的能力,低估自己的成本。這導致我們對自建與外購這個決策判斷失誤。這也與宜家效應(IKEA effect)密切相關;宜家效應是指,消費者對於他們部分創造的產品賦予了高得不成比例的價值。其次,由於企業組織中的權力和影響力由IT轉向業務,尤其是奉行產品理念,我認為這是IT運維部門又一次試圖保住控制權和地位。

做到與雲無關應該不是驅動關鍵決策的一個足夠重要的目標。如果與雲無關是你的出發點,你其實在嚴重限制全面獲得雲帶來的好處的能力。你只是在租用計算機而已。Pivotal Cloud Foundry和Red Hat OpenShift之類的平台宣稱能夠在各大私有雲和公共雲上運行,但這麼做本身勢必需要一個抽象層將每個雲平台的所有差異化功能抽取出來。如果你將差異化功能抽取出來避免鎖定,你也就把價值抽取出來。你最終被供應商「鎖在門外」,這基本上意味著你無法充分享用服務的價值。抽象是不是將系統簡化為一個通用介面不好說。如果真是如此,不清楚它如何利用差異化的提供商功能、保持與雲無關。如果不是,不清楚它的價值是什麼或者它如何做到真正多雲。

別對PCF或Red Hat過於刁難,但由於各大雲提供商繼續拆分自己的平台、以更大眾化的方式重新捆綁它們,這些多雲平台的賣點開始減少。在Kubernetes和容器之前的時代,即平台即服務(PaaS)的全盛時期,提供商在講令人信服的故事。現在,由於容器、Kubernetes、尤其是谷歌的GKE和GKE On-Prem(以及其他提供商的同類產品)這類系統日漸流行,這個故事越來越難有市場。值得關注的是,最近宣布的Knative是與Pivotal和Red Hat及其他公司密切合作開發而成的,此舉似乎是為了藉助Kubernetes的勢頭,從企業採用Serverless計算中獲取一些價值。

但有人需要將這些多雲平台作為一種服務來運行,但問題就出在這裡。這個責任通常轉移到了運維或共享服務團隊,這個團隊現在需要在多個雲中運行,可能要與供應商簽訂服務合同。

部署多雲需要多個雲平台的專業知識。PaaS可能會替開發人員將這部分抽取出來,但轉移到運維人員身上。而我們甚至還沒有探討認證多個平台在安全和合規方面帶來的影響。對於現在剛遷移到雲的一些公司而言,這會嚴重破壞現狀。一旦我們識破了不切實際的營銷噱頭,就真正深入了解多雲的意義。

運行PaaS卻不為客戶管理PaaS,這年頭根本沒多少發展空間。對任何公司來說這根本不具有戰略意義。我還想指出,像Pivotal和Red Hat這樣的公司其收入來源主要是服務。這些平台起到了推動專業服務收入的作用。

一般而言,非戰略性系統被供應商鎖定給公司帶來的風險很低。以資料庫存儲數據為例。無論是Amazon DynamoDB、Google Cloud Datastore還是Azure Cosmos DB,可能存在技術上的差異,比如NoSQL、關係資料庫、與ANSI兼容的SQL和專有資料庫等,從根本上來說,它們就是導入數據、輸出數據。在這些資料庫之間移動數據可能涉及技術活,但並非不可克服,我們從使用資料庫獲得的好處遠壓倒這個成本。依賴核心戰略系統時,供應商鎖定才會成為問題。這種系統可能執行實際的業務邏輯,或者是支撐公司業務的關鍵因素。正如喬爾?斯波斯基(Joel Spolsky)所說:「如果是核心業務職能,無論如何都要自己搞。選擇你的核心業務能力和目標,在內部來搞。」詳見https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/。

定價

在支持多雲的所有理由中,價格競爭力是最弱的一個理由。實際上,隨著商品化程度越來越高,所有供應商都在比誰的成本最低。在提供者之間,你最終會在某些方面花費較多、另一些方面花費較少。多雲價格套利(price arbitrage)是很不切實際的。另外,它沒有考慮到批量折扣。我在比較AWS和GCP的文章中提到,這其實更多地歸結為你在選擇雲提供商時想把資源投入到哪裡。

定價的鎖定方面(即供應商把你鎖定後抬高價格)根本講不通。首先,規模經濟效應不是這樣運作的。一旦你進入雲端,從一家提供商換成另一家的成本遠低於你在本地環境時的成本,所以這根本不符合提供商的最佳利益。它們會採取必要措施來搶佔市場的最大群體,競爭力量會把基礎設施即服務(IaaS)的成本降下來。由於競爭環境和贏得奪取市場份額,定價可能會趨同。雲提供商想要提高利潤率,就需要向軟體即服務(SaaS)和增值服務邁進。

此外,大多數公共雲提供商提供批量折扣。比如說,AWS提供預留實例,為EC2提供高達75%的折扣。其他AWS服務也有批量折扣,亞馬遜使用合併計賬來合併一家企業中所有帳戶的使用情況,以便盡量降低總價。GCP提供持續使用折扣,這是在計賬月的大部分時間運行GCE實例時自動享受的折扣。它們還實施所謂的推理實例,將部分使用的實例拼裝成單個實例,防止更換實例時享受不了折扣。最後,GCP同樣有相當於亞馬遜預留實例的承諾使用折扣。如果資源分布在多家雲提供商,要享受這樣的折扣比較難。

多雲在哪裡派得上用場

沒錯,對於大多數企業組織而言,多雲會分散注意力,並且通常如此。如果你是一家剛開始關注云的公司,多雲毫無意義,只會讓你看不到真正重要的東西。它會減慢速度,埋下FUD的苦果。

一些公司試圖同時在多家提供商的平台上搞擴建,希望以此規避所有雞蛋放在一隻籃子里的風險。我認為這適得其反,實際上會加大結果失敗的風險。對於小公司而言,挑選一家供應商,致力於產品化。盡量利用託管服務,別拿多雲作為不利用託管服務的理由。對於大公司而言,在多家提供商的平台上搞擴建不是不合理,但應該通過有節制的試驗來搞。而這是雲的優點之一,我們可以進行有限的投入和試驗,無需大筆的前期支出,面對多雲PaaS產品和服務合同時要注意這一點。

但這並不意味著多雲就沒有一席之地。事情從來沒有這麼絕對。對於有多個業務部門的大企業而言,多雲是不可避免的。這可能是成熟程度不一的產品團隊、企業IT基礎設施,當然還有企業併購的結果。多雲的主要價值是充分利用每個雲的優勢,這也是我認為贊同多雲的少數理由之一。這回到了提供商向上游邁進的話題。提供商試圖以增值服務實現差異化時,多雲開始變得更有意義。其次,由於數據主權方面的原因,多雲可能有其必要性,但我認為隨著區域和可用區普及開來,數據主權越來越不是問題。然而,谷歌的Cloud Spanner等一些服務可能因「全球可用的」服務而放棄可用區的細粒度,因此在應對GDPR之類的法規時要注意這一點。最後,對於擁有主機託管設施的企業而言,混合雲始終是現實的選擇,不過將主機託管設施擴展到多個雲提供商的平台時會變得很複雜。

如果你剛開始接觸雲,多雲策略不該是你要操心的。它絕對不該是你的指導目標和推動貴公司核心決策或戰略項目的東西。它是有一席之地,但往往是徒勞無益的,只會分散注意心,因而忽視真正重要的東西。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

《雲計算推動中國經濟轉型和創新》:雲計算為「一帶一路」協作共贏搭橋鋪路
DNS 請求常被窺視

TAG:雲頭條 |