傳統(tǒng) .net應(yīng)用向微服務(wù)架構(gòu)遷移的實(shí)踐經(jīng)驗(yàn) v1.2Watermark_第1頁(yè)
傳統(tǒng) .net應(yīng)用向微服務(wù)架構(gòu)遷移的實(shí)踐經(jīng)驗(yàn) v1.2Watermark_第2頁(yè)
傳統(tǒng) .net應(yīng)用向微服務(wù)架構(gòu)遷移的實(shí)踐經(jīng)驗(yàn) v1.2Watermark_第3頁(yè)
傳統(tǒng) .net應(yīng)用向微服務(wù)架構(gòu)遷移的實(shí)踐經(jīng)驗(yàn) v1.2Watermark_第4頁(yè)
傳統(tǒng) .net應(yīng)用向微服務(wù)架構(gòu)遷移的實(shí)踐經(jīng)驗(yàn) v1.2Watermark_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

China

.NET

Conf

2019.NET

Core

2019傳統(tǒng)

.NET應(yīng)用向微服務(wù)架構(gòu)遷移的實(shí)踐經(jīng)驗(yàn)China.NETConf

2019議題123背景:項(xiàng)目介紹和難點(diǎn)分析落地:技術(shù)與管理經(jīng)驗(yàn)分享創(chuàng)新:項(xiàng)目成果和總結(jié)China.NETConf

2019背景:X項(xiàng)目曾經(jīng)面臨的挑戰(zhàn)項(xiàng)目是基于.NET構(gòu)建的一套復(fù)雜的遠(yuǎn)程實(shí)驗(yàn)交付系統(tǒng)。自2011年以來(lái),從最早的遠(yuǎn)程實(shí)驗(yàn)接入,到后來(lái)的的復(fù)雜實(shí)驗(yàn)業(yè)務(wù)場(chǎng)景交付,其重要性和擔(dān)當(dāng)?shù)臉I(yè)務(wù)價(jià)值越來(lái)越大,但其技術(shù)架構(gòu)發(fā)展較為緩慢,無(wú)法高質(zhì)量滿(mǎn)足當(dāng)下多變的業(yè)務(wù)需求,在運(yùn)行和維護(hù)中由于陳舊架構(gòu)導(dǎo)致的問(wèn)題較為突出,也不符合當(dāng)前互聯(lián)網(wǎng)化大背景下的技術(shù)架構(gòu)發(fā)展方向。12

挑戰(zhàn)一:業(yè)務(wù)需求越來(lái)越難以滿(mǎn)足。X項(xiàng)目交付量從最初3500班天,X項(xiàng)目業(yè)務(wù)發(fā)展發(fā)展到2016年14500班天,要處理LS,AMS,NIS等多種業(yè)務(wù)。業(yè)務(wù)需求越來(lái)越復(fù)雜、差異化明顯且具有多變性。相對(duì)地,X項(xiàng)目架構(gòu)在過(guò)去四年內(nèi)并未做任何升級(jí)改造,客戶(hù)需求多以“打補(bǔ)丁”的方式滿(mǎn)足,難以繼續(xù)滿(mǎn)足未來(lái)業(yè)務(wù)發(fā)展需求。業(yè)界技術(shù)架構(gòu)變遷X項(xiàng)目運(yùn)行維護(hù)挑戰(zhàn)X項(xiàng)目架構(gòu)發(fā)展情況312012年3月,

X項(xiàng)目二期:引入拓?fù)鋱D式實(shí)驗(yàn)交互模式,增強(qiáng)整體可用性。挑戰(zhàn)二:部分技術(shù)已經(jīng)逐漸落后于行業(yè)發(fā)展。從行業(yè)趨勢(shì)來(lái)講,企業(yè)業(yè)務(wù)正面向互聯(lián)網(wǎng)化轉(zhuǎn)型,在

“高頻率版本發(fā)布”、

“更加注重用戶(hù)體驗(yàn)”等目標(biāo)驅(qū)動(dòng)下,企業(yè)架構(gòu)更多的開(kāi)始學(xué)習(xí)BAT,采用開(kāi)放平臺(tái)和技術(shù),如

Linux,

Apache,

