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