WOT架構(gòu)師系列訪談(5)—— 小米方少森
原創(chuàng)【編者按】 51CTO 2014 WOT全球軟件技術(shù)峰會(huì)將在2014年7月25-26日在北京富力萬(wàn)麗酒店召開。從本周開始,我們將陸續(xù)公布會(huì)議內(nèi)容,并針對(duì)即將參會(huì)的架構(gòu)師訪談,以便大家進(jìn)一步了解會(huì)議內(nèi)容。會(huì)議詳細(xì)議程見: http://wot.51cto.com/2014/。
本次訪談的對(duì)象是方少森。他是小米運(yùn)維部的高級(jí)運(yùn)維研發(fā)工程師,在本次的WOT軟件技術(shù)峰會(huì)中,將分享小米的自動(dòng)化運(yùn)維整體方案和核心的運(yùn)維自動(dòng)化組件,對(duì)此感興趣的朋友們多多關(guān)注吧。
【講師簡(jiǎn)歷】
方少森,小米運(yùn)維部的高級(jí)運(yùn)維研發(fā)工程師,主要負(fù)責(zé)小米運(yùn)維自動(dòng)化設(shè)施的設(shè)計(jì)和開發(fā)。在小米成長(zhǎng)之初,負(fù)責(zé)小米應(yīng)用運(yùn)維團(tuán)隊(duì)的組件和運(yùn)維自動(dòng)化規(guī)劃。曾就職于百度,負(fù)責(zé)應(yīng)用運(yùn)維和運(yùn)維開發(fā)工作。
方少森 (@方少森)
以下是51CTO記者對(duì)話方少森的訪談實(shí)錄:
記者:您目前所在的團(tuán)隊(duì)規(guī)模大概是什么樣?運(yùn)維和研發(fā)人員的比例是多少?
方少森:小米公司成立的時(shí)間并不長(zhǎng),和很多創(chuàng)業(yè)公司一樣,最開始并沒有專有的運(yùn)維團(tuán)隊(duì),都是devs同學(xué)兼職的,既要兼顧業(yè)務(wù)開發(fā),又要兼顧運(yùn)行維護(hù),也很辛苦。那時(shí)在運(yùn)維相關(guān)規(guī)劃上還沒有太多的考慮,操作、上線基本都是手工面向單機(jī)進(jìn)行的,且缺少有效的監(jiān)控。畢竟術(shù)業(yè)有專攻,于是公司逐漸認(rèn)識(shí)到運(yùn)維的重要性,并在2012年成立了運(yùn)維團(tuán)隊(duì),我們的自動(dòng)化建設(shè)是從2012年5月份開始的。截止目前,小米涉及業(yè)務(wù)的運(yùn)維工程師已經(jīng)超過(guò)40人,支撐的研發(fā)人員達(dá)到500~1000人,并且還在不斷增長(zhǎng)中。
記者:請(qǐng)您簡(jiǎn)單談?wù)勑∶桩?dāng)前主要的技術(shù)架構(gòu),涉及哪些方面的技術(shù)?
方少森:這個(gè)問(wèn)題太大了~ 簡(jiǎn)單來(lái)說(shuō)是LNMP+大數(shù)據(jù)分析+云存儲(chǔ),模塊選型上多參考開源方案,整體方案上多為自主設(shè)計(jì)。
記者:請(qǐng)您介紹一下小米的自動(dòng)化運(yùn)維之路,主要分幾個(gè)階段?每個(gè)運(yùn)維階段遇到的困難與挫折、以及克服的原因是什么?
方少森:?jiǎn)慰催\(yùn)維自動(dòng)化,經(jīng)過(guò)過(guò)三個(gè)階段:純體力勞作 -> 系統(tǒng)獨(dú)立的自動(dòng)化推進(jìn) -> 整體的自動(dòng)化。
在運(yùn)維團(tuán)隊(duì)成立之初,從開發(fā)接過(guò)來(lái)的服務(wù)基本都是手工管理。接手服務(wù)之后,對(duì)服務(wù)進(jìn)行統(tǒng)一化管理,包括環(huán)境、依賴、管理方式等,并著手開發(fā)配套的運(yùn)維平臺(tái),包括機(jī)器管理、監(jiān)控、服務(wù)部署、域名管理等,這個(gè)階段是各個(gè)系統(tǒng)都有自動(dòng)化的解決方案,有API可以使用,但是整體上沒有串起來(lái)。有了各個(gè)系統(tǒng)的自動(dòng)化方案后,引入資源調(diào)度,合理利用各個(gè)系統(tǒng)API逐步整合出現(xiàn)有的整體自動(dòng)化方案,將機(jī)器上架后到服務(wù)部署上完全串起來(lái),做到無(wú)需登錄機(jī)器操作、無(wú)需手動(dòng)配置、無(wú)需手動(dòng)調(diào)整監(jiān)控。
期間遇到的***困難在于如何將服務(wù)的現(xiàn)狀逐步牽引到希望的自動(dòng)化方案上來(lái),經(jīng)歷后的心得主要有以下幾點(diǎn):
- 兼顧現(xiàn)狀,理想設(shè)計(jì)與現(xiàn)實(shí)情況的平衡;
- 收益與改造成本兼顧,改造不能太多太復(fù)雜;
- 看似一個(gè)簡(jiǎn)單問(wèn)題,實(shí)際需要很多基礎(chǔ)設(shè)施、開發(fā)模式進(jìn)行改變。
記者:當(dāng)服務(wù)器遇到大流量(比如說(shuō)小米手機(jī)搶購(gòu)時(shí)間節(jié)點(diǎn)的流量)峰值時(shí),您這邊有沒有專門的應(yīng)對(duì)措施?是如何做性能優(yōu)化的?
方少森:如何應(yīng)對(duì)每次電商活動(dòng)時(shí)的超大流量問(wèn)題一直是我們?cè)诓粩鄡?yōu)化的事情。整體上包括業(yè)務(wù)優(yōu)化和性能優(yōu)化兩部分:業(yè)務(wù)優(yōu)化包括登陸購(gòu)買業(yè)務(wù)邏輯的簡(jiǎn)化和過(guò)大流量的吸收排隊(duì),性能優(yōu)化包括通過(guò)ssl加速卡提升nginx性能、cdn、各層級(jí)引入cache等進(jìn)行優(yōu)化。
記者:公司實(shí)施自動(dòng)化運(yùn)維后,是否真的在本質(zhì)上促進(jìn)了運(yùn)維自動(dòng)化水平的提高?您個(gè)人認(rèn)為還有哪些需要改進(jìn)的方面?
方少森:自動(dòng)化對(duì)SRE的日常工作影響非常大。自動(dòng)化能夠?qū)RE從頻繁的環(huán)境搭建/調(diào)整、部署上線、監(jiān)控調(diào)整等瑣事上抽身出來(lái),并且能否規(guī)避大量的人為風(fēng)險(xiǎn)。
目前比較緊迫的還是人力問(wèn)題,項(xiàng)目處于上升的關(guān)鍵時(shí)期,需要人手維護(hù)系統(tǒng)和滿足新的需求。
記者:作為運(yùn)維開發(fā)工程師而言,您目前最關(guān)注的技術(shù)是什么?您自己是如何學(xué)習(xí)并掌握新技術(shù)的?
方少森:目前在關(guān)注輕量級(jí)虛擬化、運(yùn)維數(shù)據(jù)分析(trace、安全等)、以及資源動(dòng)態(tài)調(diào)度等方面。了解的方式主要是開源社區(qū)、各個(gè)會(huì)議以及公司之間的交流等。
記者:以您的經(jīng)驗(yàn)來(lái)看,一名合格的運(yùn)維研發(fā)工程師應(yīng)該具備哪些方面的技術(shù)素養(yǎng)與知識(shí)儲(chǔ)備?
方少森:其實(shí)對(duì)于參與運(yùn)維工作的同學(xué),不管偏開發(fā)還是偏運(yùn)維,對(duì)運(yùn)維的意識(shí)和感覺是必備的技能。只有設(shè)計(jì)運(yùn)維系統(tǒng)的時(shí)候充分考慮到使用的場(chǎng)景,才能夠確保將來(lái)系統(tǒng)帶來(lái)正向的作用。
因此在小米,SRE承擔(dān)了運(yùn)維系統(tǒng)產(chǎn)品設(shè)計(jì)和大部分開發(fā)等工作,這樣可以確保運(yùn)維系統(tǒng)來(lái)源于實(shí)踐、作用于實(shí)踐。包括我在內(nèi)也是兼具SRE和運(yùn)維開發(fā)。(全文完)
阿里、百度、京東、淘寶、谷歌、Facebook、Tesla都到2014 WOT全球軟件技術(shù)峰會(huì)了,你還等什么?這些***的公司將***對(duì)外公開技術(shù),涵蓋八大主題,共有40+課程,部署實(shí)施、運(yùn)維開發(fā)、大數(shù)據(jù)、Spark、敏捷開發(fā)一個(gè)都不少。除了***手的經(jīng)驗(yàn)之外,還有未來(lái)兩三年的技術(shù)趨勢(shì),你會(huì)讓自己錯(cuò)過(guò)這樣的技術(shù)大會(huì)嗎?