專訪阿里巴巴勝通:“雙十一”的備戰及去IOE這條路
2013年7月13日, 由阿里巴巴集團主辦的ADC·阿里技術嘉年華將在杭州海外海國際會展中心隆重開幕。51CTO記者很榮幸受邀參與了本次技術峰會,并采訪到了阿里巴巴的DBA陳昭尚(花名:勝通),就淘寶“雙十一”促銷活動相關技術和 去IOE 相關問題進行交流與探討。對比感興趣的朋友,不妨看看本文的采訪實錄。
以下是采訪實錄:
“雙十一”的前奏和預熱
51CTO:勝通您好,首先請做一下自我介紹。
勝通:我是陳招尚,花名勝通。零七年加入阿里巴巴,負責過淘寶的所有的核心系統數據庫,經歷和參與了淘寶幾乎所有核心數據庫的改造升級過程,淘寶***個分布式系統、***個核心系統分布式改造、歷年雙十一的數據庫主要負責人。
51CTO:那您在阿里巴巴目前主要職責是什么?
勝通:阿里巴巴這個團隊分了很多方向,有的是更專注基礎的,有的是專注產品應用的。產品應用就是我們數據庫系統應用在具體的產品里面,***事件這種。有的是專注集團核心的層面的,還有是專注一些類似的核心產品研發。比方說我們的數據流技術,這方面的新產品研發。我個人是在產品的應用,就是將數據庫應用到***的應用的狀態,就是使用上面。
51CTO:阿里巴巴每天數據量那么大,作為一個DBA而言,是不是會感覺比一般企業的DBA更有壓力?
勝通:說實話壓力確實有,在阿里來說的確得到很大的磨煉,有的時候,很多問題都是別人追著你來解決,那你就必須頂著這個壓力去做。我認為這樣有壓力其實就有鍛煉的機會,我們不能夠逃避。
51CTO:在去年淘寶“雙十一”促銷活動中,淘寶技術支撐受到了很多網民的追捧和認可,請問阿里在購物高峰的時候,怎么樣才能保證網站能夠正常的運行?你們利用了哪些相關的技術?
勝通:像“雙十一”這種非常重要的促銷活動,我們為它準備了很多。不是說我用了一個技術,就可以解決這些事情,包括很多方面。我可以簡單講一下我們做了一些主要的準備的事情。這個事情做完過后才能保證在“雙十一”當天不會出大簍子。
首先我們對業務要非常熟悉,核心流程的數據量化是***步。
第二步我們系統的,根據業務仔細研究,然后再根據業務的指標,我評估它的壓力會有多少,對系統有一個評估。接下來對它進行升級。
51CTO:是不是把升級做好就OK了?
勝通:從去年經歷的“雙十一”的經驗來講,不是把系統升級就OK的。首先想各種預案,有些預案數據庫就可以直接解決的,出了問題數據庫解決。另外數據庫解決不了,再想辦法解決。這種全部弄下來以后,我們需要不停地去演練。
第二點就是我們的容量非常準確地預估出來。我們預案估不是拍拍腦袋預估出來,而是有很多數據作為依據,一次交易會有多少個系統去訪問,會帶來什么東西?如果中間一步斷了,它又會去訪問哪里?***量化,***一位到個位數。現在說我我的個位數肯定不準,這個系統會有多少,一天會有多大的數據量,這個容量評估,評估后就是升級。然后再基于所有的各種產品進行演練。容災這個事情,如果在“雙十一”真的遇到這種情況,平時沒有演練的話,就會手忙腳亂。只有不停地鍛煉才會這樣子的結果,因為“雙十一”是阿里非常重要的一個活動,我們對它準備要非常地充分。基本上“雙十一”搞定了,全年的活動就搞定了一大半。
51CTO:淘寶強大的技術使命會讓很多人聯想起12306購票,就是一票難求。很多網友就將二者對比,12306能不能應用阿里“雙十一”的技術應對搶票的問題,您對這個事情是怎么看待的?
勝通:淘寶也有有壓力的時候,在過去并不是說從來就沒有出過簍子,不是這樣的情況,它也是一步一步鍛煉出來。我們看12306在剛出來,在后來一段時間,個人認為是有很大改進的。但這個改進,用這樣的技術,用淘寶這種思想去做。我認為假如真的投入這樣進去,肯定是能夠有很大的緩解。其實12306有的時候可能真的不是技術的問題,客運量就只能拉這么拉這么多人,如果超出了這個范圍,真的是沒辦法。這不是我們計算技術能解決的。
51CTO:可能也是客觀的因素,技術不是主要的因素?
勝通:12306怎么說呢?在我們的政府網站中還算是走的比較遠的,走的比較快的,政府的其他東西好像還沒有它的步伐邁的快是不是?技術上我是覺得,雖然說外面有批評。但是他們后期做了很多改進,我們不能總看到人家一個缺點,看不到他們的改進。其實淘寶也正是因為一次一次的問題,一次次地改進,才有了今天這樣的比較完善的架構和技術體系。
51CTO:今年的“雙十一”你們有做哪些準備?是階段性的么?還是說從年初就開始著手做這件事了?
勝通:去年“雙十一”過后也遇到很多問題,年后就開始改進。今年正式啟動“雙十一”,我們已經開始著手做各方面的準備了。去年的部分問題我們都進行修復了。今年為了解決去年一些比較核心的問題也做了很大的改進,甚至成立專門的團隊來做這些事。但是有些東西可能還不太方便說。但是我想說的是,今年我們要做的比去年好。去年大家感覺不爽的地方,今年一定不讓大家感覺到不爽,這是我們的目標。如果真的還會有,比方說新的業務的變化,有的一些新的東西,問題進來了,我不知道會不會有,但是我們肯定要對這種情況去分析,去做準備。
51CTO:您剛剛提到的規模化運維。規模化運維與自動化運維的關系是?淘寶的規模化運維大概是什么樣?
勝通:規模化運維是從面對人的角度來說,自動化運維把我們的系統往自動化運維方向去做。就是用技術的手段來解決規模化問題,是這樣的一個結果,它們倆就是這樣的關系。提到淘寶的規模化運維,其實之前還沒到這么大的規模。我們之前可能只有十幾道庫,不能算是規模化。但是現在三千套了,一旦達到規模以后,從機器的采購到交付到上架,再到上系統,再到投入使用。每一個環節都要相互銜接好,因為都是不同的人來做。每個環節單獨的一方面,包括程序對系統的應用,我們需要做到非常一體化的這種,天衣無縫,人介入其中肯定是越來越少了,就是讓系統來實現這樣子的。#p#
阿里 去IOE 這條路
51CTO:阿里走上 去IOE 這條路,主要是出于什么原因考慮的?
勝通:我覺得是三個方面的因素推動的:
***方面是直接的因素,我們不會回避,直接的因素是錢的問題。如果再次做一遍成本有點高,這是***點。我們老板講過一句話,IT這個行業存在的原因就是為了給大家省錢,效率提高,錢就省下來了,這是最直接的原因。但是它不是唯一的原因,它的占比也不是非常高。
第二方面是本身的資源的問題。比方說,在當時的那套系統環境下,可能預計一年后無法滿足業務需求,業務的高速發展絕對會突破當時所能夠達到的***線,所以我們在整體架構上必須要做這樣一個轉變。把這個比喻為土地的話,可能更好理解。當土地不夠用了,必須得要挖更多的土地出來。
第三個方面是人的因素,也是最重要的一個原因。當時技術把控,掌控力這塊,像 Oracle 這么大, IBM 這么大,其實他們的很多技術無法滿足我們在推動產品方面的需求。而且他們是一個邊緣的市場,再加上我們的技術能力來說,雙方都無法滿足了。
在這種狀態下,就促使我們走上了 去IOE 這條路。
51CTO:阿里 去IOE 這條路也適用于其它企業么?
勝通:首先一點,我們這個方向是正確的。但是并不代表所有的企業都得往這個方向走,假設你的技術沒有那么強,而且你還沒有那么到必須走這條路的時候,提前做這件事情,其實不太好的。我不是給那些商業公司打廣告,他們的確在某些方面做的很好, Oracle 的監控其實做的很好。以前看到他們的報表,我就知道到底是什么問題了。我覺得其實很好,***走了這條路,我們實在是因為到了那個時候,沒有辦法才走這條路的。所以千萬要保持頭腦冷靜一點,不要一股腦跟風。因為業界上也有一些比較牛逼的、出名的公司,結果因為技術改造改掛了,也有這種出現過。所以一定要謹慎,但是整體方向上,個人認為是不會錯的,如果你有那個實力的時候。
個人感覺其實永遠沒有一個***的技術,只有一個最合適的技術。淘寶早期的時候,業務目標是***的,那么可能需要我們以最快的方式滿足業務,因為它是一個粗放性的公司。如果一個粗放性的公司,你說我一開始就走現在這條路可不可以?其實是可以的,但是商業市場是否允許你這樣去做,這是自己本身的一個決斷。這件事情本身是有很大風險的。中間任何地方出了問題,都可能會產生很大的影響。看你是不是有這個決心去做這件事了,而且做這件事情必須要有個非常強的組織保障,必須要把其它阻力劃界,然后來做這樣一件事情。
另外一點,從技術上來說,往開放的方向走肯定是正確的。第二要架構上靈活。你往這兩個方向上走肯定是正確的,其實 去IOE 并不等于是去掉 IBM 、去掉 Oracle 、去掉 EMC 。它只是技術架構本身的一個革新,我們在走這樣一條路而已。
整體上來說,我是認為,從環境、從時勢上來看,各公司都有各種不同的策略,還是得根據自己公司的實際情況來衡量一下。公司很小的時候,船小好掉頭,如果你有這個精力。
51CTO:在 去IOE 整個過程中,你們遇到的***的困難是什么?或者是遇到了哪些挑戰?
勝通:我大致講一點,***點可能很多人不理解是業務重要還是技術重要?你為什么要做這件事情?畢竟你現在完全滿足我一兩年以后的市場。這個事情其實你去說服他也很困難,這個首先組織上要有這個意識,你上層領導對你做這個事情的態度很重要。
還會有一些的想法,比方說有的人會說,你說只有合適的***時間對不對?我這個地方到底去不去按照你這條路來走?其實應該根據我來判斷對不對?一些東西都是很多的應用,這個時候我是,***總結多做事,你把事情做出來以后,有的事情不是說當時就能夠證明你是正確的。可能是兩年以后、三年以后才會發現這些。如果當時不走這條路,其實在去年的“雙十一”就非常的困難。
好的,訪談就到這里,非常感謝勝通的分享!各位網友如有相關問題,歡迎您留言討論。