雲計算十年回顧(上):風雨兼程

雲計算從AWS初創時的牛刀小試到如今巨大的行業和生態,從新鮮詞彙變爲流行語,它的十年發展經歷了哪些階段?每個階段分別創造和發展了什麼?未來雲計算又將朝着哪些方向繼續前行?此文系QCon十週年特別策劃《技術十年》系列文章,旨在通過回顧技術發展總結最佳實踐、爲開發者啓發技術新思路。本篇爲InfoQ特邀北京國雙科技有限公司(以下簡稱:國雙)技術總經理何愷鐸撰文,對雲計算髮展歷程進行深入分析和探討。更有大數據、移動、運維等領域文章敬請期待。訪問QCon北京2019官網日程,瞭解最新技術趨勢與實踐。

寫在前面

科學技術的革新始終在推動時代巨輪轟鳴向前。雲計算,已經走過十餘年的風雨歷程,從AWS初創立時的牛刀小試,到如今成長爲一個巨大的行業和生態,堪稱是新世紀以來最偉大的技術進步之一。“雲計算”這個術語,也早已從一個新鮮詞彙,成爲了婦孺皆知的流行語。十年荏苒,風雲變幻,值此InfoQ中國籌劃發表十週年系列回顧文章之際,我們正可憶昔撫今,回顧和感受雲計算領域的發展與變革。

任何事物的誕生和發展一定有其前提條件和土壤,雲計算亦是如此。記得在世紀初的大學課堂上,教授們頗爲推崇網格計算理論,該理論事實上已經充分體現了計算資源分佈式協作和統一管理的先進思想。可惜網格計算過於學術化,最終是更接地氣也更宏大的雲計算橫空出世,震動了整個IT業界。

那麼,雲計算誕生及蓬勃發展的原因是什麼呢?在筆者看來,主要有三大因素,分別是相關軟硬件技術的成熟、巨大的社會價值和偉大的商業模式。所謂軟硬件技術的成熟,指的是在技術和工程層面,構建雲計算平臺的條件開始陸續具備,主要包括超大規模數據中心建設、高速互聯網絡,以及計算資源虛擬化(Hypervisor)和軟件定義網絡(SDN)技術的不斷髮展和成熟——這些基礎能力構成了雲計算髮展的技術前提;所謂巨大的社會價值,指的是從用戶角度出發,雲計算的採用使任意組織和個人得以站在巨人的肩膀上開展業務,避免重複造輪,極大提高了軟件與服務構建各環節效率,加速了各類應用的架構和落地,而云端按需啓用和隨意擴展的資源彈性,也能夠爲企業節省巨大成本;所謂偉大的商業模式,指的是雲計算的產品和服務形態非常適合新時代的B端需要,訂閱制和Pay-as-you-go的計費方式大幅降低了客戶的進入門檻,而技術基礎設施架構方面的穩定性需要又帶來了較高的客戶粘性,再加上多租戶高密度數據中心所能帶來的規模效應,這些因素使得雲計算能夠成爲一門好的生意,對應着一個極佳的B端商業模式。這三者缺一不可,共同促成了雲計算的興起與繁榮,也吸引了不計其數的業界精英投入其中,是爲雲計算取之不竭的源動力。

當然,同任何新生事物一樣,雲計算行業的發展也並非一帆風順。從早期被指責爲“新瓶裝舊酒” 的概念炒作,到對雲上數據隱私問題的擔憂,再到對各類公有云線上偶發事故的譏諷和嘲笑,雲計算的成長亦伴隨着各種挑戰和質疑。其中部分負面反饋實質上還是由於使用不當或偏離最佳實踐造成,也讓雲計算揹負了不少 “冤屈” 和罵名。所幸瑕不掩瑜,雲計算的先進性終究讓發展的主旋律蓋過了干擾與雜音,配合其本身持續的改進,越來越多地得到客戶的認可,市場規模也不斷擴大。

本文爲該系列的第一篇文章,會試圖從普通開發者及實踐者的視角來回顧雲計算髮展的上半程:萌芽時代和探索時代。因篇幅所限,所討論的範疇將聚焦於公有云,以IaaS和PaaS層面的技術演進爲主。

萌芽時代 2008-2011