MySQL,Docker等;同時(shí),在開(kāi)發(fā)運(yùn)維模式上,企業(yè)正在由傳統(tǒng)的開(kāi)發(fā)和運(yùn)維分離,向開(kāi)發(fā)運(yùn)維一體化即DevOps轉(zhuǎn)變。2挑戰(zhàn)三:運(yùn)維壓力越來(lái)越大。當(dāng)前架構(gòu)涉及到的組件全部是自行部署和維護(hù),平臺(tái)、數(shù)據(jù)庫(kù)、監(jiān)控、應(yīng)用配置、大數(shù)據(jù)等,對(duì)運(yùn)維團(tuán)隊(duì)提出了較高的要求。具體表現(xiàn)為:底層組件無(wú)法跟隨上層業(yè)務(wù)壓力變化而變化,出現(xiàn)問(wèn)題后定位過(guò)程時(shí)間長(zhǎng)且難度高。2011201220132014201520162012年8月,X項(xiàng)目三期:引入執(zhí)行引擎,邏輯分離,與設(shè)備管理平臺(tái)對(duì)接等。X項(xiàng)目架構(gòu)在過(guò)去四年主要是修修補(bǔ)補(bǔ),沒(méi)有實(shí)質(zhì)性變化。2011年5月,原型驗(yàn)證階段:引入虛擬應(yīng)用交付技術(shù)。3背景:項(xiàng)目問(wèn)題具體分析2016年8月,行云顧問(wèn)組對(duì)項(xiàng)目進(jìn)行了評(píng)估,與包括管理組、需求分析、PM、架構(gòu)師、開(kāi)發(fā)、測(cè)試、運(yùn)維等多位同事進(jìn)行了訪談,特別就不同角色對(duì)項(xiàng)目的痛點(diǎn)進(jìn)行了識(shí)別,其中技術(shù)架構(gòu)與流程相關(guān)問(wèn)題較為突出,組織和管理方面問(wèn)題也占有一定比例。分析:.NET

Framework

to

.NET

Core已有.NET代碼和.NET

Core的兼容性如何哪些類(lèi)型服務(wù)需要繼續(xù)在.NET

Framework上運(yùn)行數(shù)據(jù)庫(kù)選型的考慮,依然SQL

Server還是要切換到MySQL面對(duì)新的語(yǔ)言、新的架構(gòu),開(kāi)發(fā)人員知識(shí)轉(zhuǎn)換難度設(shè)立團(tuán)隊(duì)的一些考慮,對(duì)需求的準(zhǔn)確理解是“重中之重”議題123背景:項(xiàng)目介紹和難點(diǎn)分析落地:技術(shù)與管理經(jīng)驗(yàn)分享創(chuàng)新:項(xiàng)目成果和總結(jié)China.NETCon落地:項(xiàng)目改造的主要方向?

最佳實(shí)踐?

高度融合?

相輔相成落地:項(xiàng)目改造的具體方向落地:制定技術(shù)和管理規(guī)范代碼規(guī)范:???????微服務(wù)度量標(biāo)準(zhǔn)(業(yè)務(wù)單一性等,原則:高內(nèi)聚低耦合)微服務(wù)命名規(guī)范xxxx-yyyy-zzzz代碼交付?????代碼配置分離API接口規(guī)范(GETPUT

POST

DELETE...)符合服務(wù)治理要求統(tǒng)一返回碼開(kāi)發(fā)技術(shù)棧選型監(jiān)控指標(biāo)方式標(biāo)準(zhǔn)化暴露工具契約(容錯(cuò)契約、去數(shù)據(jù)中心契約、消費(fèi)者驅(qū)動(dòng)契約)協(xié)助自動(dòng)化檢查(Sonar)模式(

代理模式,聚合模式,串行模式,分支模式,服務(wù)異步日志規(guī)范:消息模式,服務(wù)共享模式)????生成日志的位置?容錯(cuò)(

艙壁隔離模式(生產(chǎn)環(huán)境/線程池),熔斷模式(程序?qū)崿F(xiàn)),強(qiáng)制日志id限流模式(計(jì)數(shù)、令牌、信號(hào)量-Semaphore),失效轉(zhuǎn)移模式)日志格式patten(時(shí)間、模塊、異常信息類(lèi)型)日志級(jí)別(WARNING,DEBUG,INFO,ERROR...)??????架構(gòu)安全性數(shù)據(jù)共享鏡像規(guī)范:報(bào)表需要????鏡像命名及版本規(guī)范服務(wù)間身份認(rèn)證和授權(quán)健康檢查鏡像描述規(guī)范md5校驗(yàn)要求服務(wù)間依賴(lài)(不依靠ip地址等)鏡像中不存儲(chǔ)證書(shū)落地:項(xiàng)目微服務(wù)改造的切入點(diǎn)對(duì)于X項(xiàng)目,微服務(wù)改造并非‘推倒重來(lái)’,而是在過(guò)去幾年運(yùn)營(yíng)的積累上循序漸進(jìn)完成。‘實(shí)驗(yàn)預(yù)訂’被選為微服務(wù)改造的切入點(diǎn)。落地:.NET

