【原創】基於Docker的CaaS容器雲平臺架構設計及市場分析

基於DockerCaaS容器雲平臺架構設計及市場分析

---轉載請註明出處,多謝!---瀏覽器

 

1 項目背景---概述:

  「在移動互聯網時代,企業須要尋找新的軟件交付流程和IT架構,從而實現架構平臺化,交付持續化,業務服務化。服務器

容器將成爲新一代應用的標準交付件,容器雲將幫助企業用戶構建研發流程和雲平臺基礎設施。縮短應用向雲端交付的週期,下降運營門檻。加速企業向互聯網技術和業務的雙轉型。網絡

  容器雲將對接各種代碼託管庫,實現自動化持續集成和DOCKER鏡像構建,爲新一代應用交付和開發運維一體化奠基了基礎。容器雲將支持應用的一鍵式部署交付,提供負載均衡,私有域名綁定,性能監控等應用生命週期管理服務。是微服務架構,輕量級應用部署和運維的理想平臺。架構

 

  容器雲是支持公有云,私有云,而且可跨雲跨網進行管理的混合式容器運維平臺。負載均衡

  容器雲將與應用交付平臺無縫對接,實現新一代應用在公有云,私有云的靈活交付。框架

  容器雲將爲企業打造面向下一代互聯網應用的交付和運維平臺。運維

  變革應用交付,推進持續創新。」微服務

---以上描述摘自DaoCloud宣傳片廣告詞工具

 

2 項目背景---IaaS/PaaS/SaaS區別與聯繫:

 

 

  IaaS(基礎設施即服務):提供虛擬機或者其餘基礎資源做爲服務提供給用戶。用戶能夠從供應商那裏得到虛擬機或者存儲等資源來裝載相關的應用,同時這些基礎設施的繁瑣的管理工做將由IaaS供應商來處理。IaaS主要的用戶是企業的系統管理員和運維人員。性能

 

  PaaS(平臺即服務):把開發平臺做爲服務提供給用戶。用戶能夠在一個包括SDK,文檔和測試環境等在內的開發平臺上很是方便地編寫應用,並且不管是在部署,或者在運行的時候,用戶都無需爲服務器,操做系統,網絡和存儲等資源的管理操心,這些繁瑣的工做都由PaaS供應商負責處理。PaaS主要的用戶是企業開發人員。

 

  SaaS(軟件即服務):將應用做爲服務提供給客戶。用戶只要接上網絡,並經過瀏覽器,就能直接使用在雲端上運行的應用,而不須要顧慮相似安裝等雜事,而且免去初期高昂的軟硬件投入。SaaS主要面對的是普通的用戶。

 

  CaaS(容器即服務):完成IaaSPaaS兩個層級的功能。相對於傳統的IaaSPaaS服務,CaaS對底層的支持比PaaS更靈活,而對上層應用的操控又比IaaS更容易。同時由於Docker是比VM更細粒度的虛擬化服務,因此可以對計算資源作到更高效的利用。CaaS能夠部署在任何物理機,虛擬機或IaaS雲之上。

 

3 項目背景---CaaS雲平臺技術架構

 

 

4 項目背景---CaaS雲平臺領域技術現狀

技術關鍵字解析:

  • 集羣框架:容器集羣管理及編排系統。
  • 代碼持續集成:徹底自動化的代碼管理,包括源代碼存儲、編譯、鏈接、測試、發佈整個建立過程都應該自動完成。
  • 多租戶管理:實現多用戶的環境下共用相同的系統或程序組件,而且仍可確保各用戶間資源的隔離性。
  • 跨主機集羣:能夠將本地雲平臺內部容器資源,平臺外部的客戶自有容器資源,及各類第三方公有云容器資源結合到一塊兒造成混合容器雲資源模式。
  • 鏡像倉庫:提供本地公有/私有鏡像倉庫,提供第三方鏡像倉庫或DockerHub鏡像資源集成。
  • 應用編排服務:使容器之間可以通訊、彼此能夠傳遞運行期,同時管理多個容器的行爲。當容器集羣共同構建應用架構時,須要考慮集羣環境中的容器,哪些端口須要暴露、哪些卷鬚要掛載等信息。
  • 專屬主機:即從本地雲平臺中提供給用戶的專屬虛擬主機環境用於構建容器集羣應用。
  • APaaS服務基於PaaS之上的公有中間層SDK開發組件或API調用接口,及公有APaaS服務平臺。例:用戶統一身份認證組件,APP的消息推送組件,公有消息隊列平臺等。
  • 容器管控:對容器進行CPU/內存資源配置,SSH或控制檯容器接入,網絡配置,環境變量設置,數據卷掛接,資源監控,日誌管控,事件記錄,二級域名或自有域名分配等功能。
  • 數據卷或雲盤:基於雲平臺的數據存儲工具。主要用於容器間數據共享,或某容器的外接數據捲進行數據持久化存儲。

 

