編者按:PaaS的發展已經經歷了兩個階段:第一個階段通過為開發者提供DevOps 等工具,來加速應用交付,如GAE、Force.com等;第二代則實現全方位的應用生命周期管理,關注開放性和云間相互操作性,其代表者包括Cloud Foundry、OpenShift。本文作者魯為民博士是 ANCHORA 的創始人和CEO,在美國有多年工作經驗。魯為民認為當前PaaS的定義過于狹隘,他提出了一個新的概念 InPaaS (Infrastructure-and-Platform as a Service),這個新一代的云應用平臺應該整合目前包括 PaaS和IaaS 在內的多種技術,同時支持云服務的不同部署方式。以下為原文:
在本周的在線培訓中,用友軟件PaaS混合云負責人白小勇,也將帶來“PaaS平臺在企業IT中的應用”課程,報名地址:http://huiyi.csdn.net/meeting/info/825/biz
按照NIST的定義,IaaS主要提供包括計算、存儲和網絡等基本的計算資源的交付和管理能力,使用戶能夠在上面部署任何軟件。而PaaS則是被定義為一個建立在云基礎設施上的應用部署系統,這個系統為用戶提供API,工具和服務來部署和管理應用和服務。而PaaS的用戶是開發測試者以及IT運維和管理者。 PaaS經歷了一個摸索期后,人們已對PaaS逐漸形成了一個較為清晰的共識,PaaS已超越了IaaS API和DevOps等工具,它通過應用生命周期的管理來加速應用的交付。從早期的PaaS技術的代表者 Google App Engine、Force.com、Heroku和SAE 等中可以看到 PaaS具有以下一些基本特征:
這些PaaS加速應用的交付。首先,它們讓包括開發者在內的用戶不需要擔心硬件和虛擬機器,操作系統,應用服務器,以及對服務管理,使得他們更加快捷和容易地進行應用部署和迭代,以及應用的橫向擴展。但其明顯的短塊是用戶很容易被綁定。他們需要使用特定的編程語言來開發應用程序,需要針對特定的服務插件和APIs來編程,或者需要部署應用在特定的IaaS上。這些特點限制了用戶對于應用程序開發,部署和運維的自由度和敏捷性,以及應用程序的可移植性。
正因為如此,新一代的云應用平臺技術則實現全方位的應用生命周期管理,關注開放性、應用的可移植性和云間相互操作性,其代表者包括Cloud Foundry, OpenShift, Docker, Heroku, MoPaaS和BAE等PaaS技術或服務,除了在第一代PaaS技術對用戶在實現應用交付的加速所提供的功能外,具備以下大多數特征:
多方位的開放將計算資源的抽象提高到應用服務層面,同時將應用的運維交由平臺來自動管理,也使得PaaS有效地提供應用程序的可移植性。同時,通過提供方便的工具和不斷擴展的服務讓開發者對于開發語音、框架、服務和基礎設施有了更多的選擇自由度。通過計算資源的安全隔離,使得計算資源得以有效的安全的交付和管理。當然,從像Cloud Foundry這樣PaaS技術到真正實現PaaS云應用平臺服務還需要很多工作。圖1是一個基于Cloud Foundry的典型PaaS架構。
基于 Cloud Foundry 的 PaaS架構
事實上,市場對云應用平臺服務的剛性需求不斷的增長,但目前大家理解的IaaS和PaaS反映對計算平臺資源抽象的兩個極端:PaaS對計算資源的抽象主要從應用和服務層面來進行,而IaaS則更多是物理計算資源的抽象。用戶應用需求的多元性需要多元的計算資源抽象。單獨IaaS或PaaS提供的服務不可能完全滿足市場的需求。下面兩個場景則反映了這樣的需求:
企業IT的需求和新經濟的發展需要應用生命周期管理變得更快捷和容易。云平臺給人們帶來的希望包括解決上面這些問題,提供高效的應用開發部署,監控管理,將抽象層面從虛擬機和操作系統提升到應用和服務,以及平臺本身的高可用,高容錯,可監控,擴展性,容易部署和更新,從而實現簡單和敏捷的應用生命周期管理。
特別是企業云應用平臺市場正處于一個快速成長階段。企業目前正積極的尋求合適的云戰略,問題已從"為何“變為了“怎樣”。90%的企業和機構考慮采用云計算技術,近80%的企業希望采用多云的應用部署。IaaS首先在企業生產獲得牽引力, 通過提供虛擬計算、存儲、數據庫和其他基礎設施硬件服務為企業提供IT資源的整合和管理。但人們發現,IaaS 遠遠不能滿足企業IT的需求,特別在IaaS上進行應用的開發、集成、部署和運維還是相當的費時費錢。由于PaaS通過像Google App Engine 和 Heroku等服務已被充分驗證,作為“最后一英里”的云技術,是企業云計算戰略的一個關鍵組成部分。但是不論是IaaS還是PaaS單獨都不可能完全滿足用戶的需求,目前用戶以開始考慮和實施IaaS和PaaS的相互滲透和融合。實際上,他們并不關心這些服務是姓“I"(基礎設施)還是”P"(平臺)。他們希望新的云計算平臺能整合企業的各種需求,提供多元的計算資源抽象,讓新的應用和服務的開發和部署變動非常迅捷,能讓應用保持持久運行。
云計算市場希望新一代的云平臺能呈現這些景愿,將復雜的云基礎設施和各種應用資源變成可配置可管理的實體;提供靈活多樣的不同抽象程度的計算資源實體以滿足不同業務的需求;讓創新更容易和更快捷的同時,還能夠能提供企業所需要的對平臺本身的控制和能見度。這個新一代的云應用平臺應該整合目前包括 PaaS和IaaS 在內的多種技術,同時支持云服務的不同部署方式,包括公有云,私有云,社區云,和混合云,我們暫且稱為 InPaaS (Infrastructure-and-Platform as a Service)。具體來說,InPaaS云平臺技術具有高可用、高安全、易交互、易組合、易監管、易審計和易維護等特點,特別包括以下的一些功能:
實現InPaaS云平臺不是簡單地將PaaS和IaaS進行集成,因為目前各種IaaS和PaaS的多種功能重疊、使得疊加后系統性能降低,用戶使用復雜度增加。需要更深層了解用戶需求,找到適合市場需求的解決方案。另外,人們不斷地從不同角度來開發一系列新的云計算技術以解決不同的市場需求,而這些也可以作為InPaaS所需要的一些技術元素。比如,Docker等新一代輕量級容器將有可能成為 InPaaS所需要的輕量級容器技術的候選,以實現所需要的計算資源抽象,交付和管理。此外,SDN等技術也可能是一個實現InPaaS各個節點間和跨云的安全有效的通訊機制。
就整體解決方案來說,Cloud Foundry 之父Derek Collison和他的初創公司Apcera在云平臺技術上走在了前面,他們通過全新的技術架構設計開發出一種策略驅動(policy-driven)的新一代企業云平臺 Continuum來整合目前的 IaaS、PaaS和SaaS(下圖)。其核心是通過透明地導入策略來提供企業IT所需要的控制和能見度。此外,微軟前高管和華納兄弟的技術總監Jonathan Murray提出了相近的可組合的企業(composable enterprise)的概念來定義新的云平臺服務,通過它企業可以建立應用創建,托管,監控一條龍的快速服務來滿足業務成長的需求。用戶可以通過其來加速生產,應用開發變得越來越標準化。應用會變得比任何時候都更加容易創建,越來越多的服務將不同的組件組合在一起。
Apcera 的 Continuum 架構
作者簡介:魯為民博士是 ANCHORA 的創始人和CEO。他在云計算、信息存儲、大數據、機器學習、和智能系統等領域具有豐富理論和實踐經驗,先后獲得北京清華大學學士和美國加州理工學院 (CalTech) 博士學位。在包括IEEE Transactions等學術期刊和諸多國際會議上發表了超過50篇學術論文、取得了多項美國和中國發明專利。他擁有超過十五年在美國硅谷從事高科技產品研發、市場營銷、以及項目團隊管理的經驗。他先后在美國國家宇航局噴氣推進實驗室 (NASA JPL)、硅谷IT初創公司、以及跨國企業IBM 等從事多年高科技產品的研究和開發。他創辦了ANCHORA,開發和銷售新一代云計算平臺產品和服務;特別是提供中國首個開放中立的云應用平臺服務:MoPaaS。
(注:作者感謝Derek Collison、陳懷臨、黃允松、白小勇,丁軼群和王凱等同仁有益的討論和意見。)
上一篇 《程序員面試寶典》學習記錄5