云計算(cloudcomputing)是基于互聯網的相關服務的增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。今天我們用云計算行業最主要的三個詞:saas、paas、iaas來淺析一下什么是云計算。
saas 是云計算的最上層,簡單來說,就是你住五樓,我住六樓,我是你的“上層”的意思。它是一種基于平臺上的具體應用,ssss層是距離用戶最近的那一層。任何一個遠程服務器上的應用都可以通過網絡來運行,就是saas了。你消費的服務完全是從網頁如 netflix,mog,googleapps,box.net,dropbox或者蘋果的icloud那里進入這些分類。盡管這些網頁服務是用作商務和娛樂或者兩者都有,但這也算是云技術的一部分。
例如多備份就是讓用戶可以通過一個簡單應用直接在云端進行數據的管理和保護,同時,用戶還可以依據多備份實現多個云之間的數據互通,比如,你如果想把阿里云的數據備份到百度云,需要做的就是先把阿里云的數據從云端拿下來然后再上傳。如果使用多備份的話,就可以省去將數據下載到本地的這一步驟。這里的ssss甚至可以定義為一種軟件,所以才會有 “軟件即服務”的說法。
所謂paas實際上是指將軟件研發的平臺作為一種服務,提供給用戶。用戶或者企業基于paas平臺可以快速開發自己所需要的應用和產品。人們對paas的理解不盡相同。netflix展現了一種不同于通常人們所理解的paas。netflix是構建在aws上的最大service,其使用的ec2實例數在10k數量級。我們一般認為:saas的目標用戶是最終用戶;paas的目標用戶是開發者;iaas的目標用戶是itops。
但問題是對于很多應用,特別是復雜應用,傳統意義上的paas根本無法滿足需求。例如,可以在cloudfoundry平臺上運行一個cloudfoundry嗎?顯然是不行的。對于復雜的、大規模的應用,開發人員需要擁有對整個full-stack的控制。對于開發者而言,構建介于cloud-nativeapp和 infra之間的paas能力層有多種選擇。
iaas(infrastructureasaservice),指基礎設施即服務,消費者通過internet可以從完善的計算機基礎設施獲得服務。iaas的真正價值不在于自動化編排和管理數據中心物理資源,而是徹底改變上層平臺和應用使用it資源的方式。近年來,國內公有iaas“服務”如雨后春筍一般大量出現。但除了阿里云提供了ecsapi外,在其他廠商云服務主頁上卻看不到類似awsec2api的開放api。如果在沒有開放api的情況下,就發布iaas“服務”,那么說明api在產品優先級中處于很低的位置。
所謂云存儲就是將網絡中大量各類不同類型的存儲設備通過應用軟件結合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統,說得直白一點就是按需分配。當然在具體的實現過程中絕對不會像說得那么簡單。說白了一點這種iaas 是云的制造者。基于internet的服務(如存儲和數據庫)是iaas的一部分。internet上其他類型的服務包括平臺即服務 (platformasaservice,paas)和軟件即服務(softwareasaservice,saas)。paas提供了用戶可以訪問的完整或部分的應用程序開發,saas則提供了完整的可直接使用的應用程序,比如通過internet管理企業資源。
saas、paas、iaas云計算的三層結構,但是三者之間并沒有也不需要非常明確的劃分。saas、paas、iaas都試圖去解決同一個商業問題——用盡可能少甚至是為零的資本支出,獲得功能、擴展能力、服務和商業價值。