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系統的大公司的話。
css
有一個很爭議的觀點,把目光僅僅集中在可複製(replicating)的IaaS雲平臺,如AWS,是一個一開始就錯誤的想法。畢竟,AWS當初引人注目是僅僅是由於憑信用卡幾分鐘內就可使用,而不是由於它看起來是部署應用最好或者最簡單的方式。
下面是Gartner的VP和傑出分析師Thomas Bittman對於私有PaaS的見解,這出自2014年10月的一篇有關於採用私有云技術時犯的最大的錯誤的報告:
git
儘管大部分的私有云是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)今年年初巧妙而簡介的說:
github
開發者不再問你要服務器了。他們甚至不問你要一個LAMP套件(stack)。他們想要API。
— Mårten Mickos (@martenmickos)
2015年5月29日
極可能還要一些容器。
本質上,開發者想要把建立和部署新的應用歸入他們快速的code-deploy-test循環的一部分。若是你老是在等待IT準備可靠的鏡像,那 麼持續交付、持續集成和微服務就永無可能。而且,坦白的講,開發者不會關心在何處部署他們的應用和服務,只要這個部署過程比較容易。
這裏就是IT和運維真正須要施展身手和改變世界的地方。經過選擇合適的軟件套裝(假如至少是Mesos和Docker),聰明的CIO能知足商業層的需求,如提升資源利用率、下降用電開銷以及減小宕機時間,同時保證提供快速靈活,符合開發者需求的平臺。
docker
對於不少Mesos的用戶來講,包括上面列舉的對公商業的公司,私有的PaaS不只僅是一個新興的技術 - 它已經站在了咱們的面前。Mesos提供了服務器層面的調度和一般的資源管理能力和抽象( resource-management capabilities and abstractions),而後更高層次的工具如Marathon、Docker和其餘一些本身開發(而且一般開源)的工具提高了開發者的體驗。
幾乎對於一個公司來講,PaaS-on-Mesos架構已經大大地提高了在平臺上部署應用的溫馨度和速度。得益於Mesos,不少用戶終於可以擁 抱微服務的架構,甚至把玩新出現的大型數據框架,由於Mesos能夠基於實際所需資源調度workload(工做量),而且支持在同一個集羣裏任何類型的 workload。
已經有好幾個由大公司構建的PaaS框架,方便運行在Mesos(而且擴展一點的說,DCOS)之上,而且已經開源。這些包括:
apache
Marathon:由Mesosphere開發和提供支持,而且其也預裝在咱們的數據中心操做系統(DCOS)產品之上,Marathon被設計用來運行須要長時間不間斷運行的服務,而且一般做爲PaaS環境中的那些Docker容器的部署環境。Marathon能處理資源的分配和運行的服務可用性。後端
Apache Aurora:Aurora 最初是Twitter開發用來做爲PaaS-type layer。Twitter極可能是世界上最大的Mesos用戶,在數據中心成千上萬的節點上使用,如今用來管理公司不少核心服務所須要的資源。就如 Marathon同樣,Aurora負責保證即便在服務器宕機的狀況下,工做仍然能持續運行。服務器
Singularity:Singularity由HubSpot開發,這是在其對即將由Meso管理的AWS鏡像,針對佔用大進行從新架構以後開發的。HubSpot把Singularity稱爲「箱子裏的PaaS」,意思是其提供的抽象足以讓對Mesos不熟悉的人輕鬆啓動job。架構
Deis:Engine Yard不少年一直是公共PaaS的首要提供者,最近他們發佈了面目一新的核心平臺,經過Deis提供對私有的基於Docker的平臺強有力的支持。今年早些時候,Deis項目開始集成Mesos。框架
Apollo:這是一個特別有意思的項目,由於它是由最大的諮詢公司和系統集成商Capgemini開發,用來服務該公司的大客戶。Apollo使用了不少額外的組件,這包含Terraform和Packer,來讓用戶能夠構建私有的IaaS和私有的PaaS環境。運維
Ochothon:CAD 的專家Autodesk最初建立了一個叫Ochopod容器編排層,它能夠簡化內部的IT流程。而且Ochothon是設計用來運行於Marathon之 上的一個版本。當公司趨向於以Mesos爲中心的基礎設施,Ochothon提供了一系列高水準性能,使一個集羣內容器間的互通實現自動化。
經過在DCOS添加了對其餘容器編排,Mesosphere對開源的支持往前又進了一步,PaaS在開發的時候沒有考慮到Mesos,可是仍然提 供了不少好用的功能。這些包括Google領頭的Kubernetes項目、Docker的Swarm、Red Hat的OpenShift和最後的Cloud Foundry。
在過去幾年,也有其餘不少基於Mesos的PaaS系統被開發構建,但還不是開源的,一些公開討論過他們系統的公司包括:
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。
然而儘管全部以前提到的案例都顯示Mesos可能帶來的各類美好的願景,現實是否是每個公司都有足夠的資源和熱情來構建牢靠(mission-critical)且徹底依賴開源技術的系統,假如要本身從頭作起就更難。
DCOS讓構建一個私有的PaaS相對的簡單了,由於其提供了要構建一個PaaS全部必要的組件和原語(primitive),無論是在前置或者公有的雲。DCOS提供了開源的Mesos的全部功能,另外還有在UI/UX,SDK和商業支持方面一些重大的改善。
一個高層次的架構是像下面這樣的:
其中的IaaS層在這裏嚴格的指準備(provision)和管理機器。他們能夠是物理的機器、虛擬機或者是公有云主機的實例。DCOS中默認的PaaS 服務是Marathon,這是一個開源的由Mesosphere開發的技術。然而,Yelp和其餘公司都證實,Marathon也能夠用來做爲更加自定義 化層的基礎-一般會牽涉到特定的用來配置運行其上的容器的方法。
除了PaaS一般你們都知道的優勢,DCOS也能讓部署混合雲架構變的容易-這意味着你的私有PaaS能夠運行在公有云之上。Workload的 移植性是DCOS核心要保證的東西,所以將前置環境的一部分或者全部應用遷移到公有云上(或者是方向相反的移動)會十分天然。資源都有一樣的抽象,用戶體 驗保持不變,並且代碼不須要改變。
今天商業的現實是商業要求快速改變,意味着對於IT基礎設施的和開發者的需求都也在快速改變。不少公司一直都在尋求把私有云做爲讓後者與前者保持一致的方案,今天私有云終於開始登上舞臺爲本身代言。儘管其可能不是咱們六年前想象其的樣子,可是這已經沒有什麼關係。
由於這一次,it works。
原文連接:WHY YOUR PRIVATE CLOUD COULD LOOK A LOT LIKE PAAS(翻譯:鍾最龍 審校:魏小紅)來自:http://dockone.io/article/500