云服務(wù)場景下如何踐行DevOps
相對于傳統(tǒng)IT產(chǎn)品,做好云服務(wù)的基礎(chǔ)就是以經(jīng)營用戶為核心去經(jīng)營產(chǎn)品,在云服務(wù)場景下,踐行DevOps,首先是把握DevOps的本質(zhì),轉(zhuǎn)變思維模式。
一、什么是DevOps?
度娘給的定義: DevOps(英文Development和Operations的組合)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運(yùn)營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。它的出現(xiàn)是由于軟件行業(yè)日益清晰地認(rèn)識到:為了按時交付軟件產(chǎn)品和服務(wù),開發(fā)和運(yùn)營工作必須緊密合作。
二、為什么要DevOps?
舉個例子:古代婚姻,靠的是“媒人”,父母之命,媒妁之言?;榍岸际峭ㄟ^媒人來來回回的傳話,男女雙方的父母大概了解對方的家庭背景,孩子的長相和品性,孩子的意愿等等,如果合適就定下這門親事,然后開始準(zhǔn)備婚禮。整個過程,男女雙方不能見面,只能聽說和想象,在洞房花燭夜才真相大白。現(xiàn)在婚姻是靠相互“試探”的過程,男女雙方從心動的那一刻起,要多次約會,中間可能會經(jīng)歷爭吵、分手、磨合,感情逐步升華,最終走進(jìn)婚姻的殿堂。
對于硬件來說,硬件設(shè)計具有“所見即所得”的特點,設(shè)計圖畫什么樣,實物就長什么樣。前端設(shè)計考慮得詳細(xì),后端的返工的風(fēng)險就低。硬件一旦返工,周期長,成本高。所以硬件開發(fā)強(qiáng)調(diào)分析、設(shè)計階段要有高質(zhì)量的文檔、要經(jīng)過充分的評審,才能進(jìn)入開發(fā)階段。對于硬件,設(shè)計文檔這個“媒人”很“靠譜”。
對于云服務(wù),文檔這個“媒人”就沒那么靠譜了,我們只能通過和客戶“相互撩”才能洞悉客戶需求、做出客戶真正需要的服務(wù)。所以最合理的開發(fā)方式是:不要一次追求“完美”,盡可能早的寫出代碼進(jìn)行測試,然后通過客戶的反饋不斷修改,達(dá)到完美。
所以, DevOps的目的不僅僅是促進(jìn)Development和Operations的溝通協(xié)作和整合,更是通過提升與客戶“互相撩”的頻率和質(zhì)量,達(dá)到交付客戶滿意的云服務(wù)產(chǎn)品的目的。通俗地說,要做好云服務(wù),就是要想辦法,把客戶“撩”好。 DevOps, 就是解決怎么才能把客戶”撩’得好的方法和手段。
三、怎么實現(xiàn)DevOps?
怎么才算DevOps? 我們有眾需、有灰度發(fā)布、有眾測、有敏捷,有PI,有自動化流水線, 有看板,有每日站會,就DevOps了? 這些都是DevOps的實踐,是DevOps這棵大樹上的果子。怎么實現(xiàn)DevOps, 就是要把客戶撩好,本次主要圍繞以下三點展開。
1. 跑得快
什么樣算跑得快?簡單地說就是客戶需求和客戶問題能夠快速搞定。 客戶需求XX小時上線, 客戶問題XX小時閉環(huán),這里大家可以自定義 4個小時、8個小時等。
要跑得快,架構(gòu)解耦是基礎(chǔ),微服務(wù)化、組件化等等都是圍繞這個展開。
怎么能跑得快? 懂客戶需求,能夠第一時間甚至提前將客戶需求的東西提供給客戶使用。怎么懂客戶需求?就是構(gòu)筑友好快捷的與客戶互動的接觸面,能夠經(jīng)常高質(zhì)量地撩到客戶。 另外就是全流程高度自動化,精準(zhǔn)測試,能快速發(fā)布等; 還有流程/審核不要束縛等。如果一方面要跑的快,一方面還靠人肉去堆,不借助工具提高效率,那就不是真的想跑的快。
2. 跑得穩(wěn)
跑得穩(wěn),可以簡單通俗地理解為交付客戶服務(wù)質(zhì)量好,業(yè)務(wù)運(yùn)行穩(wěn)定不出事。
怎么做到業(yè)務(wù)運(yùn)行穩(wěn)定不出事,質(zhì)量好? 一方面服務(wù)交付上線前負(fù)責(zé)驗證把關(guān)的人和工具要很清楚明白:人要對交付的產(chǎn)品了如指掌,很清楚需求是啥,我們通過哪些手段保證了需求的質(zhì)量是ok的; 工具平臺要起到門禁的作用,通過才放行。另一個方面就是提前預(yù)防或則發(fā)現(xiàn)現(xiàn)網(wǎng)故障和問題, 先于客戶發(fā)現(xiàn), 在客戶發(fā)現(xiàn)前已經(jīng)把問題解決了, 這就需要強(qiáng)大的運(yùn)維監(jiān)控平臺和現(xiàn)網(wǎng)運(yùn)維體驗等了;第三個方面是要具備危機(jī)事件處理能力,現(xiàn)網(wǎng)事故能夠第一時間內(nèi)快速規(guī)避,消除客戶影響,錯過了第一時間,后期要耗費(fèi)十倍百倍以上的努力和代價去彌補(bǔ);一些優(yōu)秀的互聯(lián)網(wǎng)產(chǎn)品不是不出事,而是出事后能夠很好地滅火。
3. 持續(xù)跑
首先最重要的就是績效考核牽引。例如云服務(wù)模式下,如果考核現(xiàn)網(wǎng)問題個數(shù),那誰還敢快速上線? 如果考核用戶數(shù),誰不想盡各種辦法去擴(kuò)展客戶?
其次就是組織運(yùn)作高效。自組織型組織,激活基層人員大腦,每個人都以主人翁的心態(tài)做服務(wù)。 每日站會有時候也是浪費(fèi),一堆人擠在一起聽一兩個人講,站會開一個小時還天天開,不是浪費(fèi)嘛,有問題拉相關(guān)人聊一聊就完了。核心工作時間聚焦核心價值產(chǎn)出, 管理者要保護(hù)員工核心工作時間。全功能團(tuán)隊OneTeam理念,各角色之間深度融合,注重人與人之間高效的協(xié)作和互動,而不是過分關(guān)注流程和工具,這些都是為了人與人之間更好的協(xié)作而服務(wù)的。
然后就是精神文明建設(shè),看起來有點虛, 其實可以做實。 只有一群有特質(zhì)的、有某種優(yōu)良基因的團(tuán)隊,才能打磨出一個優(yōu)秀的成功的產(chǎn)品。 這種特質(zhì),比如協(xié)作、分享、試錯等等, 是基于產(chǎn)品需要的,是對產(chǎn)品的深度思考和親自踐行、持續(xù)形成的一種行為特征、做事方法、工作能力等等。 一個有特質(zhì)的團(tuán)隊, 自然會積累該相關(guān)特質(zhì)的豐富的物資文明,比如一個高效的研發(fā)團(tuán)隊,必然會積累有較高且穩(wěn)定的自動化環(huán)境或則說基礎(chǔ)。
最后總結(jié)一下,相對于傳統(tǒng)IT產(chǎn)品,做好云服務(wù)的基礎(chǔ)就是以經(jīng)營用戶為核心去經(jīng)營產(chǎn)品,在云服務(wù)場景下,踐行DevOps,首先是把握DevOps的本質(zhì),轉(zhuǎn)變思維模式。
【本文為51CTO專欄作者“大數(shù)據(jù)和云計算”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號獲取聯(lián)系和授權(quán)】