時下,云計算是一個時尚的名詞,但究竟云計算解決了什么問題?云計算的技術挑戰又在哪里?云計算和移動互聯網又是怎樣的關系?本文將闡述阿里云的觀點,并介紹阿里云在云計算上的努力。
云計算的三個實質問題
云計算可以被解釋為虛擬主機的租賃服務,也可以被解釋為企業軟件的 SaaS 化,又或者是一個“云機箱”之上跑許多個虛擬桌面。在阿里云看來,云計算要解決三個實質問題。
第一是大規模。這里提到的大規模不僅是超過單臺 PC服務器的能力,更指的是能夠支撐互聯網級別的數據和應用,例如個人郵箱、搜索等。
第二是低成本。低成本的一個標志在于用系統軟件來解決廉價硬件在復雜條件下不可靠的問題。
第三是服務運營。這里所指的服務運營是能夠通過無差別的存儲計算能力來提供公共的基礎服務。
當各式各樣的應用可以共同運行在一個統一平臺之上,才能達到真正的大規模,而由此得到的規模效益才能夠獲得低成本,于是這三個本質的問題是云計算的有機整體。
傳統的軟件以功能為主體,而云計算則徹底推動了“數據為王”。數據將成為一家企業乃至是一個國家極其重要的戰略資源。而數據的搜集、存儲、分享、處理和應用是需要大量的計算資源的,從這個意義上說,云計算可以稱為“以數據為中心的分布式大規模計算”。而一個企業乃至一個國家瞬間能夠調用的計算資源則成為了能否利用和發揮好數據這個戰略資源的核心競爭力。提供公共計算服務的云計算平臺將大大促進企業之間、社會各行業間的數據收集、分享和實時處理,在這基礎之上必將孕育出大量的數據運營的新商業模式,數據也將最終成為一切商業行為的決策基礎,從而大大提高社會的整體效率,促進人類從大工業化時代走向信息化時代。
云 OS 架構
搭建云計算平臺是一項有較高技術門檻的大工程。云 OS 在這個大工程中起著至關重要的工作。云 OS 的本質就是數據中心上的操作系統,它需要把成千上萬臺通用 PC 服務器變成一臺超級計算機。
圖 1 阿里云 OS 架構
如圖 1 所示,阿里云 OS 運行在成千上萬臺服務器的 Linux 之上,飛天大規模計算系統相當于 Windows 中的內核,負責管理集群系統資源、控制分布式程序運行、隱藏下層故障恢復和數據冗余等細節、有效地提供彈性計算和負載均衡的服務;開放存儲服務(OSS)、開放結構化數據服務(OTS)和開放數據處理服務(ODPS)類似于 Windows API,提供了方便的進行大規模數據的存儲、查詢和處理服務;在這之上的 Cloud Engine 為第三方云應用提供了彈性、低成本的運行環境,幫助開發者簡化云應用的構建和部署;在互聯網基礎應用的層面,如同 Windows 自帶記事本和畫筆,阿里云 OS 自帶了搜索、郵箱和地圖的服務。
這樣的體系結構可以有效并廣泛地支持各種互聯網的應用,并且作為一個開放系統,為第三方開發者提供簡易的操縱整個數據中心計算資源的能力。在阿里云 OS 中,飛天大規模計算系統是整個系統的核心技術能力,承載了從 PC 服務器到“數據中心”這臺超級計算機的質變。
云計算與移動互聯網
隨著 3G 時代的到來,移動互聯網的興起將帶動互聯網進入新一輪的高速發展。移動設備將成為人們更方便、更廣泛地接入互聯網的終端。移動的特性同時也帶來了對數據收集、分享、處理等更高規模上和實時性上的要求。因此,雖然云計算不是為移動互聯網而誕生的,卻很可能在移動互聯網開花結果。為了更好地配合和利用數據中心中云計算平臺提供的計算能力,阿里云 OS 同時管理了移動終端上的計算資源(如圖 2 所示)。其中,為了幫助開發者便捷地將互聯網服務接入移動終端,使得云應用擁有和本地應用一樣流暢的用戶體驗,阿里云 OS 為開發者提供了云端和終端的資源和服務構建統一的云應 阿里云通過構建阿里云 OS 來實現以數據為中心的云計算,解決了大規模、低成本、可服務運營這三個本質的問題。同時,阿里云 OS 在移動終端的努力,使用戶可以用更便捷的方式來獲取互聯網服務。云 OS 是一個費時費力的大工程,但同時也是云計算繞不過的技術門檻。阿里云將直面平臺搭建這樣的正面戰場,使得云計算不再是概念,而是實實在在的工作。
作者林晨曦,2008年 11 月加入阿里集團研發院,目前是阿里云計算平臺部門的資深專家。從 2008 年到目前,一直從事阿里云大規模分布式系統(飛天)的架構和開發工作。在加入阿里云之前,林晨曦曾在微軟亞洲研究院從事分布式系統、機器學習等研究工作。