近幾年,隨著云計算、移動化等技術(shù)的廣泛應(yīng)用和普及,IT行業(yè)進(jìn)入快速演進(jìn)階段,軟件的應(yīng)用開發(fā)也在其中。一個最直接的體現(xiàn)就是,容器、微服務(wù)、DevOps、CI/CD、CaaS、云原生應(yīng)用等一個個熱詞不斷涌現(xiàn),而且?guī)缀趺恳粋都引起了廣泛關(guān)注。這些熱詞背后折射出的正是整個軟件開發(fā)領(lǐng)域的巨大變化,這一變化直接引發(fā)了新一代應(yīng)用開發(fā)平臺的誕生,而新一代應(yīng)用開發(fā)平臺的誕生反過來又進(jìn)一步推動了軟件開發(fā)和應(yīng)用領(lǐng)域的這一輪變革。
數(shù)字化轉(zhuǎn)型大潮中的軟件開發(fā)與交付
萬事皆有因果,軟件開發(fā)領(lǐng)域的這些變化也是如此。促使這一變化的最重要原因是外界市場環(huán)境的變化,比如,一浪高過一浪的企業(yè)數(shù)字化轉(zhuǎn)型大潮。市場環(huán)境的變化使得業(yè)務(wù)需求發(fā)生了變化,業(yè)務(wù)部門對軟件提出的需求也變化了,軟件開發(fā)和部署以及運(yùn)維方法相應(yīng)地就得變化。
“每一個技術(shù)變革都有一個大的時代背景。這一輪變革的大背景是從2010年開始,全球進(jìn)入以客戶為中心的時代,這個時代的客戶擁有更大的話語權(quán),他們可以通過自己的手持設(shè)備方便地訪問他們所需的產(chǎn)品和服務(wù),他們還可以非常方便地在社交平臺發(fā)表意見去影響企業(yè)品牌。在這種背景下,每個企業(yè)都開始進(jìn)行數(shù)字化轉(zhuǎn)型。”Forrester大中華區(qū)首席分析師戴鯤表示。
企業(yè)數(shù)字化轉(zhuǎn)型壓力傳遞到軟件開發(fā)領(lǐng)域,就要求開發(fā)過程必須足夠敏捷,因為每個企業(yè)都需要加速軟件的交付過程,與此同時還要能夠保證軟件質(zhì)量以及靈活性,只有這樣企業(yè)才能快速試錯,不斷推出新的產(chǎn)品和服務(wù),搶占市場。
紅帽應(yīng)用開發(fā)產(chǎn)品線產(chǎn)品經(jīng)理蔡書和記者分享了一個段子:有一家位于美國底特律的傳統(tǒng)汽車制造業(yè),企業(yè)的CEO帶著CIO去了一趟加州的硅谷,參觀完幾家做自動駕駛和電動汽車的公司,在回來的路上他問自己的CIO,為什么這些公司能在兩個月就把想要的功能做出來,而我們的企業(yè)去年的想法現(xiàn)在還在計劃當(dāng)中。
在這個段子中,底特律的公司和硅谷的公司代表了企業(yè)在創(chuàng)新能力上的兩個極端,它們之間的一個重要差距在于前者無法快速交付出想要的產(chǎn)品和服務(wù)。“在今天激烈的市場競爭中誰能更敏捷,誰就更有競爭力。”蔡書表示。
由于傳統(tǒng)技術(shù)很難實現(xiàn)所要的這種敏捷和靈活,這就要求企業(yè)必須尋找新興技術(shù)來應(yīng)對新的要求。因此,這種技術(shù)一出現(xiàn)就很容易地受到市場的追捧,哪怕這些技術(shù)的成熟度可能還不夠,還仍然處于快速發(fā)展過程中。這也就是如今各種開源軟件大受歡迎的重要原因。
實際上,在軟件開發(fā)和部署領(lǐng)域里,開源軟件正在成為技術(shù)創(chuàng)新的最大推動力之一。“無開源,不創(chuàng)新”這句不少開源人士的口頭禪也正在成為事實。比如,如今大紅大紫的容器就是一種開源軟件,微服務(wù)、DevOps等很多先進(jìn)的開發(fā)理念也正是借助開源軟件才真正落地。
容器應(yīng)用平臺受歡迎
當(dāng)企業(yè)尤其是很多傳統(tǒng)企業(yè),在選擇諸如容器等各種開源技術(shù)來進(jìn)行云原生應(yīng)用的開發(fā)時,它們卻普遍遇到了不小的挑戰(zhàn)。
蔡書結(jié)合自己的體會告訴記者,除了一部分具有雄厚技術(shù)實力的互聯(lián)網(wǎng)企業(yè)之外,大部分的普通企業(yè)在進(jìn)行云原生應(yīng)用開發(fā)時都要面對兩個困難:一是如何選擇,比如,在容器技術(shù)上要選擇哪個?容器編排引擎要選擇什么?對于尚在快速發(fā)展過程中的技術(shù),技術(shù)積累不夠的企業(yè)要結(jié)合自己的業(yè)務(wù)需求做出最佳的選擇并不是一件容易的事情。另一個問題是在做出前面的選擇之后,如何將所選擇的各種技術(shù)整合到一起。這也就涉及到應(yīng)用開發(fā)平臺的問題。
“要讓容器等各種先進(jìn)的軟件技術(shù)在企業(yè)中落地,有一個支撐性的應(yīng)用開發(fā)平臺非常重要,這就是現(xiàn)在新一代應(yīng)用開發(fā)平臺受到市場關(guān)注的原因。”蔡書表示。
他解釋說,這個支撐平臺需要把所有技術(shù)集成到一起作為一個整體提供給用戶。比如,這個平臺要幫助企業(yè)了解目前自己有多大的可用容量,還要能對日志、軟件的運(yùn)行進(jìn)行監(jiān)控等。
而用戶需求是市場最好的催化劑,包括紅帽在內(nèi)的不少公司開始提供整合的應(yīng)用開發(fā)平臺——面向容器技術(shù)的新一代應(yīng)用開發(fā)平臺。Forrester曾經(jīng)對這些應(yīng)用開發(fā)平臺進(jìn)行過深入研究。戴鯤告訴至頂網(wǎng)記者,從最早的Paas到今天的CaaS,新一代應(yīng)用開發(fā)平臺一直在不斷演進(jìn)。根據(jù)Forrester的研究,為了滿足快速、敏捷交付軟件,新一代應(yīng)用開發(fā)平臺需要具備以下特點(diǎn):
- 首先,一個現(xiàn)代的應(yīng)用開發(fā)平臺需要具有很全面的支持能力,比如開發(fā)語言的獨(dú)立性,具有分布式架構(gòu),能快速進(jìn)行封裝、快速實現(xiàn)軟件的交付。
- 第二,能夠滿足現(xiàn)代企業(yè)對應(yīng)用高彈性、高密度的部署要求,而且能支持不同的技術(shù)架構(gòu)。
- 第三,具備企業(yè)級的運(yùn)營和治理能力,比如具有監(jiān)控和運(yùn)維告警能力,以及和其他框架的整合,這個整合包括向下整合不同的基礎(chǔ)設(shè)施資源,向上整合各種大數(shù)據(jù)應(yīng)用框架。
而紅帽的OpenShift也正是因為上述這些能力而被市場認(rèn)可。OpenShift是紅帽2015年推出的一個PaaS平臺,隨著容器的升溫,紅帽逐步強(qiáng)化了對容器技術(shù)的支持,特別是對Kubernetes(K8s)的全面支持,其定位也從最初的PaaS轉(zhuǎn)變成為容器平臺。由于同時擁有PaaS和K8s兩大屬性,再加上紅帽本身的市場影響力使得OpenShift很快成為容器開發(fā)和部署時最主要的支撐平臺。
對多云環(huán)境的支持需求開始凸顯
如上所述,對于新一代的應(yīng)用開發(fā)平臺而言,全面的支持能力是非常重要的,其中也包括多云環(huán)境的支持,這一點(diǎn)之前并沒有引起很多人注意,而如今開始逐漸凸顯出來。
實際上,IT系統(tǒng)正在不斷云化,從底層的硬件基礎(chǔ)設(shè)施一直到上面的應(yīng)用都在云化,這是個不爭的事實。而另一方面,云也開始呈現(xiàn)出多樣性,不僅有公有云和私有云之分,還有不同的公有云(比如,同時有阿里云和騰訊云)和不同私有云(如同時有vSphere云和KVM云)。這就是使得軟件開發(fā),特別是云原生應(yīng)用的開發(fā),必須面向這樣的一個多云環(huán)境。
“這是一個普遍性的需求,即使在國外有AWS在公有云市場占有絕對領(lǐng)先地位,也同時存在很多細(xì)分市場。在中國云服務(wù)市場還處在群雄混戰(zhàn)的階段,這一需求就更明顯。”戴鯤表示。
云服務(wù)市場既然存在更多選擇,那么如何在多云環(huán)境下保證軟件的體驗、效率,以及要遷移時如何順利遷移就是新一代應(yīng)用開發(fā)平臺必須考慮的問題。當(dāng)然,市場上可以的各種應(yīng)用開發(fā)平臺也在努力。
以紅帽的OpenShift為例,蔡書透露,紅帽有考慮多云環(huán)境,并做了很多工作,其具體辦法就是建立一個中間層解耦,用這個中間層來兼容其他不同的云。比如,在K8s里好多面向公有云平臺的插件,如它和AWS的插件、它和GCE的插件等,都是紅帽主導(dǎo)開發(fā)的。
“紅帽的愿景就是,確?蛻舻膽(yīng)用程序可以運(yùn)行在任何的環(huán)境,并保持一致的用戶體驗,為此紅帽會不斷努力,OpenShift中對容器、對多云環(huán)境、對K8s的支持都是基于這一目的。”蔡書說,“比如最近紅帽與AWS擴(kuò)展戰(zhàn)略聯(lián)盟合作,將AWS服務(wù)引入紅帽O(jiān)penShift容器平臺,只需點(diǎn)擊幾下鼠標(biāo),企業(yè)用戶就能直接從紅帽 OpenShift控制臺中無縫地配置和部署一系列AWS服務(wù)。”
蔡書同時也提醒說,新一代應(yīng)用開發(fā)平臺還是一個新生事物,未來也有些不確定性,但可以肯定的是,以容器為基礎(chǔ)的云原生應(yīng)用平臺是一個未來的發(fā)展趨勢。這一點(diǎn)也得到了戴鯤的高度認(rèn)可。
“每一個架構(gòu)師、每一個開發(fā)人員,對于新一代應(yīng)用開發(fā)平臺,都應(yīng)該以一種積極的心態(tài)去擁抱,同時也要以一種全面的視角去系統(tǒng)化評估我們的解決方案,從而幫助我們的企業(yè)加速數(shù)字化的進(jìn)程。”戴鯤說,這才是軟件領(lǐng)域從業(yè)者乃至CTO、C IO對待新一代應(yīng)用開發(fā)平臺的正確“姿勢”。