【編者的話】IT界已經對私有云架構爭論了好久,雖然有很對公司嘗試了Iaas私有云方案,但始終不盡如人意,因為把目光僅僅集中在Iaas上是一個一開始就錯誤的想法。與此同時,圍繞Mesos的私有云方案真正奏效了,基于Mesos構建私有PaaS不僅僅是大勢所趨,它已經在很多公司證明了自己的價值。
在IT界數年針對私有云架構的優點的不斷的爭論之后,一個切實可行且企業可用的私有云架構終于來到了我們面前。并且與其它在過去的一個世紀出現的技術方案不同,它已經在世界上的一些巨頭公司,和采用先進技術的最多的公司里都證明了自己的價值。
重要的是,我們指的不是IaaS。到目前為止IaaS方案已經被嘗試過太多次,難以統計,并且還沒有怎樣擴散開來。不斷的有初創公司嘗試但無功而返,也不乏大公司步其后塵 - 包括像OpenStack這樣的項目 - 結果卻未能將私有的IaaS打造成為一個可伸縮的商業產品(sclable business)。
那問題出在哪呢?這是因為IaaS并不是云計算用戶的終極目標 - 至少在他們還有選擇的情況下不會是。高效運維和可伸縮的基礎設施(scalable infrastructure)只是提高開發者效率和商業敏捷性的途徑。對于CIO來講,一個投入大量資源開發的項目卻只能達到一半的目標,這付出很難能看到什么回報。
這就是為什么私有云計算的未來是立足于另外一個開源平臺 - Apache Mesos- 之上,并且以更加像一個PaaS平臺的面貌示人。這方案之所以行得通是因為它仍然具有運維高效性的特點,人們通常把這一點拿來作為兜售部署私有云時列舉的原因之一,但是這種以圍繞Mesos風格的私有云真正可以奏效的原因是它能給開發者帶來更快、更簡單及更靈活的用戶體驗,而這才是云一直的核心。
你可能不會相信我的這些話。但你會相信Gartner的話,相信Twitter、Apple、Yelp、Hubspot、Autodesk、eBay、Ericsson、Capgemini以及其他已經基于Mesos打造出他們自己的功能完整且無比牢靠的私有PaaS系統的大公司的話。
為什么選擇私有PaaS而不是私有IaaS?
有一個很爭議的觀點,把目光僅僅集中在可復制(replicating)的IaaS云平臺,如AWS,是一個一開始就錯誤的想法。畢竟,AWS當初引人注目是僅僅是因為憑信用卡幾分鐘內就可以使用,而不是因為它看起來是部署應用最好或者最簡單的方式。
下面是Gartner的VP和杰出分析師Thomas Bittman對于私有PaaS的看法,這出自2014年10月的一篇有關于采用私有云技術時犯的最大的錯誤的報告:
盡管大部分的私有云是IaaS,使用虛擬機來作為工作單元,然而單純的IaaS的價值是有限的。即便是公有云IaaS提供商們也在他們IaaS功能的基礎上提供了不少額外功能,包括很多便于開發者使用的工具,用來準備(provision)虛擬機和對虛擬機內部進行管理的工具,和越來越多的PaaS的服務。
...
通過重寫PaaS層,通過要求和公有云PaaS的協作,或是通過SaaS模型從一個對外的提供者來獲得服務,這些方法都能使一些應用提供更好的服務。盡管,私有的PaaS仍然相對少見,但是支撐私有PaaS的技術會日趨成熟 - 特別是對于云的混合模式而言。
實際上,它們正在慢慢成熟;因為這只是一個時間問題。一直以來都是開發者推動著云計算技術的采用。他們是AWS的第一批用戶,因為其讓他們不用煩請IT的協助;他們是PaaS的第一批用戶(如早期的Heroku),因為其幫助他們擺脫AWS的復雜度;他們也是SaaS工具,如NewRelic的第一批用戶,因為其幫助他們監控他們剛剛啟動的云服務。
就如Marten Mickos(Eucalyptus Systems的前任CEO,也是MySQL之前的CEO)今年年初巧妙而簡介的說:
開發者再也不問你要服務器了。他們甚至不問你要一個LAMP套件(stack)。他們想要API。
— M rten Mickos (@martenmickos)
2015年5月29日
很可能還要一些容器。
本質上,開發者想要把創建和部署新的應用納入他們快速的code-deploy-test循環的一部分。如果你總是在等待IT準備可靠的鏡像,那么持續交付、持續集成和微服務就永無可能。并且,坦白的講,開發者不會關心在何處部署他們的應用和服務,只要這個部署過程比較容易。
這里就是IT和運維真正需要施展身手和改變世界的地方。通過選擇合適的軟件套裝(假如至少是Mesos和Docker),聰明的CIO能滿足商業層的需求,如提高資源利用率、降低用電開銷以及減少宕機時間,同時保證提供快速靈活,符合開發者需求的平臺。
基于Mesos構建私有PaaS不僅僅是大勢所趨
對于很多Mesos的用戶來說,包括上面列舉的對公商業的公司,私有的PaaS不僅僅是一個新興的技術 - 它已經站在了我們的面前。Mesos提供了服務器層面的調度和通常的資源管理能力和抽象(resource-management capabilities and abstractions),然后更高層次的工具如Marathon、Docker和其他一些自己開發(并且通常開源)的工具提升了開發者的體驗。
幾乎對于一個公司來說,PaaS-on-Mesos架構已經大大地提升了在平臺上部署應用的舒適度和速度。得益于Mesos,很多用戶終于能夠擁抱微服務的架構,甚至把玩新出現的大型數據框架,因為Mesos可以基于實際所需資源調度workload(工作量),并且支持在同一個集群里任何類型的workload。
已經有好幾個由大公司構建的PaaS框架,方便運行在Mesos(并且擴展一點的說,DCOS)之上,并且已經開源。這些包括:
Yelp:Yelp在Marathon的基礎上構建了一個基于Docker的微服務架構,叫做PaaSTa。它能在公司和AWS的機器的鏡像之間完成Docker容器自動化部署和服務集成。PaaSTa和相關的投入對于Yelp的持續部署環境至關重要,并且該公司現在每天需要啟動超過一百萬的容器來支持其代碼-測試(code-testing)的流程。
Apple:Apple構建了一個自己的Mesos調度器,名字叫J.A.R.V.I.S.(Just A Rather Very Intelligent Scheduler 一個有點相當智能的調度器)。它在后端支撐了整個Siri的應用。Mesos的集群遍布成千的節點,讓開發者可以更容易的部署組成Siri的單個服務。
eBay:對于eBay來說,目標是從現有的(專有且基于VM的)持續化集成方案遷移到一個基于Mesos的方案。在他的方案中,每一個開發者都分配有一個Jenkins的實例,用到的是Mesos和Marathon,Meso實際運行在OpenStack的實例之上。
Ericsson:這位通訊巨頭使用Mesos和Marathon來作為一個PaaS系統的基礎,可以用來支撐數據分析,并且全局的在數千個數據中心強制SLA。DCOS讓PaaS更容易
然而盡管所有之前提到的案例都顯示Mesos可能帶來的各種美好的愿景,現實是不是每一個公司都有足夠的資源和熱情來構建牢靠(mission-critical)且完全依賴開源技術的系統,假如要自己從頭做起就更難。
DCOS讓構建一個私有的PaaS相對的簡單了,因為其提供了要構建一個PaaS所有必要的組件和原語(primitive),不管是在前置或者公有的云。DCOS提供了開源的Mesos的所有功能,另外還有在UI/UX,SDK和商業支持方面一些重大的改善。
一個高層次的架構是像下面這樣的:
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2015-07/120018.htm