許久沒(méi)有現(xiàn)場(chǎng)參與業(yè)界DEVOPS大會(huì)了庸推。對(duì)我來(lái)說(shuō)常侦,參加業(yè)界大會(huì)一方面是眼界上的開拓,另一方面是前進(jìn)方向的校正贬媒,也知道天高地厚了聋亡。去年參加的很多,感觸很多际乘,今年參加以后發(fā)現(xiàn)業(yè)界整體技術(shù)又有一次躍進(jìn)坡倔。
今日參加EE大會(huì),主要關(guān)注還是DEVOPS和質(zhì)量。筆記如下罪塔。
1. 極簡(jiǎn)-DEVOPS云原生轉(zhuǎn)型之道(曾海劍)
運(yùn)營(yíng)商使用SOW松散方式投蝉,對(duì)外包進(jìn)行管理(所謂交鑰匙的模式)。在此模式下如何進(jìn)行轉(zhuǎn)型征堪?
(1)驅(qū)動(dòng)力
返工多瘩缆,瀑布模式導(dǎo)致的返工多
質(zhì)量低,通過(guò)運(yùn)維來(lái)彌補(bǔ)軟件質(zhì)量的缺陷
統(tǒng)維難佃蚜,不同部門不同項(xiàng)目庸娱,環(huán)境各自部署,維護(hù)各自承擔(dān)
定位難谐算,出現(xiàn)故障難于定位是研發(fā)問(wèn)題還是運(yùn)維問(wèn)題熟尉。溝通成本高
人員流失快,且研發(fā)的核心痛點(diǎn):浪費(fèi)洲脂、質(zhì)量斤儿。
外包型企業(yè),沒(méi)有獲得源代碼會(huì)帶來(lái)項(xiàng)目綁架的情況腮考。
從物理機(jī)到虛擬化到容器化雇毫,解決運(yùn)維的痛點(diǎn)。不需要再去思考如何修理容器踩蔚。
(2)轉(zhuǎn)型之痛
放養(yǎng)階段:研發(fā)效能團(tuán)隊(duì)建工具鏈棚放,開發(fā)人員自己配置流水線(開發(fā)人員不懂工具鏈,不懂k8s馅闽,組織培訓(xùn)費(fèi)時(shí)費(fèi)力不討好)
保姆階段:開發(fā)人員題需求飘蚯,研發(fā)效能團(tuán)隊(duì)配置流水線(累死研發(fā)效能團(tuán)隊(duì))
自助階段:把配置變成編排,開發(fā)人員自助編排流水線
核心思想是如何讓開發(fā)人員零知識(shí)將代碼發(fā)布到生產(chǎn)環(huán)境福也。
研發(fā)效能的思考:增效減負(fù)局骤。減負(fù)指的是降低學(xué)習(xí)成本,減低溝通成本暴凑,降低配置成本峦甩。
(3)極簡(jiǎn)實(shí)踐
一開始是開源方案,發(fā)現(xiàn)開源方案面向的都是專家现喳,比如jenkins凯傲,gitlab CI/CD都是通過(guò)編程來(lái)實(shí)現(xiàn)流水線。
設(shè)計(jì)初衷——極簡(jiǎn)
簡(jiǎn)化復(fù)雜的技術(shù):開發(fā)團(tuán)隊(duì)能力參差不齊嗦篱,降低接入門檻冰单,減低調(diào)試溝通工作量
簡(jiǎn)化復(fù)雜的流程:吧復(fù)雜的流程原子化,面向結(jié)果灸促,隱藏復(fù)雜的環(huán)境就緒流程诫欠,隱藏復(fù)雜的編排發(fā)布流程
簡(jiǎn)化復(fù)雜的權(quán)限:通過(guò)統(tǒng)一接口編排能力涵卵,簡(jiǎn)化權(quán)限體系,面向多租戶共用云環(huán)境
實(shí)現(xiàn)了動(dòng)態(tài)編排荒叼、多模塊流水線(一個(gè)流水線可以支持多個(gè)微服務(wù))
一條流水線管理一個(gè)微服務(wù)轿偎,會(huì)導(dǎo)致難以對(duì)微服務(wù)的上線、灰度進(jìn)行控制的問(wèn)題甩挫。(通過(guò)服務(wù)網(wǎng)格解決)
服務(wù)編排——進(jìn)化
微服務(wù)1.0贴硫,使用springcloud椿每。通過(guò)開發(fā)方式實(shí)現(xiàn)服務(wù)治理伊者,誕生背景是虛擬化
微服務(wù)2.0,使用Istio间护,以配置方式實(shí)現(xiàn)服務(wù)治理亦渗,不受語(yǔ)言限制,誕生背景是容器化
Dory從18年開始探索建設(shè)汁尺,近期將開源
2. 云原生容器化落地實(shí)踐(去哪兒-鄒晟)
(1)背景與收益
痛點(diǎn):環(huán)境不一致法精、環(huán)境交付慢、服務(wù)器多運(yùn)維成本高痴突、降服務(wù)器成本搂蜓、SDK推動(dòng)升級(jí)難,周期長(zhǎng)
1000辽装,5000帮碰,8000虛機(jī)時(shí)出現(xiàn)質(zhì)變(主要是物理設(shè)備故障,需要人工確認(rèn)拾积,KVM進(jìn)行平移)
我們眼中的云原生:
是什么:云原生是一系列可以為業(yè)務(wù)賦能的技術(shù)架構(gòu)準(zhǔn)則殉挽,遵循它可以使應(yīng)用具有擴(kuò)展性、伸縮性拓巧、移植性斯碌、韌性等特點(diǎn)
為什么:基礎(chǔ)架構(gòu)需要演進(jìn),它可以讓業(yè)務(wù)更敏捷
怎么做:DEVOPS肛度、微服務(wù)傻唾、容器化、可觀測(cè)性承耿、反脆弱性(混沌工程)冠骄、service mesh、serverless
業(yè)務(wù)價(jià)值:
PO:敏捷性瘩绒、彈性伸縮猴抹、資源成本
DEV/QA:環(huán)境穩(wěn)定性、環(huán)境一致性
DEV/OPS:節(jié)省人力
去哪兒容器化進(jìn)程
(2)實(shí)踐路線圖
容器化落地策略:盡量少改動(dòng)業(yè)務(wù)性
IaaS層:re-host(評(píng)估最小成本)
PaaS層:re-platform
應(yīng)用層:refactor(通過(guò)service-mesh锁荔,將熔斷限流平移)
re-host五步:價(jià)值認(rèn)同蟀给、制定規(guī)范蝙砌、工具建設(shè)、遷移落地跋理、驗(yàn)收
(3)關(guān)鍵實(shí)踐
實(shí)踐1 - 價(jià)值認(rèn)同:容器化的ROI是多少择克,怎么證明?
自證價(jià)值-自己的服務(wù)先容器化
放大價(jià)值-解決業(yè)務(wù)線實(shí)際問(wèn)題
技術(shù)宣講-價(jià)值宣傳前普,找VIP用戶
實(shí)踐2 - 規(guī)范制定
關(guān)注幾個(gè)點(diǎn):日志的統(tǒng)一肚邢,實(shí)時(shí)和離線Loki的使用,部署路徑拭卿,端口號(hào)統(tǒng)一骡湖,新應(yīng)用禁止KVM部署。
實(shí)踐3 - 工具建設(shè)
通過(guò)對(duì)工具平臺(tái)改造實(shí)現(xiàn)全自動(dòng)化
CD:使用KubeSphere實(shí)現(xiàn)多集群管理平臺(tái)峻厚。發(fā)布系統(tǒng)調(diào)用編譯模塊調(diào)用部署模塊調(diào)用kubesphere响蕴。
實(shí)踐4 - 遷移落地
- 前置校驗(yàn):編譯階段自動(dòng)檢查配置
- 測(cè)試環(huán)境驗(yàn)證:自動(dòng)升級(jí)SDK
- 線上驗(yàn)證:灰度發(fā)布,自動(dòng)化驗(yàn)證
- 混合部署:kvm和容器混合部署
- 全量部署
- 觀察:7天正常后停止KVM
資源成本:容器化前單機(jī)部署的kvm數(shù):14個(gè)惠桃;容器化后單機(jī)部署的pod數(shù):20個(gè)
(4)總結(jié)與規(guī)劃
價(jià)值認(rèn)同:從上而下推進(jìn)浦夷。知之不深,則行之不篤辜王;知之愈明劈狐,則行之愈篤。
產(chǎn)品同理心:用戶收益呐馆、遷移成本肥缔、使用成本
工程化方法:自動(dòng)化前置檢查、升級(jí)SDK摹恰、測(cè)試辫继、遷移
未來(lái)規(guī)劃:穩(wěn)定性治理、資源利用率提升俗慈、service mesh落地
3. 工程師文化(華為)
- 對(duì)工程師文化的思考
- 企業(yè)在全面云轉(zhuǎn)型中姑宽,如何重塑匹配的工程師文化?
- 工具平臺(tái)
對(duì)工程師文化的思考
企業(yè)工程師文化闺阱,不是脫離具體環(huán)境炮车,獨(dú)立存在的
文化不是你要求人家做什么,而且團(tuán)隊(duì)領(lǐng)導(dǎo)做什么酣溃,別人跟著做瘦穆。
影響工程師文化的因素
企業(yè)頂層文化:以客戶為中心,質(zhì)量?jī)?yōu)先……關(guān)鍵是赊豌,真正在執(zhí)行的是什么扛或?
問(wèn)題:會(huì)不會(huì)變成以一線銷售為優(yōu)先?
價(jià)值創(chuàng)造過(guò)程:商業(yè)模式碘饼,產(chǎn)品交付模式熙兔,研發(fā)模式悲伶,軟件工程實(shí)踐,工程師的工作方法住涉,逐步影響
設(shè)備供應(yīng)商和云服務(wù)供應(yīng)商完全不一樣麸锉,文化就要轉(zhuǎn)變。
組織舆声,授權(quán)管理體系
- 以流程為中心 vs 以人為中心
- 矩陣組織
-
管控中心 vs 能力中心
企業(yè)在全面云轉(zhuǎn)型中花沉,如何重塑匹配的工程師文化?
正視差異和差距媳握,窮則變碱屁,變則通,通則久毙芜。
從why轉(zhuǎn)變?yōu)閣hy not忽媒?
工具平臺(tái)不聽匯報(bào),聽使用工具的人的聲音腋粥。
最佳實(shí)踐不可復(fù)制,都是屬于企業(yè)自己的架曹。
PS:華為的思路下隘冲,要求開發(fā)變成對(duì)ops也了解的全棧,和廣東移動(dòng)的理念不太一樣绑雄。
不能因?yàn)楣芾碚叩暮ε露呋仡^路展辞。質(zhì)量的嚴(yán)峻挑戰(zhàn)。
代碼分支的維護(hù)万牺,質(zhì)量要求嚴(yán)格罗珍。
平臺(tái)支撐
實(shí)現(xiàn)在家編碼,這是組織文化變更帶來(lái)的脚粟。
公司內(nèi)總會(huì)有不停造輪子的情況覆旱,通過(guò)內(nèi)部開源來(lái)減少造輪子的情況。
正確的激勵(lì)核无,樹立CleanCode導(dǎo)向扣唱。獎(jiǎng)勵(lì)軟件工匠(編程超過(guò)10-15年的人)
信任和不信任的度?
穩(wěn)步才能保證變更不回彈团南。