事實上,雲計算行業的開端較難精準定義。一般認爲,亞馬遜AWS在2006年公開發布S3存儲服務、SQS消息隊列及EC2虛擬機服務,正式宣告了現代雲計算的到來。而如果從行業視角來看,我們也不妨視2008年爲另一個意義上的雲計算元年。因爲在這一年,當AWS證明了雲是可行業務之後,越來越多的行業巨頭和玩家注意到這塊市場並開始入局:微軟在PDC2008上宣佈Windows Azure的技術社區預覽版,正式開始微軟衆多技術與服務託管化和線上化的嘗試;Google恰好也在2008年推出了Google App Engine預覽版本,通過專有Web框架允許開發者開發Web應用並部署在Google的基礎設施之上,這是一種更偏向PaaS層面的雲計算進入方式;而衆所周知,國內的雲計算標杆阿里雲也是從2008年開始籌辦和起步——可見是從2008年起,雲計算的時代大幕逐步拉開,開始形成一個真正的多元化市場,並隨着衆多巨頭的加入開始良性競爭。

在雲計算興起之前,對於大多數企業而言,硬件的自行採購和IDC機房租用是主流的IT基礎設施構建方式。除了服務器本身,機櫃、帶寬、交換機、網絡配置、軟件安裝、虛擬化等底層諸多事項總體上需要相當專業的人士來負責,作調整時的反應週期也比較長——相信許多研發負責人都有過等待服務器到位的經歷。雲的到來,突然給出了另一種高效許多的方式:只需輕點指尖或通過腳本即可讓需求方自助搭建應用所需的軟硬件環境,並且根據業務變化可隨時按需擴展和按量計費,再加上雲上許多開箱即用的組件級服務,這對許多企業來說有着莫大的吸引力。Netflix就是早期雲計算的擁抱者和受益者,該公司在2010年成功地全面遷移到AWS,堪稱是雲計算史上最著名的案例之一。

技術產品上看,早期的雲上產品組合雖然還比較單薄,也存在一些限制,但計算和存儲分離的核心理念已經得到初步確立,並深刻影響了基於雲上應用程序的架構模式。具體來說,該理念一方面體現在雲廠商紛紛將存儲服務開闢爲獨立的產品類別,通過如AWS S3、Azure Storage、阿里雲OSS等服務清晰剝離了二進制對象與文件的負載與管理,並且提供了豐富的接口和API以供應用程序進行集成;另一方面,在虛擬機層面基於網絡存儲的託管磁盤服務也得到了大力發展和推廣,如AWS的EBS、Azure的Page Blob(後封裝爲Managed Disk)以及阿里雲的塊存儲(雲盤),此類託管磁盤既很好地保障了數據可靠性,又提供了豐富的容量和性能級別選擇,使得雲上虛擬機的計算和存儲充分解耦,在這兩方面都能夠獨立擴展和調節。

在雲計算的萌芽時期,另一個有趣現象是當時“雲計算”和“大數據”糾纏不清的關係。可能是由於發展歷程上幾乎同期興起,以及在大規模數據存儲與計算上的確存在能力交集,兩者的概念和定義一度容易互相混淆。早年筆者曾購買過一本很不錯的Hadoop技術書籍,其副標題卻是“開啓通向雲計算的捷徑”,可見早期雲計算的定義曾有較爲模糊的階段。當然,隨着後續的時代發展,這樣的歧義越來越少見了,雲計算已多特指提供各類雲端服務與組件的軟硬一體化技術資源平臺,是一個帶有明確商業模式的綜合性載體,而大數據則是技術上處理大體量數據的方法論和實現,主要是一種技術體系——所以兩者各自獨立又可互相依存,比如各雲計算廠商都陸續推出了雲上大數據分析服務,如AWS的EMR、Azure的HDInsight、阿里雲的E-MapReduce,本質上正是開源大數據技術在雲上的實現和適配。

探索時代 2011-2014

當雲計算玩家們紛紛入場並確認大舉投入的戰略後,行業進入了精彩的探索時代。這一時期的各朵雲在產品技術層面進行了許多有益嘗試,雖然免不了在個別方向上走些彎路乃至經受挫折,但總體而言云端服務的能力與質量取得了相當大的進步和提升,也爲雲計算贏得了越來越多的關注和喝彩。
 
首先,IaaS層面繼續圍繞虛擬機爲核心得到穩紮穩打的推進和增強。更強更新的CPU帶來了雲上虛擬機計算能力的提升和換代自不必說,早期機型內存相對偏小的問題也隨着新機型的推出逐步得到解決,新上雲端的SSD磁盤更是讓機器性能如虎添翼。廠商們不約而同地形成了通用型、計算型、內存型等多個虛擬機系列,通過將不同CPU/內存比例搭配的機型擺上貨架,給予不同應用程序負載以更多選擇。當筆者瀏覽這些琳琅滿目的機型列表和參數時,恍惚間猶如來到了當年熱鬧的中關村IT賣場,頗有在雲端“攢機”的奇妙感覺。
 