core

和傳統(tǒng).NET

并存根據(jù)服務(wù)組件的特點(diǎn)和需求,靈活交付到容器或是虛擬機(jī)環(huán)境.X項(xiàng)目.NETCore.NETfrmwk微服務(wù)微服務(wù)11個(gè)6個(gè)落地:應(yīng)用商店

-

實(shí)現(xiàn)代碼和業(yè)務(wù)邏輯的共享應(yīng)用商店提供了面向普通用戶(hù)的各類(lèi)業(yè)務(wù)系統(tǒng)(如:OA、ERP、CRM等),同時(shí)也面向IT人員提供PaaS組件、微服務(wù)組件、測(cè)試工具、數(shù)據(jù)集等。用戶(hù)可以分享自己制作的應(yīng)用或是組件。秒極一鍵部署,可以與內(nèi)部結(jié)算系統(tǒng)對(duì)接。落地:安全增強(qiáng)

云資源云資源安全:以更豐富的權(quán)限控制、更智能的網(wǎng)絡(luò)管理和多租戶(hù)隔離等方式實(shí)現(xiàn)云資源安全。發(fā)a運(yùn)維開(kāi)發(fā)b測(cè)試開(kāi)用戶(hù)行云權(quán)限體系組角色項(xiàng)目A項(xiàng)目B資源測(cè)試部署監(jiān)控代碼配置用例測(cè)試部署監(jiān)控代碼配置用例行云權(quán)限體系:是基于用戶(hù)、組、角色、資源等維度的精細(xì)化權(quán)限認(rèn)證體系。環(huán)境:開(kāi)發(fā)(上海)環(huán)境:測(cè)試(深圳)環(huán)境:生產(chǎn)(北京)China.NETCon落地:安全增強(qiáng)

數(shù)據(jù)數(shù)據(jù)安全:一切皆在云上,實(shí)現(xiàn)線上開(kāi)發(fā)、線上整改、線上發(fā)布。集成代碼倉(cāng)庫(kù),實(shí)現(xiàn)一步到位集中化管理1.創(chuàng)建項(xiàng)目3.開(kāi)發(fā)、整改2.自動(dòng)創(chuàng)建并綁定代碼庫(kù)6.自動(dòng)拉取代碼倉(cāng)庫(kù)4.部署9.監(jiān)控應(yīng)用工5.自動(dòng)觸發(fā)廠持續(xù)集成7.自動(dòng)上傳鏡像8.容器化部署基于組、角色、環(huán)境等維度實(shí)現(xiàn)的精細(xì)化權(quán)限認(rèn)證,用戶(hù)只能查看或操作自己權(quán)限范圍內(nèi)的數(shù)據(jù)鏡像倉(cāng)庫(kù)鏡像安全:統(tǒng)一安全掃描,檢測(cè)可能存在的安全漏洞,及時(shí)防范Cloud

OS落地:安全增強(qiáng)

鏡像在本項(xiàng)目建設(shè)中,通過(guò)結(jié)合開(kāi)源技術(shù)實(shí)現(xiàn)的自研組件,實(shí)現(xiàn)對(duì)容器云上承載業(yè)務(wù)應(yīng)用的信息安全防護(hù)。1.

定期同步安全漏洞數(shù)據(jù)漏洞特征庫(kù)該技術(shù)方案主要特點(diǎn)有:3.

與漏洞特征比對(duì)4.

發(fā)現(xiàn)問(wèn)題馬上報(bào)警1.

主動(dòng)——定期同步公網(wǎng)CVE漏洞數(shù)據(jù)源,確保最新漏洞及時(shí)納入本地特征庫(kù),主動(dòng)及時(shí)發(fā)現(xiàn)問(wèn)題鏡像掃描報(bào)警通知CVE數(shù)據(jù)源2.

自動(dòng)——由傳統(tǒng)的人工判別演進(jìn)到系統(tǒng)自動(dòng)判別2.

分層提取鏡像數(shù)據(jù)3.

全面——只要是入庫(kù)的鏡像都會(huì)經(jīng)過(guò)掃描,3605.根據(jù)建議修復(fù)鏡像度無(wú)死角修復(fù)漏洞4.