CaaS平臺

集羣框架

代碼持續集成

某雲平臺A

Docker Swarm

支持Github,Bitbucket,Coding,GitCafe等第三方代碼倉庫。自動偵測本地用戶帳號,並找到該帳號下的工程代碼或資源,根據該工程下的DockerFile在本地雲平臺Build成鏡像文件,並可手動/自動部署或發佈。

支持客戶端代碼持續集成。

某雲平臺B

Azure

同某雲平臺A

某雲平臺C

Kubernetes/Mesos

同某雲平臺A

CaaS平臺

多租戶管理

跨主機集羣

鏡像倉庫

某雲平臺A

支持

支持

騰訊雲,阿里雲,UCloud,

AWSIAAS虛擬主機

支持

本地公有,租戶私有,DockerHub

某雲平臺B

支持

只支持本地雲跨主機

支持

某雲平臺C

支持

支持

支持

CaaS平臺

應用編排服務

專屬主機

APaaS服務

某雲平臺A

支持

支持

健康監控

某雲平臺B

支持

支持

不支持

某雲平臺C

支持

支持

不支持

CaaS平臺

容器管控

數據卷或雲盤

某雲平臺A

支持

支持

某雲平臺B

支持

支持

某雲平臺C

支持

支持

 

 

5 項目背景---CaaS產品銷營銷模式及現狀

 

CaaS平臺

銷售模式

某雲平臺A

免費用戶:

對容器數量有限制,Max容器數:2

 

付費用戶:

對容器數劃分若干套餐,並按月收費。

例:8x套餐:¥49/月,最多8容器。

某雲平臺B

免費用戶:

對容器數量和CPU數量有限制,Max容器數:4 CPU數:2

 

付費用戶:

對資源(CPU,內存,磁盤,帶寬)等劃分爲若干套餐,並按月收費或按日收費。用戶可清晰的在WEB上看到每日帳單。

例:S套餐:¥58/月,1CPU共享,1GB內存,10GB磁盤,10MB共享帶寬。

對於專屬主機單獨收費。

 

按期有活動促銷優惠。

某雲平臺C

免費用戶:

CPU0.3 網絡:10M帶寬 內存:0.5G 磁盤:0.6G 測試集羣:1

 

付費用戶:

對資源(CPU,內存,網絡,磁盤,編排服務)等劃分爲若干套餐,按小時計費。用戶可清晰的在WEB上看到每時帳單。

例:S套餐:$56/月,1CPU共享,1G內存,10G硬盤,10M共享帶寬。

 

另提供VIP套餐,即集羣套餐。

例:M套餐:¥99/月,1個集羣即10個容器節點

 

CaaS平臺

現狀

某雲平臺A

CEO,來自微軟AzureVMware PaaS架構師。CTO,來自EMC 中國研究院總架構師。已得到光速安振創投基金數百萬美圓的PreA輪投資。至今,已經吸引了近萬個開發者和企業用戶。目前,某雲平臺A節點分佈在全球6個數據中心,大約有上千個業務同時運行,卻只有「半個」運維工程師。

某雲平臺B

CEOCTO1510月完成A1000萬美金融資(寬帶資本天使,高榕資本PreA200萬美金,高榕資本A1000萬美金),兩名微軟Azure團隊重要架構師。從 6月上線以來,已經爲幾十家企業客戶服務,包括金山、微軟、袋洗等,使用的開發者達到了上萬人

某雲平臺C

CEO,來自IBM CDL工程師。創業團隊核心人員來自IBM,阿里等。目前完成了天使輪500萬人民幣融資,正在尋求A輪融資。截止7月底,某雲平臺C已經擁有超過5千用戶,運行了超過 萬個容器。目前某雲平臺C有 15 名員工,其中 13 名研發人員,包括CEO都在抽時間寫代碼。

美國Docker

美國Docker公司通過2014年一月到20154月的三輪融資,總共融到了來自紅杉資本和高盛等的16000萬美圓

 

6 項目背景---咱們爲什麼CaaS

爲什麼CaaS

