平時,我們可能都看慣了IDC、Gartner或其他第三方市場分析公司給出的各種類型的預測和統計報告,這些報告中透露出的關于技術發展、企業的市場地位等信息經常成為IT人的談資。一家專門從事高端客戶軟件外包開發的企業Thoughtworks搞了一份很“另類”的技術調查報告——技術雷達,通過Thoughtworks的專家與第一線開發者的直接接觸,歸納出許多時髦技術在企業中落地的情況。
2016年4月公布的最新一期技術雷達報告顯示,在平臺類產品中,Docker位于“采用”象限,而歷史更悠久、在企業級應用中更為知名的Pivotal Cloud Foundry只位于“試驗”象限,這多少讓人有點“跌眼鏡”。
這里有必要先解釋一下技術雷達報告中給出的軟件應用不同階段的評級。評級分成四類:由淺入深分別是暫緩、評估、試驗、采用四個階段。Docker被歸為“采用”階段,意為在適合的項目中,強烈建議采用此技術。Pivotal Cloud Foundry所處的“試驗”階段,意為值得追求的技術,企業可以在風險可控的項目中嘗試采用此技術。
PaaS還在進化
Docker是PaaS提供商dotCloud開源的一個基于LXC的高級容器引擎。從2013年開始,Docker迅速成了開源界的“網紅”,其風頭一度蓋過了OpenStack。技術雷達報告對Docker的評估也表明,萬事俱備,Docker可以滿足企業級用戶的應用需求。
大家也都清楚,雖然Docker與Cloud Foundry這兩類平臺之間有千絲萬縷的聯系,但畢竟是不同的產品,不適宜直接進行比較,技術雷達給出Docker、Cloud Foundry不同的評級,其初衷也不是比較這兩類產品的優劣,而是根據目前一線用戶對這些技術的認可度、使用情況給出審慎的建議而已。觀者也不必對號入座。
對于為什么只給了Cloud Foundry“試驗”的評級,Thoughtworks中國區首席技術專家徐昊解釋說:“技術雷達報告主要是從實踐者的角度,對某一技術的成熟度,以及與企業業務的相關性等維度上進行評估。我們接觸的一線使用者反饋,他們感覺Cloud Foundry的安裝和部署有些麻煩,在與研發流程對接時,還有一些‘坑’(不完善的地方)要填補。”
本期的技術雷達對當前PaaS的進展也給出了中肯的評價。現在,很多大型機構將云計算和PaaS看作一種標準化基礎設施、簡化部署和運營、提高開發人員生產力的顯而易見的方法。但是技術雷達卻認為,上述企業的這一看法顯然過于激進,目前PaaS的定義仍然模糊不清,很多PaaS方法并不完整,或受到不成熟的框架和工具影響,導致有些PaaS解決方案讓原來在IaaS上很容易實現的事變得更加復雜。雖然,很多公司采用現成的PaaS或自己構建PaaS,取得了不同程度的成功,但是PaaS并不是最終態,它只是進化之路上的一個階段而已。
技術雷達認為,雖然企業用戶在向云和PaaS遷移的過程中獲得了很多益處,但仍面臨許多困難和挑戰,特別是在整體流水線的設計和工具的使用方面。
徐昊對于PaaS的一些理解讓記者耳目一新。徐昊認為,PaaS對于企業業務的發展來說是友好的,而對于工程師來說則不夠友好。為什么這么說呢?一些高級程序員,他們的興趣點在技術上,所以他們寧愿作PaaS的構建者,而不愿意只作PaaS的使用者。但是現在的企業,更希望通過PaaS消除技術“周邊環境”的不利因素,讓程序員將更多的精力放在與業務直接相關的開發上,而不必關注業務以外更多的技術因素。這樣做顯然更有利于企業業務的開發、測試和應用,給企業帶來直接的效益,但能否讓程序員擁有最大程度的滿足感呢?“PaaS的出現屏蔽了技術上的復雜度,允許程序員只要具備一部分的技術能力便可以在PaaS上進行開發,這實際上降低了對程序員在技術方面的要求。”徐昊表示,“PaaS技術人員其實可以分成兩類:一類是PaaS的使用者,另一類是PaaS的構建者。現在,企業內大多數的PaaS技術人員只是PaaS的使用者。”
一家第三方市場分析公司所做的調查顯示:目前39.1%企業已經采用了PaaS,另有20.3%的企業計劃在未來一年內采用PaaS。PaaS雖然可以給企業帶來顯而易見的價值,但在實際使用過程中,企業用戶仍要仔細評估,認真對待。
Docker進入生產系統
互聯網公司與企業級用戶在技術選型上有很大不同。對待一項新技術,互聯網公司的通常做法是,只要感覺好,就馬上拿來應用,如果在實際應用過程中出現問題或失敗,再進行調整,或換用其他技術。技術雷達為什么將軟件的采用過程分成“暫緩、評估、試驗、采用”四個階段,就是因為企業級用戶在對待新技術時非常小心謹慎,通常要經過長時間的評估和測試,在技術比較成熟時才投入生產系統。
正因為技術雷達面向的是企業用戶群體,所以一些與Docker一樣風頭正勁的技術可能早就在互聯網公司那里成了“香餑餑”,而在技術雷達的評估中,大多數仍處于“試驗”、“評估”等階段,遠未達到可以在企業生產系統中廣泛“采用”的程度,這其中包括處于“試驗”階段的Kubernetes,以及處于“評估”階段的開源存儲Ceph、Mesosphere DCOS等。
話說回來,對于Docker,技術雷達還是比較推崇的。技術雷達中是這樣描述容器技術發展的:容器技術,特別是Docker,已經被證實是一種有效的應用管理技術,它方便了不同環境的應用程序部署,解決了“在這里正常工作,但在別的環境不行”這類問題。Docker的應用已經超越了開發、測試環境,進入了生產環境。
Thoughtworks的技術專家歸納了Docker的幾大優勢:一次構建,隨處可用;性能好,秒級啟動,完勝VM(虛擬機);可以實現基礎設施即代碼……Docker是一種全新的高效的交付方式,可以將應用分發到任意的環境中。
在2016年4月公布的最新一期技術雷達報告中,Docker之所以被強烈推薦,是因為Docker的整個生態環境比較完善,已經可以滿足企業級用戶生產系統所需。Thoughtworks技術專家進一步解釋說,Docker已具備服務發現、服務編排、分布式存儲、滾動升級、快速災難恢復、橫向動態擴展、集群資源統一調度、健康檢查、負載均衡、多級監控和中心日志收集、安全等企業級用戶所需的功能和特性,可以放心采用。
對于目前比較流行的Mesosphere DCOS、Kubernetes,以及后起之秀Rancher,Thoughtworks的技術專家也談了自己的看法。從技術的角度看,Mesosphere DCOS目前已經很成熟。Mesosphere公司不久前剛剛獲得了惠普等公司7350萬美元的戰略性投資,估值超過10億美元,成了令人艷羨“獨角獸”公司。國內與Mesosphere對標的數人云公司也完成了A輪融資,目前正致力于將DCOS推廣到企業級用戶中。技術雷達給Mesosphere DCOS的評及是“評估”,意為為了確認它可能給企業帶來的影響,值得作一番研究。
Kubernetes是Google的開源容器集群管理系統,也受到了業界的熱捧。技術雷達顯示,Kubernetes目前已經到了“試驗”階段。Thoughtworks的技術專家認為,Kubernetes與Mesosphere DCOS比較類似,在部署和運維方面已做得十分精細,可以用于企業級應用。目前,Kubernetes最大可以支持1000個節點、3萬個容器。
與Mesosphere DCOS背后有微軟、惠普等大公司撐腰,Kubernetes背靠Google、紅帽等大樹相比,Rancher并不起眼。不過,Rancher一開始的定位就是企業級的容器,是一個大而全的系統,不僅有自己的核心調度系統,也可以支持其他廠商的調度系統。Rancher當前最大的問題就是如何吸引更多企業用戶的注意。
以上不同的容器系統,各有所長,但也有不足之處。企業應持續關注,并進行仔細評估,選擇能夠給自己帶來最大價值的產品。
Thoughtworks的技術專家提醒企業用戶,在進行軟件升級的過程中要注意以下幾個問題:在升級的準備過程中,以及維護各種環境時,可能會浪費大量時間;升級軟件的流程通常比較復雜,環境管理工作也比較繁瑣;企業歷史遺留系統的升級和應用遷移工作十分困難;基礎設施的維護和擴展可能存在不安全、低效等問題。
開源軟件進入良性循環
現在,開源技術的地位相較以前已經有了很大提升。對于很多企業來說,開源軟件已經不是可選項,而是必選項。技術雷達認為,開源軟件已經進入了良性發展的循環。軟件開發生態系統正在發生巨變,開源軟件的作用不容忽視。
徐昊以自己的親身經歷說明:“以前,企業用戶采購軟件時,商業軟件一直是默認選項,如果哪個企業考慮開源軟件,會受到各方面的質疑。現在,情況正好相反,絕大多數企業都會優先選擇開源軟件,如果哪個企業要選擇商業軟件,會被要求解釋原因,為什么不能用開源軟件解決問題。實踐證明,開源軟件更高效,企業在使用開源軟件時也比以前更放心。”