輕量——掃描組件在業(yè)務(wù)容器之外獨(dú)立運(yùn)行,對(duì)鏡像庫(kù)容器運(yùn)行中業(yè)務(wù)毫無(wú)性能影響,方案輕量且擴(kuò)展性強(qiáng)。6.推送修復(fù)好的鏡像入庫(kù)并更新運(yùn)行中的應(yīng)用靜態(tài)鏡像掃描機(jī)制落地:集成增強(qiáng)

-

技術(shù)平臺(tái)與管理類(lèi)平臺(tái)交互創(chuàng)建需求#123基于MapReduce實(shí)現(xiàn)X樣本數(shù)據(jù)分析創(chuàng)建項(xiàng)目關(guān)聯(lián)Jira

Story

#123#123新增評(píng)論張三更新了架構(gòu)圖,點(diǎn)此查看架構(gòu)圖更新關(guān)聯(lián)Jira

Story

#123SonarCube發(fā)現(xiàn)代碼質(zhì)量問(wèn)題創(chuàng)建缺陷#124代碼質(zhì)量缺陷—潛在空指針異常碼提交代關(guān)聯(lián)Jira

Story

#123SonarCube測(cè)試通過(guò)關(guān)閉缺陷#124代碼修正關(guān)聯(lián)Jira

Story

#123,

Jira

Bug#124自動(dòng)化測(cè)試執(zhí)行失敗創(chuàng)建缺陷#125自動(dòng)化測(cè)試未通過(guò),查看報(bào)告測(cè)試版本發(fā)布關(guān)聯(lián)Jira

Story

#123關(guān)閉缺陷#125自動(dòng)化測(cè)試通過(guò),查看報(bào)告自動(dòng)化測(cè)試執(zhí)行成功代碼修正關(guān)聯(lián)Jira

Story

#123,

Jira

Bug#125生產(chǎn)Sanity測(cè)試閉需求#123執(zhí)行成功生產(chǎn)版本發(fā)布關(guān)聯(lián)Jira

Story

#123關(guān)Sanity測(cè)試通過(guò),查看報(bào)告創(chuàng)建缺陷#126監(jiān)控發(fā)現(xiàn)異常,Java

Exception

XYZ監(jiān)控發(fā)現(xiàn)異常告警關(guān)聯(lián)Jira

Story

#123落地:X項(xiàng)目采用的DevOps和微服務(wù)支撐平臺(tái)總體架構(gòu)12345組件拖、拉、拽可視化設(shè)計(jì)、編排、務(wù)為創(chuàng)新加速的開(kāi)發(fā)服務(wù)12管理云端微服組件拖、拉、拽設(shè)計(jì)網(wǎng)頁(yè)前端和微信小程序應(yīng)用架構(gòu)設(shè)計(jì)器設(shè)計(jì)器動(dòng)化測(cè)試代碼管理云應(yīng)用商店前端Web

IDE自634頁(yè)上編寫(xiě)代碼在網(wǎng)以業(yè)務(wù)為中心定義和執(zhí)行自動(dòng)化測(cè)試方案務(wù)治理和全面支持DevOps方法論基于Docker容器技術(shù)采用K8S管理容器多集群和多云

Windows,

Linux應(yīng)用交付

統(tǒng)一管理服安全保護(hù)容器的PaaS平臺(tái)一鍵快速部署企業(yè)56應(yīng)用到任意云端基于Docker,K8S構(gòu)建的PaaS私有云落地:X項(xiàng)目物理部署架構(gòu)落地:管理和團(tuán)隊(duì)同樣重要!議題123背景:項(xiàng)目介紹和難點(diǎn)分析落地:技術(shù)與管理經(jīng)驗(yàn)分享創(chuàng)新:項(xiàng)目成果和總結(jié)創(chuàng)新1:所見(jiàn)即所得

可視化“拖、拉、拽”式的業(yè)務(wù)架構(gòu)編排把組件拖入畫(huà)布并連線即可完成微服務(wù)架構(gòu)設(shè)計(jì)高效性:微服務(wù)之間的連模塊共享、重用大大提高創(chuàng)新效率接團(tuán)隊(duì)高效協(xié)作支持組件嵌套靈活性:拖動(dòng)多語(yǔ)言、多技術(shù)棧的模塊靈活組裝、對(duì)接,滿(mǎn)足多變業(yè)務(wù)需求經(jīng)濟(jì)性:避免相似模塊的重復(fù)開(kāi)發(fā)投入可視性:設(shè)計(jì)“藍(lán)圖”一目了然,可數(shù)據(jù)化歸檔,新成員快速開(kāi)始簡(jiǎn)潔性:簡(jiǎn)潔、直觀的方式搭建應(yīng)用程序來(lái)自應(yīng)用商店的組件China.NETConf