*將來IT界會以容器化應用做爲交付的標準。CaaS容器云爲開發者和企業提供了一個快速構建、集成、部署、運行容器化應用的平臺,從而提升應用開發的迭代效率,簡化運維環節,下降運維成本。

  • 1.首先做爲公司內部技術紐帶,多應用統一部署平臺,提升開發效率,減小運維成本。
  • 2.CaaS平臺產品化過程當中,投入少且產出價值高。由於可依託現有的IaaS平臺資源,相對於傳統的承接項目獲益的方式,CaaS即便短時間內經濟上收益甚微,但會積累寶貴的客戶資源及數據資源,這些無形資產最終會爲公司贏得巨大戰略價值(更普遍的資源整合,更多的合做夥伴加盟等)。
  • 3.增長雲企業辨識度,若是隻具備IaaS層服務的雲平臺是不完整的,對用戶的雲服務是不充分的,應該具備爲用戶提供全方位的雲服務體系,應該具備先進且高附加值的雲平臺。

 

7 項目背景---CaaS雲平臺功能模塊

 

鏡像倉庫管控:

本地鏡像倉庫:建立本地鏡像倉庫,爲平臺提供自有鏡像資源支持。

本地鏡像倉庫搭建,本地鏡像文件基礎管理(版本,描述,指南,後期製做/調試),DockerHub或第三方鏡像倉庫掛接

容器基礎功能:容器是平臺中最小計算單元,針對容器的基礎管理功能。

鏡像/容器配置,容器生命期管理(啓動,中止,刪除),容器資源配置(CPU,內存,磁盤),容器參數設置(執行命令,接入點),端口映射配置(直聯端口,內聯方式,負載均衡端口),環境變量設置,容器信息顯示,容器日誌管理,容器資源監控(CPU,內存,帶寬)

容器服務管理:容器服務是指經過啓動基於一個鏡像文件的多個容器共同完成某應用的負載均衡功能,好比啓動多個Tomcat容器作某Web應用的服務端負載均衡場景。

服務分類管理(應用,數據,工具,磁盤),服務生命期管理(啓動,中止,刪除),多容器彈性伸縮配置(自動,手動CPU/內存閾值),多容器負載均衡,服務間連接管理,服務日誌管理

容器應用管理:容器應用是由多個容器服務共同完成用戶業務目標的架構。好比某業務架構的容器應用爲(Ngnix服務+Tomcat服務+MySql服務+數據卷服務

應用生命期管理(啓動,中止,刪除),應用編排,應用基本信息管理,應用域名管理(二級域名,自有域名),應用資源監控(CPU,內存,帶寬),應用事件描述

主機集羣管理(域管理):主機域包括本地平臺主機集羣環境,第三方公有云主機集羣接入,用戶私有主機接入等。

主機生命期管理(接入,退出),第三方公有云主機管理,域資源監控(CPU,內存,帶寬)。

數據卷管理:數據卷是在宿主機上存在的特殊用途目錄,爲了完成某些容器數據持久化,榮期間數據共享等功能。還能夠做爲用戶雲盤使用。

數據卷生命期管理(建立,配置,刪除),數據卷信息顯示

租戶管理:接入平臺的用戶我的屬性管理

帳戶及套餐管理,我的信息管理

用戶域及Dashboard功能:本平臺內所有資源共同集合成公有域,而在本平臺內的租戶只能管控本身私有域中的資源,因此要對平臺進行邏輯分層,至少分爲公有域和用戶私有域兩層。而對層級的劃分後,會涉及到以上各功能點的用戶私有域表現。

持續集成:爲了實現代碼持續集成的能力,須要掛接公共代碼倉庫(GITHubGITCafe)等。

公共代碼庫API接口調用(用戶身份認證/受權,項目/代碼接入,持續集成事件回調)等。

APaaS服務工廠管理

APP消息推送服務,用戶統一認證服務,公共消息平臺,健康監控平臺等APaaS服務管理。

 

/*--------------------------------------------------------------------------------------*/

做者自述:

本人從事十六年WINDOWS應用/遊戲/設備/WEB開發,目前從事Linux,Docker及CAAS雲平臺架構設計及開發。

基於全球開源共享理念,本人會分享更多原創及譯文,讓更多的IT人從中受益,與你們一塊兒進步!

 

基因Cloud 原創,轉發請註明出處

1738387@qq.com (工做繁忙,有事發郵件,QQ不加,非要事勿擾,多謝!)

2015.11 月

相關文章
相關標籤/搜索