商業(yè)創(chuàng)新必選架構(gòu) 云原生的進(jìn)擊之路
作者:szlbt 日期:2020-12-22 閱讀()
2020年,在諸多不確定因素的影響下,全球經(jīng)濟(jì)受到巨大打擊。得益于數(shù)字化領(lǐng)先的企業(yè),可以更加快速應(yīng)對,從而減少損失。雖然受到了疫情的影響,但用友云服務(wù)業(yè)務(wù)卻在今年也取得了大幅增長。根據(jù)用友的財(cái)報(bào)顯示,今年前三季度,用友云服務(wù)業(yè)務(wù)(不含金融類云服務(wù))同比增長76.4%。
在云服務(wù)業(yè)務(wù)高速增長的背后,離不開技術(shù)創(chuàng)新的支持。相信,在大多數(shù)人的眼里,用友是一家軟件公司,主營業(yè)務(wù)更加集中在企業(yè)的業(yè)務(wù)應(yīng)用層。其實(shí)不然。
用友網(wǎng)絡(luò)副總裁兼iuap云平臺事業(yè)部總經(jīng)理?xiàng)铢i在接受51CTO采訪時(shí)表示,早在2006年,用友就開始在平臺層布局建設(shè),畢竟,承載著千萬企業(yè)的業(yè)務(wù)應(yīng)用架構(gòu),不是某個(gè)服務(wù)商的產(chǎn)品就可以直接滿足的。于是,用友選擇了自主打造高控制力的PaaS平臺,基于云原生技術(shù)架構(gòu),滿足企業(yè)業(yè)務(wù)快速交付、應(yīng)用服務(wù)化、運(yùn)維自動化等需求,實(shí)現(xiàn)業(yè)務(wù)快速創(chuàng)新,從而轉(zhuǎn)型成為數(shù)智化企業(yè)。
演進(jìn):軟件架構(gòu)的變遷
過去,企業(yè)中的架構(gòu)大都是單體架構(gòu),所有的計(jì)算資源、數(shù)據(jù)處理等全部集中在一個(gè)服務(wù)內(nèi)進(jìn)行,業(yè)務(wù)之間無需通信,所有業(yè)務(wù)之間的調(diào)用也都是在進(jìn)程內(nèi)完成。但是隨著業(yè)務(wù)需求不斷增加,單體架構(gòu)也變得更加臃腫,并發(fā)能力和擴(kuò)展能力都相對有限,單個(gè)服務(wù)若想快速迭代或者上線是無法滿足的。 為了緩解單體架構(gòu)的壓力,分布式架構(gòu)出現(xiàn)了。將大型、復(fù)雜的系統(tǒng)進(jìn)行功能拆分解耦為多個(gè)業(yè)務(wù)模塊,不同業(yè)務(wù)模塊部署在不同設(shè)備,以此來緩解集中式架構(gòu)的業(yè)務(wù)以及設(shè)備壓力。然而系統(tǒng)間的交互需要使用遠(yuǎn)程通信,開發(fā)增大工作量。 后來有了SOA面向服務(wù)架構(gòu),也是分布式架構(gòu)的一種落地方法,將應(yīng)用的不同服務(wù)進(jìn)行拆分,各個(gè)服務(wù)之間定義良好的接口和協(xié)議進(jìn)行調(diào)用,而這就需要企業(yè)服務(wù)總線ESB。ESB將消息進(jìn)行轉(zhuǎn)化、解釋以及路由等,讓不同服務(wù)互聯(lián)互通。雖然ESB可以解決公用邏輯的問題,但是ESB是中心化的,服務(wù)框架的擴(kuò)展能力有限,服務(wù)調(diào)用方式也會帶來業(yè)務(wù)的影響和擴(kuò)展成本。 隨著云計(jì)算的快速發(fā)展,底層資源也從原有的數(shù)據(jù)中心變成了公共服務(wù),微服務(wù)架構(gòu)隨之誕生。微服務(wù)架構(gòu)可以看做是SOA架構(gòu)的演進(jìn),也是一種分布式架構(gòu)。微服務(wù)架構(gòu)采用輕量化的網(wǎng)絡(luò)協(xié)議進(jìn)行調(diào)用,打破了SOA架構(gòu)下的服務(wù)總線的集中式限制。服務(wù)拆分后,每個(gè)服務(wù)高度自治,每個(gè)服務(wù)由獨(dú)立的團(tuán)隊(duì)進(jìn)行開發(fā)維護(hù)。微服務(wù)架構(gòu)能夠提升系統(tǒng)的穩(wěn)定性和性能,服務(wù)間的松耦合以及獨(dú)立團(tuán)隊(duì)的支撐,能夠降低系統(tǒng)間的耦合度、加快局部業(yè)務(wù)的創(chuàng)新。但微服務(wù)架構(gòu)下大量微服務(wù)的存在,對服務(wù)的配置管理、部署運(yùn)維、服務(wù)監(jiān)控等都帶來了很大挑戰(zhàn),云原生很好的解決了以上這些問題。 云原生是一個(gè)技術(shù)開發(fā)管理方法的集合,發(fā)展至今一直在不斷演進(jìn);它利于各組織在公有云、私有云和混合云等新型動態(tài)環(huán)境中,構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用;云原生以容器和Kubernetes為核心,解決了微服務(wù)應(yīng)用的部署、運(yùn)維、監(jiān)控、應(yīng)用遷移等問題。微服務(wù)與云原生相互促進(jìn)、相輔相成。盛行:云原生架構(gòu)如此追捧
云原生的概念最早是Paul Fremantle在2010年的一篇博客提及,后來到了2013年 Matt Stine在推特上迅速推廣云原生概念。2015年,由Linux基金會發(fā)起的云原生計(jì)算及基金會(The Cloud Native Computing Foundation,CNCF))成立,標(biāo)志著云原生正式進(jìn)入高速發(fā)展軌道。如今,CNCF更新的云原生定義包括微服務(wù)、DevOps、持續(xù)交付和容器化四大部分。
如今,云原生架構(gòu)普遍被企業(yè)所認(rèn)可,眾多企業(yè)也都開始加速云原生的落地實(shí)踐。為何云原生如此受到歡迎呢?楊鵬認(rèn)為,主要來自IT架構(gòu)轉(zhuǎn)型以及商業(yè)模式升級兩方面的需要。
傳統(tǒng)的IT架構(gòu)已經(jīng)無法滿足目前企業(yè)快速變化和高性能、高并發(fā)的要求,企業(yè)技術(shù)架構(gòu)在向互聯(lián)網(wǎng)、微服務(wù)架構(gòu)轉(zhuǎn)型;此外,云原生能夠很好地解決微服務(wù)架構(gòu)帶來的配置、部署、運(yùn)維、服務(wù)管理和監(jiān)控等方面的問題,降低研發(fā)部署復(fù)雜度。 隨著IaaS、PaaS、SaaS的深入發(fā)展,基礎(chǔ)計(jì)算資源、公共平臺能力、軟件服務(wù)能力的云化發(fā)展已經(jīng)成為新的IT商業(yè)模式;而云原生是PaaS的核心構(gòu)成、已經(jīng)實(shí)現(xiàn)對SaaS的事實(shí)支撐標(biāo)準(zhǔn)。 云原生的出現(xiàn),讓業(yè)務(wù)開發(fā)不必過分關(guān)注非業(yè)務(wù)需求,如可靠性、可用性、彈性等,我們可以把那些非業(yè)務(wù)需求都下沉到云平臺,讓云平臺提供基礎(chǔ)設(shè)施的各種能力,最終達(dá)到解耦業(yè)務(wù)和非業(yè)務(wù)功能。當(dāng)然,非業(yè)務(wù)需求都為業(yè)務(wù)提供服務(wù)的。
業(yè)界有種說法認(rèn)為,云原生架構(gòu)更加適合需要快速迭代,業(yè)務(wù)發(fā)展創(chuàng)新速度較快的應(yīng)用。而楊鵬卻認(rèn)為,云原生架構(gòu)適用于一切企業(yè)應(yīng)用以及所有場景,只看企業(yè)是否愿意使用。“未來的企業(yè)IT架構(gòu)都應(yīng)該是云原生架構(gòu),只是時(shí)間問題;尤其是對系統(tǒng)的可靠性、可用性、彈性要求高的業(yè)務(wù),更是需要優(yōu)先進(jìn)行云原生架構(gòu)的升級。云原生架構(gòu)從基礎(chǔ)設(shè)施層面解決了服務(wù)的彈性擴(kuò)縮,周邊衍生的DevOps、微服務(wù)治理與監(jiān)控等解決了大規(guī)模微服務(wù)應(yīng)用的關(guān)鍵問題,是微服務(wù)架構(gòu)的最佳搭檔。”
支撐:商業(yè)創(chuàng)新平臺的技術(shù)底座
早在2013年,用友就開始研究容器技術(shù),并在2014年將容器作為平臺能力對外輸出,也就是當(dāng)時(shí)的UAP平臺的職責(zé)。楊鵬表示,當(dāng)時(shí)用友的各云產(chǎn)品在進(jìn)行互聯(lián)網(wǎng)技術(shù)的換代,云原生架構(gòu)下的容器技術(shù)可以解決互聯(lián)網(wǎng)架構(gòu)下的環(huán)境問題、高彈性問題和高可用問題,另外云原生架構(gòu)下的微服務(wù)技術(shù),可以解決服務(wù)治理和多微服務(wù)跨主機(jī)異構(gòu)調(diào)用的問題,因此,用友也是很早就關(guān)注并研究容器技術(shù)以及微服務(wù)。
今年8月,用友發(fā)布YonBIP用友商業(yè)創(chuàng)新平臺,也標(biāo)志著用友云服務(wù)從產(chǎn)品服務(wù)模式升級到平臺服務(wù)模式。技術(shù)平臺作為YonBIP平臺的底層技術(shù)支撐,基于云原生技術(shù),集容器云、DevOps、服務(wù)治理、Hubble(鏈路追蹤)、分布式事務(wù)一致性、測試與運(yùn)維工具于一體。在繼承原有的云服務(wù)基礎(chǔ)上,深入踐行DevOps理念,為技術(shù)人員提供資源管理、容器服務(wù)、持續(xù)集成、持續(xù)交付、鏡像倉庫、鏈路追蹤、微服務(wù)治理、事務(wù)一致性等技術(shù)服務(wù);同時(shí)通過應(yīng)用監(jiān)控、集群監(jiān)控,容器監(jiān)控,中間件監(jiān)控等能力,全方位監(jiān)控業(yè)務(wù)應(yīng)用及其基礎(chǔ)資源,并針對影響系統(tǒng)響應(yīng)、穩(wěn)定性的問題做深入分析,滿足企業(yè)業(yè)務(wù)快速交付、系統(tǒng)穩(wěn)定運(yùn)行、運(yùn)維自動化等需求,助力企業(yè)業(yè)務(wù)快速迭代試錯(cuò),實(shí)現(xiàn)業(yè)務(wù)快速創(chuàng)新。
YonBIP用友商業(yè)創(chuàng)新平臺的客戶分為兩類:云原生企業(yè)和云重生企業(yè)。對于云原生企業(yè),YonBIP能夠支撐應(yīng)用的開發(fā)和管理,高并發(fā)、高可用、高彈性等特點(diǎn)可以滿足企業(yè)快速發(fā)展、快速創(chuàng)新的業(yè)務(wù)需求;對于云重生企業(yè),YonBIP有很多的集成和過渡遷移的工具;例如YonLinker是BIP的集成服務(wù),幫助企業(yè)實(shí)現(xiàn)新舊系統(tǒng)、企業(yè)內(nèi)外部業(yè)務(wù)的連接集成,實(shí)現(xiàn)新老業(yè)務(wù)的集成應(yīng)用,支撐向新IT架構(gòu)的轉(zhuǎn)型;YonBuilder可以加速新業(yè)務(wù)開發(fā)創(chuàng)新的過程,縮短并行過渡期。因此,無論企業(yè)是采用云原生架構(gòu),還是混合模式架構(gòu),YonBIP都能很好地支持。此外,企業(yè)的云原生架構(gòu)也可以采用其他云平臺的技術(shù),YonBIP也都可以進(jìn)行集成連接。
特色:構(gòu)建企業(yè)級云原生能力
對于云原生的支持,國內(nèi)有很多IaaS服務(wù)商在大力支持,同時(shí)也有一些初創(chuàng)企業(yè)專注于云原生方面。升級到平臺服務(wù)模式的用友,在云原生方面又有哪些特色呢?
楊鵬告訴51CTO,首先是企業(yè)級的特性,企業(yè)級云原生架構(gòu)下,微服務(wù)的數(shù)量眾多,服務(wù)之間的關(guān)系復(fù)雜,服務(wù)的權(quán)限控制難,而這些都會加大企業(yè)在云原生技術(shù)的使用門檻以及管理的復(fù)雜。用友的云原生充分吸收了B端企業(yè)領(lǐng)域用戶的特點(diǎn),結(jié)合技術(shù)普惠的理念,降低客戶使用云原生技術(shù)的門檻,并且可以將DevOps中的CI、CD與容器、微服務(wù)全流程打通,更加簡單便捷。 此外,用友開發(fā)了與YonBIP開發(fā)框架實(shí)現(xiàn)無縫整合的全鏈路追蹤工具,有利于大規(guī)模微服務(wù)調(diào)用的問題排查,真正地適合企業(yè)級管理場景。例如采購場景,在員工提交采購單據(jù)點(diǎn)擊保存時(shí),則需要調(diào)用幾個(gè)甚至十幾個(gè)服務(wù)來進(jìn)行校驗(yàn)。需要校驗(yàn)庫存是否有貨,當(dāng)庫存有貨時(shí),則需要校驗(yàn)預(yù)算是否充足,是否具有采購權(quán)限,檢驗(yàn)完成后產(chǎn)生入庫單,入庫單合規(guī)后產(chǎn)生財(cái)務(wù)單據(jù)。而這一過程還會涉及到緩存、數(shù)據(jù)庫、ElasticSearch等等,用友的技術(shù)平臺則會記錄下校驗(yàn)鏈路中的每一步,并存儲在時(shí)序數(shù)據(jù)庫中。如果檢驗(yàn)失敗,服務(wù)又要求事務(wù)性一致,則這些服務(wù)通過分布式事務(wù)框架進(jìn)行回滾;如果校驗(yàn)成功,服務(wù)不要求強(qiáng)一致性,則由管理員查看失敗位置并進(jìn)行相應(yīng)補(bǔ)償,也可以設(shè)置為自動補(bǔ)償。 楊鵬指出,企業(yè)級服務(wù)之間的邏輯關(guān)系很強(qiáng),用友全鏈路追蹤工具,可以詳細(xì)記錄調(diào)用微服務(wù)的每步操作,從而保障復(fù)雜的企業(yè)級流程的有效執(zhí)行。將企業(yè)的數(shù)智化程度直接加速到一個(gè)高階水平,有利于業(yè)務(wù)的展開。
未來:加大云原生探索及實(shí)踐
云原生的概念一直在變化,也是在跟隨技術(shù)的發(fā)展以及企業(yè)的應(yīng)用而不斷演進(jìn)。楊鵬表示,我們堅(jiān)信企業(yè)將會在云原生的技術(shù)紅利中不斷受益,用友也會持續(xù)加大在云原生方面的探索及實(shí)踐力度。 首先,服務(wù)網(wǎng)格作為第二代微服務(wù),將會成為用友構(gòu)建云原生應(yīng)用的重要一環(huán),從云原生的基礎(chǔ)設(shè)施層解決微服務(wù)治理的問題;其次,無服務(wù)架構(gòu)也會基于函數(shù)業(yè)務(wù)的擴(kuò)展能力,凌駕于微服務(wù)之上的更細(xì)粒度的擴(kuò)展,也是下一步用友的發(fā)展方向;第三,Kubernetes已經(jīng)成為云原生的基礎(chǔ)設(shè)施,用友的產(chǎn)品也在此之上不斷完善,構(gòu)建更加彈性的計(jì)算能力,結(jié)合AIOps理念,讓企業(yè)應(yīng)用的構(gòu)建和管理更加智能便捷。