云原生集成開(kāi)發(fā)環(huán)境——TitanIDE
通過(guò)網(wǎng)頁(yè)在任何地方更安全、更高效地編碼2023-08-16
1690
背景
云原生時(shí)代已經(jīng)來(lái)臨,企業(yè)應(yīng)用上云不再是要不要做的問(wèn)題,而是什么時(shí)候做、如何做的問(wèn)題。
云原生狹義的理解,包含幾個(gè)核心:微服務(wù)、DevOps、CICD、容器。其核心理念是“面向服務(wù)”,將應(yīng)用拆分成多個(gè)小型、可獨(dú)立發(fā)布和升級(jí)的服務(wù),并使用容器技術(shù)進(jìn)行管理。通過(guò)這種方式,云原生應(yīng)用能夠更加高效、靈活地運(yùn)行和擴(kuò)展,同時(shí)也能夠更快地響應(yīng)業(yè)務(wù)變化。
相對(duì)其他幾個(gè)組成部分來(lái)說(shuō),微服務(wù)、CICD、容器這3個(gè)相對(duì)比較明確,而DevOps的定義其實(shí)比較含糊,因?yàn)镈evOps強(qiáng)調(diào)的是研發(fā)人員和運(yùn)維人員的目標(biāo)一致性,做到應(yīng)用的快速開(kāi)發(fā)快速交付,至于如何做到,并沒(méi)有標(biāo)準(zhǔn)的做法,對(duì)DevOps理解的差異導(dǎo)致了落地的千差萬(wàn)別。
同時(shí),引出了DevOps停滯背后的核心矛盾:開(kāi)發(fā)者不想跟基礎(chǔ)設(shè)施打交道,但企業(yè)在發(fā)展過(guò)程中又需要專人管控自己的基礎(chǔ)設(shè)施。在此背景下,平臺(tái)工程(platform engineering)應(yīng)運(yùn)而生。
Gartner發(fā)布2023年十大戰(zhàn)略技術(shù)趨勢(shì),“平臺(tái)工程”赫然在列。Gartner預(yù)測(cè),到2026年,80%的軟件工程組織將建立平臺(tái)團(tuán)隊(duì),其中75%將包含開(kāi)發(fā)者自助服務(wù)門(mén)戶。
如何理解平臺(tái)工程
Luca Galante將平臺(tái)工程定義為“設(shè)計(jì)和構(gòu)建工具鏈和工作流的學(xué)科,為云原生時(shí)代的軟件工程組織提供自助服務(wù)功能。平臺(tái)工程師提供的集成產(chǎn)品通常被稱為‘內(nèi)部開(kāi)發(fā)人員平臺(tái)(IDP)’,涵蓋了應(yīng)用程序整個(gè)生命周期的運(yùn)營(yíng)需求?!?
平臺(tái)工程作為一種重要的衍生出來(lái)的新領(lǐng)域,其主要任務(wù)是構(gòu)建一個(gè)支持云原生應(yīng)用的平臺(tái),提供與具體業(yè)務(wù)無(wú)關(guān)的通用功能,如自動(dòng)擴(kuò)展、負(fù)載均衡、日志、監(jiān)控、安全等。通過(guò)平臺(tái)工程,可以將應(yīng)用與平臺(tái)解耦,使得應(yīng)用能夠更加專注于業(yè)務(wù)邏輯,同時(shí)也能夠更好地利用平臺(tái)提供的底層能力。
總結(jié)一下,用大白話說(shuō),就是一群工程師做一個(gè)面向開(kāi)發(fā)者的平臺(tái),讓開(kāi)發(fā)者專注于業(yè)務(wù)開(kāi)發(fā),各種工具隨手可得,資源像洗衣機(jī)使用自來(lái)水一樣自動(dòng)匹配,應(yīng)用運(yùn)維簡(jiǎn)單易用。
其實(shí),平臺(tái)工程的理念與云原生的理念是高度契合的——以應(yīng)用為中心。
平臺(tái)工程的產(chǎn)品落地:CloudOS
以應(yīng)用為中心的內(nèi)部開(kāi)發(fā)人員平臺(tái)(IDP)應(yīng)該是什么樣子?先從企業(yè)應(yīng)用上云說(shuō)起。
企業(yè)應(yīng)用上云,從物理機(jī)到虛擬機(jī)到容器,容器做到了資源的快速創(chuàng)建和回收,容器讓服務(wù)器資源做到了跟自來(lái)水一樣擰開(kāi)水龍頭就有。
讓開(kāi)發(fā)者專注于應(yīng)用的云平臺(tái)應(yīng)該是如下的樣子,就是下圖中的應(yīng)用云,開(kāi)發(fā)者進(jìn)去看到就是應(yīng)用本身,開(kāi)發(fā)者針對(duì)應(yīng)用就行架構(gòu)設(shè)計(jì)、編碼、測(cè)試、交付、運(yùn)維,完全不關(guān)注資源,當(dāng)把一個(gè)應(yīng)用通過(guò)交付引擎交付到不同的容器資源池時(shí),自動(dòng)創(chuàng)建匹配的容器資源,就像一個(gè)洗衣機(jī)懟上了一個(gè)水龍頭接口,擰開(kāi)水龍頭就可以了。
CloudOS就是這樣的理念設(shè)計(jì)和實(shí)現(xiàn)的。
1、應(yīng)用對(duì)應(yīng)著CloudOS的項(xiàng)目,比如CRM項(xiàng)目,MES項(xiàng)目。
2、進(jìn)入項(xiàng)目里面,應(yīng)用設(shè)計(jì)對(duì)應(yīng)著CloudOS的架構(gòu)設(shè)計(jì)。
3、應(yīng)用開(kāi)發(fā)對(duì)應(yīng)CloudOS項(xiàng)目里面的“云端編碼”。
4、應(yīng)用交付對(duì)應(yīng)著CloudOS里面的一鍵發(fā)布,部署到各種容器資源池。
5、應(yīng)用測(cè)試對(duì)應(yīng)著CloudOS里面的測(cè)試。
6、應(yīng)用運(yùn)維對(duì)應(yīng)著CloudOS里面的應(yīng)用菜單,開(kāi)發(fā)人員可以在這里查看應(yīng)用的狀態(tài)、監(jiān)控信息、查看及查找日志、進(jìn)入終端、水平伸縮、設(shè)置告警、應(yīng)用升級(jí)等能力。
圍繞著應(yīng)用的整個(gè)生命周期,開(kāi)發(fā)人員面對(duì)的應(yīng)用,不需要面對(duì)云原生里面的K8s容器。
總結(jié)
雖然平臺(tái)工程是新概念,但是剝開(kāi)其外皮,內(nèi)核就是以應(yīng)用為中心,跟云原生的理念一模一樣,跟CloudOS的理念也一模一樣。我們相信這是應(yīng)用上云的趨勢(shì),這是云原生平臺(tái)該有的樣子,而不是一堆工具的雜亂堆積。