GOPS全球運(yùn)維大會(huì)---大型云平臺(tái)的DevOps實(shí)踐
【中國,上?!?018年9月14日-15日,GOPS全球運(yùn)維大會(huì)正式開啟,上千位各行業(yè)運(yùn)維者及DevOps的實(shí)踐者們參會(huì),華為云DevCloud專家受邀參加本次大會(huì), 在主會(huì)場(chǎng)分享了華為在大型云平臺(tái)上的DevOps實(shí)踐。
踐行DevOps理念,DevOps逐步成為企業(yè)核心競(jìng)爭(zhēng)力
DevOps是Development+Operation的組合,旨在促進(jìn)軟件開發(fā)、運(yùn)維和質(zhì)量保障等部門間的溝通和協(xié)作,讓軟件交付具有5-10倍的TTM和效率優(yōu)勢(shì)。據(jù)調(diào)研數(shù)據(jù)顯示,云在企業(yè)的發(fā)展成熟度及采用率越來越高,DevOps已經(jīng)成為被廣泛接受的軟件交付新模式。95%的企業(yè)和組織在使用和評(píng)估云,軟件服務(wù)化、云化是大勢(shì)所趨,這又對(duì)DevOps提出了更強(qiáng)烈的訴求。但是應(yīng)用上云不是目的,只是技術(shù)手段,上云目的是產(chǎn)品競(jìng)爭(zhēng)力更強(qiáng),成本更低,資源利用率更高,系統(tǒng)更可靠更安全等。要達(dá)到這樣的目的,我們需要在4個(gè)方面進(jìn)行轉(zhuǎn)變,開發(fā)模式向DevOps轉(zhuǎn)變,應(yīng)用架構(gòu)向微服務(wù)轉(zhuǎn)變,應(yīng)用部署要容器化、基礎(chǔ)設(shè)施要云化。近80%的企業(yè)接受DevOps并積極向DevOps轉(zhuǎn)型,但是落地DevOps并不容易,除了研發(fā)組織和企業(yè)文化帶來障礙,缺少智能高效的研發(fā)平臺(tái)也是導(dǎo)致轉(zhuǎn)型困難的重要因素。
華為云DevCloud專家講到,華為向Cloud Native云原生轉(zhuǎn)型,DevOps是工程基礎(chǔ)。Cloud Native是云原生、為云而生的意思,是一種新的系統(tǒng)實(shí)踐范式,讓軟件能更好地基于云環(huán)境、適應(yīng)云環(huán)境、受益云環(huán)境。云原生計(jì)算基金會(huì)(CNCF)于2015年成立,致力于推廣Cloud Native,華為是初創(chuàng)級(jí)鉑金會(huì)員,今年4月,華為和Google一同成為CNCF技術(shù)監(jiān)督委員會(huì)TOC成員,決定CNCF社區(qū)的技術(shù)走向。華為公司也于2017年向Cloud Native轉(zhuǎn)型,所有和云相關(guān)的產(chǎn)品都要采用Cloud Native的模式來構(gòu)建,支撐公司全面云化戰(zhàn)略。主要從3個(gè)方面來落地實(shí)踐:架構(gòu)、工程、組織,包括充分利用云基礎(chǔ)設(shè)施與平臺(tái)服務(wù),具備微服務(wù)架構(gòu)、彈性伸縮、分布式、高可用、多租戶、自動(dòng)化運(yùn)維等關(guān)鍵特征的架構(gòu)實(shí)踐;建立與系統(tǒng)架構(gòu)匹配的全功能團(tuán)隊(duì)、發(fā)展全棧工程師并高度協(xié)作的組織實(shí)踐;采用DevOps、自動(dòng)化工具,實(shí)現(xiàn)微服務(wù)持續(xù)交付的工程實(shí)踐。通過架構(gòu)、工程、組織面向云環(huán)境的協(xié)同實(shí)踐,實(shí)現(xiàn)Cloud Native系統(tǒng)對(duì)外體現(xiàn)的快速、可靠、規(guī)模、靈活、高效的價(jià)值收益。
華為云DevCloud的DevOps實(shí)踐
華為在近30年的發(fā)展過程中,研發(fā)模式、流程、工具也在不斷演進(jìn)。華為在DevOps實(shí)踐上也進(jìn)行了積極地探索并取得成果,開放華為30年研發(fā)實(shí)踐打造華為云DevCloud。這樣一個(gè)產(chǎn)品,我們?cè)鯓舆M(jìn)行DevOps實(shí)踐?
首先,以服務(wù)為單位組建全功能團(tuán)隊(duì)。Conway定律指出:任意一個(gè)軟件都反映出制造它的團(tuán)隊(duì)的組織結(jié)構(gòu),團(tuán)隊(duì)的組織結(jié)構(gòu)和代碼架構(gòu)是緊密相關(guān)的。要想產(chǎn)品的架構(gòu)盡量松耦合,團(tuán)隊(duì)的組織結(jié)構(gòu)就要盡量扁平,華為云DevCloud每個(gè)服務(wù)由一個(gè)團(tuán)隊(duì)負(fù)責(zé),團(tuán)隊(duì)人數(shù)通常在10人左右,就是我們常說的Two pizza團(tuán)隊(duì)的規(guī)模,團(tuán)隊(duì)中有產(chǎn)品經(jīng)理、架構(gòu)師、開發(fā)、測(cè)試、運(yùn)維等角色。產(chǎn)品經(jīng)理負(fù)責(zé)Why&What,負(fù)責(zé)產(chǎn)品的競(jìng)爭(zhēng)力規(guī)劃和構(gòu)建、產(chǎn)品的設(shè)計(jì)和體驗(yàn)、產(chǎn)品運(yùn)營,對(duì)產(chǎn)品的商業(yè)結(jié)果負(fù)責(zé) ;開發(fā)團(tuán)隊(duì)負(fù)責(zé)What&How,主要關(guān)注需求的交付效率和產(chǎn)品質(zhì)量 ;每個(gè)團(tuán)隊(duì)采用敏捷Scrum的開發(fā)流程,并融入精益的思想,自己管理自己的需求,有自己的流水線和發(fā)布流程,這也是一個(gè)規(guī)?;艚莸膱?chǎng)景 。
很多時(shí)候一個(gè)產(chǎn)品的成敗,取決于我們對(duì)用戶需求的把握程度。在量子力學(xué)中,對(duì)關(guān)系的定義就是信息,我們和用戶關(guān)系的好壞,就是對(duì)用戶信息掌握的多少,你了解用戶心中所想,就能更好地把握用戶的需求,就更容易做出成功的產(chǎn)品 。不管是敏捷、精益、DevOps,除了要解決快速交付、還要能夠快速反饋,通過反饋快速試錯(cuò),不斷驗(yàn)證我們對(duì)市場(chǎng)和用戶需求的理解和判斷,就能不斷調(diào)整方向,對(duì)準(zhǔn)用戶和市場(chǎng)的需求 。為什么說需求就是競(jìng)爭(zhēng)力呢,我們做產(chǎn)品最可悲就是沒有用戶使用,沒有人給你提需求,只要有用戶使用,不斷給我們提需求,陪伴我們一起成長,我們就可以不斷完善產(chǎn)品,逐步具備競(jìng)爭(zhēng)力 。無場(chǎng)景不需求,就是要將需求放在一個(gè)場(chǎng)景下,才能更準(zhǔn)確地理解需求,用戶很多時(shí)候表達(dá)不清楚他們的需求,要通過深入洞察用戶的行為,才能搞清楚用戶的真實(shí)需求,找到產(chǎn)品爆點(diǎn)。
我們回想一下不同時(shí)期的架構(gòu)方法,EJB、SOA、Web Service、Restful API、微服務(wù)等,每個(gè)時(shí)期出現(xiàn)的架構(gòu)方法,都要解決一個(gè)問題:解耦 。華為云DevCloud早期,整個(gè)產(chǎn)品多個(gè)服務(wù)耦合在一起,一個(gè)月發(fā)布一個(gè)版本,每次發(fā)布都很痛苦,各個(gè)服務(wù)相互等待,效率低,發(fā)布流程復(fù)雜,要配置的環(huán)境參數(shù)很多,經(jīng)常出錯(cuò);隨著架構(gòu)的不斷解耦,各個(gè)服務(wù)可以獨(dú)立發(fā)布,消除了等待,發(fā)布效率大幅提高,達(dá)到一周發(fā)布一次;隨著微服務(wù)化的不斷深入,各個(gè)微服務(wù)可以獨(dú)立上線發(fā)布,我們現(xiàn)在可以達(dá)到天級(jí)交付 。為了保證微服務(wù)的接口一致性,以Swagger YAML為中心,自動(dòng)生成接口框架代碼、測(cè)試用例框架、API文檔、Mock測(cè)試樁,并定期反向同步 ,保證了接口的一致性。并通過Mock Server和契約測(cè)試,解耦接口依賴,實(shí)現(xiàn)API的并行開發(fā)、自動(dòng)化測(cè)試和獨(dú)立發(fā)布。
在DevOps中,反饋非常重要,測(cè)試其實(shí)也是一種反饋,就像代碼評(píng)審、代碼檢查、構(gòu)建、部署等,通過反饋?zhàn)屛覀兗皶r(shí)發(fā)現(xiàn)代碼和系統(tǒng)的問題,反饋周期越短,我們就能越早發(fā)現(xiàn)問題,成本越低。如果能在其它環(huán)節(jié)更多地保障質(zhì)量,那么測(cè)試環(huán)節(jié)的工作量就可以相應(yīng)減少 。華為公司對(duì)安全非常重視,任何對(duì)外的產(chǎn)品都要通過安全紅線、必須通過ICSL安全稽查才能商用、每半年送檢一次。
華為云DevCloud專家還分享了流水線、灰度發(fā)布模型,多Region同步發(fā)布,性能測(cè)試,自動(dòng)化運(yùn)維,以及APM方面的一些實(shí)踐。60%以上的生產(chǎn)事故源于人為操作不當(dāng),所以我們構(gòu)建自動(dòng)化運(yùn)維平臺(tái),大幅減少因人工誤操作帶來的現(xiàn)網(wǎng)問題。自動(dòng)化運(yùn)維平臺(tái)主要實(shí)現(xiàn)4部分功能,1)配置自動(dòng)化:早期,DevCloud在生產(chǎn)環(huán)境部署后,經(jīng)常出問題,問題定位后發(fā)現(xiàn)大都是環(huán)境參數(shù)配置問題,后來用CMDB來管理環(huán)境參數(shù),問題就大幅減少了 。2)監(jiān)控告警自動(dòng)化:10萬+監(jiān)控項(xiàng),問題提前攔截率達(dá)到90%以上 。3)作業(yè)自動(dòng)化:通過自動(dòng)化腳本固化常用操作,并進(jìn)行權(quán)限隔離,大幅減少操作失誤導(dǎo)致的問題 。4)分析自動(dòng)化:通過日志分析、API調(diào)用鏈分析、問題智能化輔助定位,實(shí)現(xiàn)MTTR從40分鐘縮短到20分鐘,運(yùn)維自動(dòng)化率提升到80%以上 。
一個(gè)傳統(tǒng)的應(yīng)用,交付給客戶就意味著研發(fā)的結(jié)束,對(duì)云服務(wù)來說,上線只是一個(gè)開始,后期的運(yùn)維和運(yùn)營非常關(guān)鍵。云服務(wù)本質(zhì)上是商業(yè)模式的改變,從賣License走向Pay as you go,技術(shù)的云化不代表商業(yè)的云化。一個(gè)新服務(wù)從交付完成到GA商用,通常包括邀測(cè)、公測(cè)和GA 3個(gè)階段,需要產(chǎn)品、運(yùn)營、運(yùn)維的緊密配合。
DevOps平臺(tái)的構(gòu)建思考和探索
***,華為云DevCloud專家向與會(huì)企業(yè)探討了DevOps平臺(tái)的構(gòu)建思考與探索。DevOps工具平臺(tái)的構(gòu)建非常復(fù)雜,理念和方法論是工具平臺(tái)的靈魂、主線,工具承載先進(jìn)理念和方法論,固化流程、經(jīng)驗(yàn)和***實(shí)踐。華為云DevCloud是華為云的組成部分, 是華為30余年研發(fā)實(shí)踐和前沿理念的結(jié)晶,為開發(fā)者提供一站式全流程安全可信的DevOps工具服務(wù),同時(shí),也是幫助企業(yè)修煉內(nèi)功的一大利器,可以有效支撐企業(yè)DevOps落地,實(shí)現(xiàn)項(xiàng)目的高效、高質(zhì)量迭代。未來,華為云DevCloud也將攜手各企業(yè)各開發(fā)運(yùn)維者,精誠合作互通,及時(shí)響應(yīng)反饋,更好的為廣大開發(fā)者提供穩(wěn)定可靠的DevOps工具,助力軟件企業(yè)專注業(yè)務(wù)創(chuàng)新。
HUAWEI CONNECT 2018作為華為自辦的面向ICT產(chǎn)業(yè)的全球性年度旗艦大會(huì),將于2018年10月10日-12日在上海隆重舉行。本屆大會(huì)以“+智能,見未來”為主題,旨在搭建一個(gè)開放、合作、共享的平臺(tái),與客戶伙伴一起共同探討如何把握新機(jī)遇創(chuàng)造智能未來。欲了解更多詳情,請(qǐng)參閱:
https://www.huawei.com/cn/press-events/events/huaweiconnect2018