《管見(jiàn)》向萬(wàn)紅:ECP平臺(tái)Ready云原生
- 時(shí)間:2020-04-24
- 來(lái)源:遠(yuǎn)光軟件
《管見(jiàn)》第二期
作者:向萬(wàn)紅
遠(yuǎn)光軟件股份有限公司副總裁
云原生是構(gòu)建和運(yùn)行應(yīng)用程序的方法,是一套技術(shù)體系和方法論,因其在設(shè)計(jì)階段就考慮到應(yīng)用未來(lái)會(huì)運(yùn)行在云環(huán)境上,可以充分利用云平臺(tái)的彈性擴(kuò)展、分布式等優(yōu)勢(shì),更加快速的創(chuàng)新和低成本的試錯(cuò),獲得了用戶的肯定。據(jù)悉,很多大型集團(tuán)客戶已直接將云原生納入到新建系統(tǒng)技術(shù)準(zhǔn)入條件,也有越來(lái)越多的企業(yè)正準(zhǔn)備采用云原生進(jìn)行系統(tǒng)開(kāi)發(fā)。
近年來(lái),云原生被概括為微服務(wù)架構(gòu)、容器化、DevOps和持續(xù)交付四大要點(diǎn)。
一微服務(wù)架構(gòu)
我們?cè)谧鱿到y(tǒng)架構(gòu)設(shè)計(jì)時(shí),一般會(huì)將一個(gè)復(fù)雜的系統(tǒng)拆分成若干個(gè)子系統(tǒng),分塊完成子系統(tǒng)的設(shè)計(jì)。在過(guò)往開(kāi)發(fā)實(shí)現(xiàn)時(shí),常將所有的子系統(tǒng)的數(shù)據(jù)庫(kù)表放在一個(gè)庫(kù),直接SQL關(guān)聯(lián)其他子系統(tǒng)的數(shù)據(jù)庫(kù)表,直接依賴接口調(diào)用其他子系統(tǒng)服務(wù)。這樣實(shí)現(xiàn)的系統(tǒng)是單體的,只能整體交付,無(wú)法按子系統(tǒng)分開(kāi)部署。微服務(wù)架構(gòu)則充分體現(xiàn)了低耦合和高內(nèi)聚的設(shè)計(jì)思想,對(duì)業(yè)務(wù)系統(tǒng)進(jìn)行細(xì)粒拆分,分而治之,有效降低業(yè)務(wù)系統(tǒng)復(fù)雜性。每個(gè)微服務(wù)只提供某一領(lǐng)域的業(yè)務(wù)能力,對(duì)外唯一的訪問(wèn)方式就是其對(duì)外發(fā)布的服務(wù)API。微服務(wù)開(kāi)發(fā)團(tuán)隊(duì)在遵從接口契約不變的約束下,可以自主管理、自主優(yōu)化。微服務(wù)化同時(shí)也會(huì)對(duì)企業(yè)技術(shù)架構(gòu)提出新的挑戰(zhàn),例如:根據(jù)需要拆成多個(gè)微服務(wù)運(yùn)行,導(dǎo)致基礎(chǔ)設(shè)施的維護(hù)成本高;整個(gè)應(yīng)用分布在多個(gè)微服務(wù)中,定位故障更加困難;跨服務(wù)調(diào)用時(shí),由于不在同一個(gè)事務(wù)中運(yùn)行,容易產(chǎn)生分布式事務(wù),出現(xiàn)數(shù)據(jù)不一致問(wèn)題;跨域數(shù)據(jù)訪問(wèn),有別于傳統(tǒng)SQL關(guān)聯(lián)查詢,需要調(diào)用服務(wù),在內(nèi)存中拼裝數(shù)據(jù),增加查詢的復(fù)雜度。遠(yuǎn)光ECP為企業(yè)提供了應(yīng)用托管和微服務(wù)管理能力。以應(yīng)用為中心,提供簡(jiǎn)化部署、快速擴(kuò)容、監(jiān)控和運(yùn)維等應(yīng)用生命周期管理工作。遠(yuǎn)光ECP集成了TCC和Seata分布式事務(wù)框架,大幅度降低了分布式事務(wù)的開(kāi)發(fā)難度,同時(shí)提供集中配置、服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、服務(wù)路由、服務(wù)治理和服務(wù)監(jiān)控等微服務(wù)管理和監(jiān)控能力。
二容器化
在微服務(wù)架構(gòu)下,一個(gè)復(fù)雜的應(yīng)用系統(tǒng)可能由數(shù)十甚至數(shù)百個(gè)微服務(wù)組成,且其中高頻訪問(wèn)的微服務(wù)還需要部署成集群。傳統(tǒng)的運(yùn)維方式難以支撐大型企業(yè)應(yīng)用系統(tǒng)的運(yùn)維。利用容器化技術(shù),將微服務(wù)打包成容器,便捷地支持微服務(wù)架構(gòu)實(shí)現(xiàn)應(yīng)用的自動(dòng)化,更加靈活的應(yīng)對(duì)變化和彈性擴(kuò)展;利用容器的可遷移性,幫助企業(yè)更便捷的上云和遷云,讓應(yīng)用在自有數(shù)據(jù)中心和云端實(shí)現(xiàn)動(dòng)態(tài)遷移。遠(yuǎn)光ECP提供了Docker容器的生命周期管理,利用容器技術(shù)和服務(wù)編排打造大規(guī)模、多集群、跨地域\跨團(tuán)隊(duì)、業(yè)務(wù)應(yīng)用一鍵式部署、灰度發(fā)布等功能,并通過(guò)極簡(jiǎn)的人機(jī)交互無(wú)縫鏈接遠(yuǎn)光ECP其他模塊產(chǎn)品,提供彈性、高效、便捷的平臺(tái)服務(wù),助力系統(tǒng)架構(gòu)微服務(wù)化、高效運(yùn)維。
三DevOps
在VUCA時(shí)代,隨著外部環(huán)境變化和市場(chǎng)競(jìng)爭(zhēng)的加劇,每個(gè)企業(yè)都在思考如何更快速交付有價(jià)值的服務(wù)給客戶。DevOps作為一種全新的軟件研發(fā)管理模式,正是在這種背景下誕生的,它強(qiáng)調(diào)研發(fā)組織內(nèi)部不同角色的溝通、盡可能的自動(dòng)化一切操作,不斷的獲得反饋以尋找提升效能的機(jī)會(huì)。遠(yuǎn)光ECP是遵循DevOps理念及技術(shù)體系,凝聚了遠(yuǎn)光多年在軟件工程實(shí)踐和研發(fā)管理領(lǐng)域的探索和實(shí)踐經(jīng)驗(yàn)而生。能為企業(yè)的研發(fā)團(tuán)隊(duì)提供項(xiàng)目管理、產(chǎn)品設(shè)計(jì)、開(kāi)發(fā)編碼、代碼托管、測(cè)試管理、持續(xù)集成等的一站式協(xié)同研發(fā)服務(wù),幫助企業(yè)規(guī)范化管理研發(fā)過(guò)程,持續(xù)提升研發(fā)效率和質(zhì)量,先進(jìn)的軟件工作技術(shù)使復(fù)雜的研發(fā)工作更簡(jiǎn)單。
四持續(xù)交付
開(kāi)發(fā)人員在代碼提交后,由構(gòu)建服務(wù)自動(dòng)完成代碼的構(gòu)建、質(zhì)量工具掃描、單元測(cè)試和集成測(cè)試;自動(dòng)將驗(yàn)證后的程序部署到測(cè)試環(huán)境,完成不同產(chǎn)品版本、不同數(shù)據(jù)庫(kù)環(huán)境、不同瀏覽器版本的自動(dòng)化測(cè)試;自動(dòng)將通過(guò)自動(dòng)化測(cè)試后的程序灰度部署到生產(chǎn)環(huán)境。DevOps小步快跑的形式幫助企業(yè)盡快獲取客戶反饋,發(fā)現(xiàn)問(wèn)題的時(shí)間短,修復(fù)缺陷的成本小。遠(yuǎn)光ECP通過(guò)自動(dòng)化、標(biāo)準(zhǔn)化\定制化的流水線,幫助研發(fā)團(tuán)隊(duì)可以一鍵式、高效、持續(xù)地將穩(wěn)定的服務(wù)\產(chǎn)品快速推上線,讓研發(fā)團(tuán)隊(duì)提高工作效率,更快地得到用戶的反饋,從而更快速的響應(yīng)客戶需求或市場(chǎng)變化。
遠(yuǎn)光ECP(企業(yè)云平臺(tái))作為企業(yè)級(jí)云服務(wù)基礎(chǔ)平臺(tái),是遠(yuǎn)光軟件從多年、跨地域、上千人研發(fā)團(tuán)隊(duì)的協(xié)同軟件研發(fā)實(shí)踐中,提煉總結(jié)出的設(shè)計(jì)模型、業(yè)務(wù)模式、開(kāi)發(fā)框架及研發(fā)管理模式,集設(shè)計(jì)、開(kāi)發(fā)、集成、實(shí)施、應(yīng)用、治理于一體的企業(yè)云平臺(tái)。遠(yuǎn)光ECP平臺(tái)已經(jīng)推出云原生應(yīng)用解決方案,全面支持云原生應(yīng)用,為加速企業(yè)數(shù)字化轉(zhuǎn)型,實(shí)現(xiàn)更好地創(chuàng)新發(fā)展All Ready!