DevOps年度報告:Docker、Puppet和Chef,誰更受歡迎?
背景:
2016年1月,RightScale進行了年度云計算現狀調查。此次調查就云計算架構的應用情況詢問了大部分典型組織內的技術專家。
2016年2月9日,RightScale公布了其年度云計算現狀報告。
RightScale對DevOps及DevOps工具(包括Docker)的使用情況也同時進行了調查。
在本報告中,我們將對調查反饋和DevOps進行深入分析。
編者注:本文亮點多多,特別是關于國外Docker現狀的分析。另外,點擊文末 “閱讀原文” 鏈接,即可下載欣賞和下載本文的PDF版本。請笑納:)
受訪者分析
本次調查的1060名受訪者覆蓋了從技術主管到經理、普通從業者,代表了 不同行業不同規模的各種組織 。
調查的受訪者代表了 云計算體系中的所有公司 ,包括RightScale的使用者(17%)和RightScale的非使用者(83%)。
他們的 反饋 給予我們一個 綜合性的視角 ,來審視當今云計算的現狀。
下圖為 受訪者所在公司規模分布圖:
下圖為 受訪者所在行業分布圖:
下圖為 受訪者所在區域分布圖:
下圖為 受訪者崗位和級別分布圖:
關鍵發現
1、DevOps的使用正在增長,尤其在企業中
在上次云計算現狀調查后的12個月內,DevOps的使用在強勁增長:
- 74%的受訪者正在使用DevOps,去年本數字為66%;
- 2016年,DevOps在企業中的使用率可以達到81%,在SMB中DevOps的使用率為70%。
DevOps在企業的各個層面都有應用:
- 在業務部門中應用DevOps的企業占31%;
- 在項目和小組應用DevOps的企業占29%,其中項目和小組最有可能應用DevOps
- 目前,只有21%的企業在公司層面應用DevOps。
下圖為 2016年DevOps使用情況:
下圖為 企業和SMB的DevOps使用情況對比:
下圖為 企業DevOps的使用情況:
2、Docker的使用率翻倍,Chef和Puppet的使用率基本相同
2016年,DevOps工具的使用明顯增長。Chef和Puppet仍然是最常使用的DevOps工具,使用率都是32%。2015年,Chef的使用率為28%,Puppet的使用率為24%。
與去年同期相比,最大收益來自Docker,其使用率增長超一倍(從13%增長到27%)。
同時,Ansible也出現了強勁增長,從10%增長到20%。
集群管理工具的使用落后于Docker的使用,最常使用的集群管理工具是Kubernetes(7%)和Docker Swarm(6%)。
下面兩張圖為 所有受訪者DevOps工具的使用情況:
1)在企業中DevOps工具的使用情況如下:
- Puppet是最常用的DevOps工具,其使用率為42%;
- Chef的使用率為37%;
- Docker是第三大最常使用工具,其使用率為29%,但是有38%的企業計劃使用Docker
當把當前使用和計劃使用結合考慮時,Docker是最受歡迎的DevOps工具,其使用率為67%,與此同時,Puppet的使用率為61%,Chef的使用率為57%。
與去年同期相比,Ansible以幾近三倍的增長速度(從2015年的8%到2016年的23%)成為增幅最大DevOps工具。
Docker從2015年的14%到2016年的29%,增幅超過兩倍。
下面兩張圖為 企業受訪者DevOps工具的使用情況:
2) 在SMB(Small and Medium-sized Business 中小企業)中DevOps工具的使用情況分析:
在 SMBs 中,Docker,Chef和Puppet的使用率基本相當(Chef 28%,Docker 26%,Puppet 25%)。
當把當前使用和計劃使用結合考慮時:
- Docker的使用率最高,為59%;
- Chef是46%;
- Puppet是43%;
在SMBs中,Docker的使用率翻番,從13%增長到26%。
下面兩張圖為 SMB訪者DevOps工具的使用情況:
3、DevOps的使用者會使用多種工具
將近一半的公司(43%)正在使用配置工具,例如Chef、Puppet、Ansible或者Salt。然而,使用配置工具的公司有可能使用多種配置工具:
- 25%的公司使用兩種或者多種配置工具;
- 18%的公司只使用一種配置工具。
Chef和Puppet經常被結合在一起使用:
- 67%的使用Chef的組織會使用Puppet;
- 相似的,67%的使用Puppet的組織會使用Chef。
下圖為 使用的配置工具數量:
下圖表明 許多公司使用Chef+Puppet:
Docker并沒有替代其他配置工具,而是與其他工具一起使用:
- 大部分Docker使用者(80%)使用至少一種其他配置工具;
- 在Chef使用者中,45%使用Docker;
- 在Puppet使用者中43%使用Docker。
下圖為 Docker+其他配置工具的使用情況:
下圖為 Chef和Docker的使用情況:
下圖為 Puppet和Docker的使用情況:
4、容器應用正在成熟,尤其是在企業中
Docker的應用已經遠遠超出了實驗階段。
總體上,26%的受訪者已將其工作負荷運行在容器中,其中8%的受訪者將開發工作負荷運行在容器中,18%的受訪者將生產工作負荷運行在容器中。另外36%的受訪者正在嘗試使用容器,同時25%的受訪者正在了解容器。
讓人驚訝的是,在將工作負荷部署到Docker上,企業進一步領先。29%的受訪企業已將工作負荷運行在容器上(8%部署開發工作負荷,21%部署生產工作負荷)。數量很少的企業(8%)沒有使用Docker的計劃。
受訪者的容器使用情況
5、Docker在歐洲的科技公司和企業中的使用最廣
RightScale將受訪者分為不同的群組。
- RightScale發現應用Docker最多的群組分別為:科技公司(32%),企業(29%),開發者(28%)。
- 歐洲是正在使用Docker最普遍的地區(34%),亞洲是受訪者計劃使用Docker比例最高的地區(25%正在使用Docker,42%計劃使用Docker)。
下圖為 受訪者使用Docker情況:
6、人們對在裸機上使用容器很感興趣
目前,容器主要部署在虛擬機上(29%),在裸機上部署的比例為12%。然而,人們對將容器直接部署在裸機上很感興趣,24%的受訪者有將容器部署到裸機上的打算。
下圖為 容器部署方式:
大部分容器使用傳統的Linux分發版本構建,例如:
- Ubuntu(43%);
- CentOS(39%);
- Red Hat(37%);
- CoreOS(12%)
CoreOS 是應用最廣泛的精簡操作系統,它是為容器特別設計的。CoreOS的使用情況仍然落后于頂級提供者。
下圖為 容器主機的操作系統:
7、容器的最大挑戰在于新手缺乏實際經驗
當被問及使用容器的挑戰時,受訪者提及的主要挑戰包括:
- 缺乏容器實踐經驗(67%);
- 技術不成熟(62%);
- 管理/監控困難(59%);
- 安全問題(57%)。
下圖為 使用容器的挑戰:
對正在使用容器的受訪者來說,最大的挑戰在于:
- 安全問題(29%);
- 技術不成熟(29%);
- 缺乏容器實踐經驗(25%)
對目前還沒開始使用容器的受訪者來說, 缺乏實際經驗是目前面臨的最大挑戰(39%) 。
下圖為 不同成熟度使用容器的挑戰對比:
8、2016年容器的關注點在于教育和實踐
在 2016 年,針對容器最需要做的事情是加強關于容器的教育(62%),緊隨其次的是在開發/測試(44%)和生產環境(28%)中使用容器進行更多的實踐,同時擴展容器在開發/測試中的使用(28%)。
下圖為 2016年針對容器最需要做的事情:
總結:DevOps應用走向正軌
2016年云計算現狀調查報告顯示,人們對DevOps的興趣正在增長,同時Docker容器的正在獲得廣泛應用。在之前的技術變革中,企業應用新技術比較緩慢,但是目前企業正在領導Docker的發展方向,并積極應用,其速度快于相對較小的組織。
Chef和Puppet仍然是應用最廣泛的DevOps工具,Docker緊隨其后。如果相當數量的組織按其計劃使用Docker的話,Docker會迅速得到廣泛應用。Docker的應用不會以犧牲其他配置工具為代價。本調查顯示各種組織不會采取“選擇一個”的辦法,而是使用多個配置工具,絕大多數Docker的使用者至少會使用一個配置工具。
許多Docker使用者預測如果使用者在裸機上使用Docker,那么虛擬化廠商會處于危險之中。這個預測雖然沒有實現,但調查顯示更多的Docker用戶將來可能跳過VM層。相似的,雖然傳統的Linux發行版仍在容器領域中堅守陣地,但是新的精簡操作系統正在蠶食他們的市場份額,隨著時間的推移,精簡操作系統幾乎一定會奪得市場。
目前人們對Docker寄予厚望,歐洲在Docker的使用上領先于北美,同時Docker在亞洲的使用量將會增加。隨著人們對Docker興趣的增加,公司會迫于壓力來獲得Docker的專業知識。
事實上,缺乏實踐經驗是公司使用Docker最大的挑戰之一,因此在2016年,針對容器最需要做的事情是提高容器的教育和實踐水平。