【前言】
非常好的一篇文章,作者從OpenStack目前的困境講起,聊到了私有云的產生背景,進而介紹了云計算的發展史。從云計算誕生的初衷以及現在流行的分布式應用又延伸出自己的核心觀點:服務器和虛擬機都不會消失,但我們與它們之間直接的互動將會越來越少。
以下為作者原文。
私有云市場日漸式微,但千萬不要怪OpenStack。因為從一開始,關于私有云的想法可能就錯了。
如同AWS被認為是云端服務標準,VMware被認為是本地服務器虛擬化標準,而OpenStack則被一度譽為是VMware的開源實現,它催生了很多私有云創業公司和私有云產品。但現在談到OpenStack,大家都褒貶不一。
據BusinessInsider四月的一篇文章中介紹,OpenStack基金會與大量技術供應商合作,但每個合作方都是為了在其中刻上自己的烙印。作者寫道,該項目提供『終生支持』,并『為OpenStack的創業公司提供風險投資支持,但是似乎資源都干涸了。』
一些支持者認為OpenStack項目(聲稱是不可否認的)需要假以時日變得成熟并贏得用戶,但是另外一些人則指出,用戶成長慢于預期,而且一些高調的初創公司業務變化或者關閉是非常不好的預兆。
某些懷疑是公平的,但問題的核心是,OpenStack ——既不會空前也不會絕后 ——它正在云軟件層玩一場不可能贏的游戲。因為Opentack正在和其它同領域的私有云技術一起,試圖打造一個本地化的AWS。
云簡史
在本世紀初,就有不少關于什么是私有云系統本質性技術的探討。他們還定義了相關的術語,如網格計算,效用計算和彈性應用平臺。技術術語不同,但總的想法是一樣的:創建一個資源池,為應用程序提供所需要的資源,并提供可調度,高可用性和故障轉移等特性。
我們經常用電網來類比云計算,這樣的比喻可以讓我們更直觀的理解這些技術。從理論上講,我們不需要關心單個服務器,就像我們不需要關心電網內某一個發電機的情況一樣,我們只需要將『應用程序』接入到電網,然后就能獲得所需要的電力資源。
在2006年底,亞馬遜AWS發布了令人眼前一亮的彈性計算云。你不需要擁有本地服務器,所有運算都在亞馬遜的數據中心運行!你可以付費,按小時租用這些資源!(Sun Microsystems公司提出了原始設想,但AWS第一個實現并推廣此模式,并使它成為主流。)
隨著AWS的不斷創新,它逐步推翻了原有的服務器使用方式,但卻也暗示了服務器的重要性。與以往任何時候相比,用戶可以即快又容易的部署設備,獲取計算能力,但同時用戶仍然租用包括CPU、內存和本地存儲分配在內的虛擬機,以及自己唯一的IP地址。
基礎設施即服務,即IaaS,這意味著研發人員應該盡可能的少去考慮服務器,但他們還是不得不考慮。
這也是云計算廠商們一直努力的方向。當大家都意識到云計算就是未來之后,Microsoft Azure、Google App Engine和Heroku都試圖把應用平臺從服務器管理層面抽象出來,這也就是后來的平臺即服務,也就是PaaS。
但是事實已經是這樣了,不管或好或壞(可能在很多方面更好),AWS的模式已經贏了。傳統應用供應商面臨全部關閉或被遺忘的危險,而被采用亞馬遜模式的私有云初創公司和大型應用供應商的藍海取代 -——這催生了OpenStack及圍繞其生態系統的創業公司和大量采用這類技術的大型應用供應商 。另外即使原來的PaaS產品仍然存在,微軟和谷歌最終也被迫推出與AWS類似的IaaS云服務。
私有云窘境
盡管如此,技術上說,重建類似AWS的平臺,很多私有云缺乏資金、知識儲備和眼光,更不用說創新。要知道,當OpenStack在2010年推出的時候,AWS已經花了近4年來增加新的功能和服務。
在一定程度上,打造各行各業的普適產品,與其說這就是AWS,還不如說是資源密集型平臺。特別是在最初幾年,AWS就是打算一次性部署好平臺,然后告訴用戶要么接受,要么離開。如果問題的實質是配置虛擬服務器、共享存儲和網絡,另外還可能有一些認證需求,那么AWS和VMware早已經存在。
這很容易理解為什么人們會興奮的談到私有云,然后就談OpenStack為基礎的私有云。但是,當他們等待這些技術變的成熟和產品化后,似乎很多人只會說,『好吧。我們將使用AWS和VMware』。
也許一些大的IT廠商正在推動OpenStack成為基礎私有云,其目的更多是為了給企業級用戶提供一個愿景。任何一個客戶如果有足夠的資金、智慧和經驗,他們也可以這樣做(譯者注:使用OpenStack搭建私有云)?;蛘撸瑹o論他們和這個世界將如何變化,擁抱云計算已經是大勢所趨。
分布式應用的興起
幾年前,有兩個重要的轉變幾乎同時發生:開發人員以及大規模Web應用的興起。事實證明,兩者交織在一起使他們幾乎形影不離。它們有助于鼓勵創新,使人需要重新思考私有云的本質是什么。
對于應用開發者來說,AWS意味著自由。通過方便地訪問計算資源和服務,他們開發出更多的應用程序,并設法使他們的生活更輕松。這種模式產生出很多新工具和新技術的 ——一個全新的商業市場,一個以開發者為中心,大幅提高開發者生產力的模式。
其中有些是非常成功的,從媒體報道、用戶數量和投資情況來看,Docker、MongoDB和Elastic,每個都在過去的幾年中籌得超過1億美元的風險投資。 New Relic的現在已經是一個上市公司。其他幾個家喻戶曉的廠商包括GitHub和Stripe。
但他們只是冰山的一角。無論你走到哪里,總會有另一家創業公司或開源項目,他們試圖改善數據庫的用戶體驗,或者通過API提供一個業務流程分析,或以其他方式加快從概念到代碼,從測試到生產的過程。
當AWS把開發人員解放出來,讓他們以新視野看這個世界的同時,一些大型的互聯網公司,如谷歌、Facebook、LinkedIn、雅虎和 Twitter都已經有很大的規模 。為了應對具有服務于數百萬,甚至幾十億用戶需求所帶來的瘋狂挑戰,他們開始雇傭最聰明的計算機科學家在世界上建立全新的數據庫,基礎設施以管理和分析數據。
然后他們開始談論這些系統 - 在許多情況下開源它們。這在很大程度上要歸功于這些公司,使我們可以使用例如Hadoop(和Hive)、Cassandra、Mesos和Kafka,以及其它數十項重要開源技術。即使他們不總是很容易使用,但他們確實總是強大。
當基于云的應用(大部分還是基于AWS)用戶量逐漸增加時,開發者就需要構建一個可擴展的應用。有些云應用會每月穩步增長,而某些應用則可能一夜之間病毒式的傳播開來。
突然之間,谷歌的可擴展性挑戰成為Pinterest的(或Airbnb的,或Instagram的,或Spotify的)可擴展性的挑戰。谷歌分析用戶數據的機會,也一下成為了Pinterest的,Instagram的和Spotify的機會。
一個良性的循環已經開始?,F在,創業公司從一開始就采用這些超分布式技術,最終使得他們的項目受益,并經常開源自己的工具,以使其它更多人受益。這種循環已經影響到每一個行業內的初創公司。
云計算的真正價值
隨著開發者和分布式應用的發展和融合,其重要性已經毋庸置疑。這需要我們對云計算的本質進行反思。至少這遠遠不是從如亞馬遜、微軟或谷歌購買虛擬服務器和采取了一些他們所創建的技術那么簡單。
如今,各種規模的企業都意識到,無論他們基礎架構運行在云中或在自己的數據中心,他們都需要像經營大規模網絡公司那樣的系統 ——靈活,高效和自動。這需要從硬件層面(開放計算)到網絡層面(軟件定義網絡)、再到調度層面(Mesos)、應用層面(容器)的變化。
后兩個層面是特別有趣,因為他們需要重新思考如何在云中(共有或私有)部署應用程序。最后,云計算成為主導標準十年后,我們應該會停止談論服務器,就像效用計算那些伙計們給我們描繪的愿景一樣。
谷歌和微軟已經不用再擔心這些,因為他們可以管理自己的數據中心和應用。最著名的例子是谷歌的Borg系統(以及隨后的Omega系統),他們通過運行在Linux的control group中,承擔智能調度工作,確保應用獲得所需的資源。開發人員只需要指定服務的鏈接資源,以及他們的應用程序所需要的資源,剩下的都由智能調度系統來完成了。
但是到目前為止,Borg和Omega,仍是谷歌內部使用。在世界其它地方,只能是通過其它類似的技術實現的,如Mesos、Docker和 Kubernetes(谷歌貢獻)。Docker使開發者發現了一種更加容易和移植的配置應用方法,而Mesos和Kubernetes讓開發商可以動態橫向擴展他們基于容器的應用。
這種組合,以及其它一些重要的新技術,可以允許尖端公司以一種池化的方式來管理所有服務器(物理或在云中)。大數據和數據庫系統和Web服務在同一集群上運行,智能地共享資源,而不是互相爭奪資源。可動態擴展技術使得若干服務器宕機并不那么重要,微服務架構正在取代壟斷式應用程序架構。
這種架構,對管理數據中心和建立自己應用架構是非常強大的,而且AWS、Google和微軟也證明了這點,他們已經每年從出租虛擬服務器業務上獲利數十億美元,而現在也迅速轉向了基于容器的管理平臺,然后,迅速在界面上出現了關于容器方式的管理選項。
服務器和虛擬機都不會消失,但我們與他們之間直接的互動將會越來越少。
大型互聯網公司在過去十年中發展出的可擴展的、分布式的、基于服務的架構將會深刻影響未來。但是昨天的架構不一定就不適合明天的應用,前提是是否能夠提高開發者的工作模式,提高運維團隊的工作模式,從而使得公司更加有競爭力。如果不能做到,那么必將會有所替換。
再問:私有云是什么?