云原生集成開發(fā)環(huán)境——TitanIDE
通過網(wǎng)頁在任何地方更安全、更高效地編碼2022-04-11
767
相較與工業(yè)制造領(lǐng)域,我國的軟件研發(fā)基本還是處于“刀耕火種”的時(shí)代,面臨著多重“傳統(tǒng)”問題:
1、研發(fā)人員被迫掌握Docker/K8s等底層技術(shù),無法專業(yè)聚焦業(yè)務(wù)創(chuàng)新研發(fā)。
目前企業(yè)普遍采用云原生技術(shù)支撐數(shù)字化轉(zhuǎn)型和數(shù)字化業(yè)務(wù)創(chuàng)新,在內(nèi)部實(shí)施DevOps,Ops前移到Dev部門,迫使應(yīng)用研發(fā)人員學(xué)習(xí)掌握Docker、K8S等底層云原生技術(shù)。一方面增加了應(yīng)用研發(fā)人員學(xué)習(xí)的成本和學(xué)習(xí)門檻,同時(shí)也增加了人員招聘的難度。
2、單體架構(gòu)傳統(tǒng)架構(gòu)普遍存在,微服務(wù)架構(gòu)落地困難重重。
微服務(wù)是基于基礎(chǔ)云技術(shù)構(gòu)建的,可以在公有云、私有云、混合云和多云環(huán)境中以相同的方式構(gòu)建、運(yùn)行和管理微服務(wù)。微服務(wù)無需大量工作就能進(jìn)行增量更新或擴(kuò)展以滿足計(jì)劃內(nèi)或計(jì)劃外的流量激增。微服務(wù)的好,已經(jīng)眾所周知了。
但是由于微服務(wù)架構(gòu)的復(fù)雜性,企業(yè)想要管理好基于微服務(wù)架構(gòu)的應(yīng)用,也需要具備更高的能力。單單只是進(jìn)行微服務(wù)的治理,已經(jīng)顯得有點(diǎn)單薄,無法解決企業(yè)的癥結(jié)。企業(yè)的IT管理者開始重視微服務(wù)從定義、開發(fā)、質(zhì)量到使用的全方位管理,另外由于微服務(wù)架構(gòu)具備的復(fù)用性優(yōu)勢,在企業(yè)中建立微服務(wù)的運(yùn)營能力也成為了一種訴求。
3、常見煙囪式業(yè)務(wù)建設(shè),研發(fā)重復(fù)投入大。
企業(yè)內(nèi)部 IT 建設(shè) “煙囪”模式多,每個(gè)部門甚至每個(gè)應(yīng)用都相對獨(dú)立,煙囪式建設(shè)不可避免產(chǎn)生重復(fù)造輪子問題。
各應(yīng)用獨(dú)立研發(fā)建設(shè),無法做到能力復(fù)用,例如認(rèn)證鑒權(quán)能力、對接支付能力、消息推送能力、人臉識(shí)別能力等。
各應(yīng)用研發(fā)團(tuán)隊(duì)除了需要研發(fā)應(yīng)用邏輯,還需要研發(fā)公共技術(shù)能力,例如分布式、高可用、自動(dòng)化能力、中間件、限流、降級(jí)等,造成大量的研發(fā)浪費(fèi)。
各應(yīng)用煙囪式,獨(dú)立使用、管理IT資源,造成資源被大量占用且難以共享。
4、研發(fā)管理雜亂,業(yè)務(wù)平滑、穩(wěn)定交接存在硬傷。
傳統(tǒng)軟件架構(gòu)圖保存在文檔中或者沒有,經(jīng)過多個(gè)版本迭代后,生產(chǎn)環(huán)境運(yùn)行的軟件架構(gòu)跟文檔已嚴(yán)重不一致,由于人員變動(dòng),新加入的團(tuán)隊(duì)成員很難理清軟件架構(gòu)、也很難對軟件進(jìn)行更新和維護(hù),給應(yīng)用的研發(fā)創(chuàng)新和研發(fā)管理都造成了一定程度的困擾。
綜合以上多個(gè)傳統(tǒng)遺留下來的研發(fā)問題,我們可以推論出未來軟件研發(fā)的變革趨勢。
一、模塊化, 用他人生產(chǎn)的輪子,而不是自己重復(fù)造輪子
1、構(gòu)建企業(yè)模塊商店,在編碼前先查看,尋找合適的數(shù)據(jù)庫、中間件、AI和大數(shù)據(jù)、業(yè)務(wù)組,盡量多的重用。
2、通過可視化模塊組裝,像搭積木一樣進(jìn)行軟件架構(gòu)計(jì);
3、形成企業(yè)內(nèi)共創(chuàng)協(xié)同機(jī)制,共同推進(jìn)各類模塊的演進(jìn),形成日益豐富的數(shù)字化積累。
二、標(biāo)準(zhǔn)化, 標(biāo)準(zhǔn)執(zhí)行是加強(qiáng)規(guī)范性和提高復(fù)用性的重要基礎(chǔ)
形成開發(fā)模板和任務(wù)分發(fā)機(jī)制,通過開發(fā)模板把企業(yè)常用的規(guī)范進(jìn)行打包,架構(gòu)師設(shè)計(jì)好整體架構(gòu)后分派任務(wù)給不同開發(fā)組;
2、形成API統(tǒng)一管理能力并制定相關(guān)測試用例,定義好每個(gè)服務(wù)接口的API規(guī)范及相關(guān)測試用例,對下游開發(fā)成果進(jìn)行強(qiáng)約束。
3、模塊研發(fā)人員以接口規(guī)范為開發(fā)契約,甚至不需要知道最終服務(wù)于何類業(yè)務(wù)。
三、自動(dòng)化, 配套工具是讓研發(fā)人員聚焦提效的重要手段
1、打造一站式開發(fā)環(huán)境,新成員的開發(fā)環(huán)境在云端一鍵創(chuàng)建,快速進(jìn)入開發(fā)狀態(tài),代碼編譯打包、底層依賴部署等由管理員提前配置好,按需自動(dòng)完成。
2、實(shí)現(xiàn)多云環(huán)境下靈活交付策略,無論是私有云還是公有云,無論是虛擬機(jī)環(huán)境還是容器,通過策略制定實(shí)現(xiàn)一鍵式統(tǒng)一交付。
3、建立自動(dòng)發(fā)現(xiàn)問題和排查問題機(jī)制,通過服務(wù)網(wǎng)格等技術(shù)實(shí)現(xiàn)SLO定義,發(fā)現(xiàn)問題后借助分布式跟蹤等機(jī)制排查問題。
四、建立一站式云原生開發(fā)平臺(tái)的必要性
未來為了實(shí)現(xiàn)、達(dá)成以上各項(xiàng)研發(fā)技術(shù)的變革,加速企業(yè)創(chuàng)新研發(fā),建立一套一站式云原生開發(fā)平臺(tái)是有所必要的。
樂魚創(chuàng)新CloudOS——一站式云原生開發(fā)平臺(tái)。
囊括了組件復(fù)用、標(biāo)準(zhǔn)制定、自動(dòng)化以及方法論(如DevOps)等各能力,并為未來新工藝接入做好準(zhǔn)備。
通過平臺(tái)帶來的數(shù)字化資產(chǎn)積累,降低對人的技能和認(rèn)知的依賴。
隨著云計(jì)算相關(guān)技術(shù)的發(fā)展,企業(yè)的軟件開發(fā)模式和基礎(chǔ)運(yùn)維模式都在發(fā)生轉(zhuǎn)變。這種轉(zhuǎn)變的發(fā)生,并不是每個(gè)企業(yè)都準(zhǔn)備好了。它們知道趨勢在哪,不改變意味是繼續(xù)低效率的開發(fā)和運(yùn)維;想要改變,則必須要配合相應(yīng)的新工具和平臺(tái);離開工具和平臺(tái)貿(mào)然改變,則會(huì)陷入開發(fā)和運(yùn)維低效、混亂的泥潭。但市場上,這樣的工具、平臺(tái)并不多,而且真正好用的少之又少。因此,很多企業(yè)在躊躇、徘徊,一直在尋找相關(guān)方案。行云CloudOS就是針對該問題的產(chǎn)品。