2019創(chuàng)新2:云端IDE

隨時(shí)隨地、安全地編寫(xiě)代碼安全性:開(kāi)發(fā)環(huán)境和代碼都在云端,數(shù)字資產(chǎn)不落地確保信息安全高效性:

隨時(shí)、隨地打開(kāi)網(wǎng)頁(yè)即進(jìn)入熟悉的編程環(huán)境,配置、工作區(qū)保持原樣

支持傳統(tǒng)IDE的各種交互功能,如關(guān)鍵字高亮、自動(dòng)完成,API選擇等等

可對(duì)開(kāi)發(fā)者行為模式進(jìn)行數(shù)據(jù)分析進(jìn)而提升效率靈活性:

對(duì)終端設(shè)備要求極低,支持各種終端類(lèi)型

支持權(quán)限控制下的遠(yuǎn)程編程

支持各種主流開(kāi)發(fā)語(yǔ)言

對(duì)外包團(tuán)隊(duì)的靈活支持簡(jiǎn)潔性:

打開(kāi)瀏覽器即可開(kāi)發(fā),無(wú)需配置復(fù)雜環(huán)境

架構(gòu)設(shè)計(jì)、編寫(xiě)代碼無(wú)縫對(duì)接

編碼完成后即可發(fā)布到任意云端創(chuàng)新3:多云和跨云調(diào)度

以模塊為粒度,應(yīng)用和基礎(chǔ)設(shè)施完全解耦商品瀏覽購(gòu)物結(jié)算統(tǒng)一界面操作,無(wú)需切換部署環(huán)境。將不同業(yè)務(wù)模塊部署到多個(gè)云環(huán)境。網(wǎng)關(guān)網(wǎng)關(guān)將應(yīng)用的不同部分部署不同云,把購(gòu)物車(chē)和數(shù)據(jù)庫(kù)服務(wù)部署在企業(yè)的私有云,把商品瀏覽服務(wù)部署在公有云。兩個(gè)服務(wù)之間通過(guò)CloudOS提供的跨云服務(wù)機(jī)制連接。專(zhuān)線或VPN調(diào)度器支持應(yīng)用跨云遷移,在不中斷服務(wù)的情況下,通過(guò)“小步推進(jìn),逐步替換”的方式,把應(yīng)用遷移到不同云端。應(yīng)用部署和調(diào)度控制器創(chuàng)新4:模塊化分享和復(fù)用,讓代碼和業(yè)務(wù)邏輯也成為數(shù)字化資產(chǎn)。眾多內(nèi)部開(kāi)發(fā)團(tuán)隊(duì)大量外部軟件供應(yīng)商眾多內(nèi)部開(kāi)發(fā)團(tuán)隊(duì)大量外部軟件供應(yīng)商有效協(xié)作缺少有效項(xiàng)目分解把工業(yè)界成熟的“模塊化”技術(shù)引入到軟件開(kāi)發(fā)中來(lái),讓不同的開(kāi)發(fā)團(tuán)隊(duì)以“搭積木”方式構(gòu)建應(yīng)用。這些“軟件模塊”又可以在企業(yè)內(nèi)部或是與兄弟單位間實(shí)現(xiàn)復(fù)用,避免重復(fù)開(kāi)發(fā)、提高創(chuàng)新效率。模塊化構(gòu)建項(xiàng)目統(tǒng)一標(biāo)準(zhǔn),無(wú)縫對(duì)接組件分享、復(fù)用互不兼容,集成困難相似功能點(diǎn)重復(fù)開(kāi)發(fā)提高創(chuàng)新效率“模塊化”也是應(yīng)用程序充分享受多云部署收益的重要先決條件。應(yīng)用軟件越來(lái)越復(fù)雜維護(hù)難度越來(lái)越高應(yīng)用軟件靈活擴(kuò)展運(yùn)維越來(lái)越自動(dòng)化快速響應(yīng)業(yè)務(wù)業(yè)務(wù)需求無(wú)法快速滿(mǎn)足成果:項(xiàng)目的可量化成果和收益主體開(kāi)發(fā)語(yǔ)言.netcore

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論