云原生架構(gòu)將非業(yè)務(wù)代碼最大化剝離,讓云基礎(chǔ)設(shè)施接管應(yīng)用非功能特性,提高業(yè)務(wù)連續(xù)性,輕量、敏捷、高度自動(dòng)化。
云原生架構(gòu)原則
1.服務(wù)化原則
拆分為微服務(wù)、小服務(wù)架構(gòu),分離不同生命周期模塊,分別業(yè)務(wù)迭代,加快整體進(jìn)度和穩(wěn)定性;
服務(wù)化架構(gòu)以面向接口編程,高內(nèi)聚,高復(fù)用(公共模塊);
分布式環(huán)境下限流降級(jí)、熔斷隔倉(cāng)、灰度、反壓、零信任安全都是基于服務(wù)流量的控制策略;
從架構(gòu)層面抽象化業(yè)務(wù)模塊之間關(guān)系,標(biāo)準(zhǔn)化服務(wù)流量的傳輸。
2.彈性原則
資源隨著業(yè)務(wù)量變化自動(dòng)伸縮;
彈性能力縮短上線時(shí)間、降低成本,性能靈活拓展。
3.可觀測(cè)原則
主機(jī)信息關(guān)聯(lián),SLO(Service Level Objective,服務(wù)等級(jí)目標(biāo)),業(yè)務(wù)影響分析更加復(fù)雜;
可觀測(cè)性,通過(guò)日志、鏈路跟蹤、度量等手段,使得服務(wù)調(diào)用的耗時(shí)、返回值和參數(shù)清晰可見(jiàn);可以到每次第三方軟件調(diào)用、SQL請(qǐng)求、節(jié)點(diǎn)拓?fù)洹⒕W(wǎng)絡(luò)響應(yīng);
不斷對(duì)業(yè)務(wù)健康和用戶體驗(yàn)進(jìn)行數(shù)字化衡量和持續(xù)優(yōu)化。
4.韌性原則
軟硬件出現(xiàn)異常時(shí),軟件表現(xiàn)出來(lái)的抵御能力;
軟件持續(xù)提供業(yè)務(wù)服務(wù)的能力,核心目標(biāo)提升軟件的平均無(wú)故障時(shí)間MTBF;
架構(gòu)設(shè)計(jì)上,韌性包含服務(wù)異步化能力、重試/限流/降級(jí)/熔斷/反壓、主從模式、集群模式、AZ內(nèi)的高可用、單元化、跨region容災(zāi)、異地多活容災(zāi)。
5.所有過(guò)程自動(dòng)化原則
容器、微服務(wù)、DevOps、大量第三方組件的使用,降低分布式復(fù)雜性、提升迭代速度,同時(shí)增大了技術(shù)棧的復(fù)雜度和組件規(guī)模;
IaC(Infrastructure as Code)、GitOps、OAM(Open Application Model)、Kubernetes Operator和大量自動(dòng)化交付工具在CI/CD流水線中的實(shí)踐----標(biāo)準(zhǔn)化軟件交付過(guò)程、自動(dòng)化。
6.零信任原則
針對(duì)傳統(tǒng)邊界安全架構(gòu)思想的重新評(píng)估和審視;
核心思想:默認(rèn)情況下不應(yīng)該信任網(wǎng)絡(luò)內(nèi)外部任何人、設(shè)備、系統(tǒng),基于認(rèn)證和授權(quán)重構(gòu)訪問(wèn)控制的信任基礎(chǔ);
IP地址、主機(jī)、地理位置、所處網(wǎng)絡(luò)均不能作為可信憑證;
安全體系架構(gòu)從“網(wǎng)絡(luò)中心化”走向“身份中心化”,以身份為中心進(jìn)行訪問(wèn)控制;
零信任核心問(wèn)題是身份(Identity),不同實(shí)體賦予不同身份,分配不同資源。
7.架構(gòu)持續(xù)演進(jìn)原則
好的架構(gòu)是演進(jìn)來(lái)的,很難一開(kāi)始清晰定義架構(gòu)一直適用;
增量迭代、目標(biāo)選取、組織層面架構(gòu)治理、風(fēng)險(xiǎn)控制,業(yè)務(wù)高速迭代下的架構(gòu)、業(yè)務(wù)、實(shí)現(xiàn)平衡關(guān)系。