同屬基礎設施的存儲類服務在初期得到了市場歡迎和認可之後,也同樣迎來了大發展。原有功能得以細化,通過引入冷、熱乃至存檔的各級分層,進一步凸顯成本優勢。爲了彌補託管磁盤在跨機器文件共享方面的不足,類似NFS的文件存儲類服務也逐步成爲了雲上標配,如AWS的EFS、Azure的Azure Files及阿里雲NAS等,進一步把計算存儲分離架構發揮到極致,大大方便了某些場景下的架構與實現。
 
與IaaS的高歌猛進相比,PaaS的發展在這一時期則顯得多少有些落寞,尤其是從希望從頂層應用框架入手來推廣雲的方式一直不溫不火,沒有得到太多的關注。例如前面我們提到的Google App Engine,經過幾年發展後技術上其實頗爲紮實,除Python外也添加了Java/Go等更多語言的支持,亦可與Google其他基礎設施無縫集成,但就市場而言總是處於叫好不叫座的狀態;國內率先實踐此模式的廠商是新浪SAE,上線之初頗受關注,亮點在於支持PHP語言及集成MySQL,可惜多年運營亦未達到火爆狀態;阿里雲也曾推出相似的ACE服務對此類產品形態進行嘗試,後也於2016年下線——究其原因,恐怕還是因爲App Engine類服務本質上是相對受限的環境,平臺的技術約束和綁定較強,出問題時也較難進行深入排查所致。這揭示了雲的用戶固然喜歡技術實現上的便利和平臺抽象,但也同樣渴求技術靈活性**、可移植性**和自我掌控。在後來的Web類PaaS服務中,我們看到業界調整了策略:更多地定位爲通用運行平臺並着力於自動擴容和負載監控等專業增值服務,儘可能解除技術、語言和框架層面的限制,如AWS的Elastic Beanstalk、Azure的App Service等;另一種發展思路則徹底輕量化,主要面向中小客戶推廣較爲經濟的建站服務,以滿足入門級託管需求。
 
所幸,PaaS中的另一重要分支——泛數據庫類服務(亦稱DBaaS)則得到了快速的發展。由於數據庫服務較爲標準化,又是應用程序中不可或缺的重要組成,因此很快得到了廣泛支持和採用。這裏的典型代表有Amazon RDS、阿里雲RDS、Azure SQL Databases和Azure Database for MySQL/PostgreSQL等。
 
與自行使用虛擬機搭建相比,雲上數據庫一鍵式的創建過程,自帶的高可用性和自動備份,可謂省心省力;豐富的性能等級選項更是可根據實際負載選擇和調節,實現了成本的最優化控制。除此之外,由於雲上數據庫按時間及容量計費的輕量特點,也給予了一些優質企業級數據庫以重要的展示和售賣渠道,降低了企業的評估和嘗試成本:例如,原本只能以昂貴的一體機方式售賣的MPP數據庫SQL Server Parallel Data Warehouse (PDW),微軟將其徹底雲化之後以Azure SQL Data Warehouse的產品形態發佈,改變了其養在深閨人未識的狀態,使得相關技術讓普通開發人員觸手可及,也無疑大大增加了在整體數據架構中的採用可能。
 
讓我們回到宏觀視角。在這一百家爭鳴的探索時期,令人可喜的是中國雲計算真正如火如荼地發展了起來。除了早期入場的阿里雲和盛大雲,騰訊、百度及三大運營商等各路巨頭也都先後佈局試水,並紛紛把“雲”的品牌從一度紅火的個人網盤服務讓位於企業級雲計算;微軟Azure也於2014年在中國正式商用,標誌着外資廠商開始參與國內市場競爭。值得一提的是,這段時期獨立雲計算企業UCloud、七牛雲、青雲等都相繼創立,分別以極具特色的產品服務和強大的自主研發能力,爲中國雲計算髮展書寫了濃墨重彩的篇章,使得國內雲計算市場更加精彩紛呈。

作者簡介

何愷鐸,國雙(Nasdaq:GSUM)技術總經理,QCon講師,公衆號“雲間拾遺”作者。畢業於清華大學,曾供職於摩根士丹利基礎架構部門,2011年加入國雙工作至今。多年來參與架構和設計了國雙數個面向數字營銷和社交聆聽的大數據解決方案。個人關注的技術領域包括雲計算、Hadoop生態系統、數據庫技術等。

相關文章:

《雲計算十年回顧(下):勢不可擋 》

最新一屆的QCon即將於5月6-10日在北京國際會議召開。除了涵蓋架構、移動、運維、安全、大數據等經典方向以外,QCon還策劃了智慧零售、用戶增長、Chaos Engineering 等新興方向的話題,超150位技術大咖將分享最值得參考的技術實踐案例。訪問QCon北京2019查看大會日程,收穫技術成長。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章