專訪撫琴煮酒:漫談CDN運維與電子商務(wù)運維
原創(chuàng)【51CTO獨家專訪】運維需要掌握各個方面的技術(shù)和知識,如何才能少走彎路?在CDN做運維和在電子商務(wù)網(wǎng)站做運維有什么不同?在本次人物訪談中,我們邀請到了資深項目管理工程師余洪春(撫琴煮酒)跟我們分享他的一些經(jīng)驗心得。
在之前的一些文章和訪談中我們也介紹過,撫琴煮酒在2005年開始正式進入企業(yè)網(wǎng)管的崗位,在2007年到2009年之間在北京3158維護CDN系統(tǒng),后來回到武漢某外企任職高級Linux/Unix系統(tǒng)管理員、項目實施工程師,負(fù)責(zé)電子商務(wù)網(wǎng)站維護、內(nèi)網(wǎng)開發(fā)環(huán)境部署、以及技術(shù)研發(fā)支持等工作。最近加盟新組建的電子商務(wù)網(wǎng)站一拍網(wǎng),擔(dān)任系統(tǒng)架構(gòu)師一職。
姓名 | 余洪春(撫琴煮酒) 英文名Andrew.Yu |
職位 | 武漢某外企高級Linux/Unix系統(tǒng)管理員、項目實施工程師,一拍網(wǎng)系統(tǒng)架構(gòu)師 |
技術(shù)特長 | 負(fù)載均衡高可用和中小型證券類和商務(wù)網(wǎng)站架構(gòu) |
目前關(guān)注 | 網(wǎng)站架構(gòu)和網(wǎng)絡(luò)安全 |
個人博客 | http://andrewyu.blog.51cto.com/ |
51CTO:首先介紹一下您現(xiàn)在的情況吧。您現(xiàn)在加盟一拍網(wǎng),主要還是負(fù)責(zé)電子商務(wù)網(wǎng)站維護、內(nèi)網(wǎng)開發(fā)環(huán)境部署和技術(shù)研發(fā)么?
撫琴煮酒:主要是負(fù)責(zé)電子商務(wù)網(wǎng)站維護和技術(shù)研發(fā)。由于是小公司,所以不存在內(nèi)網(wǎng)開發(fā)環(huán)境這塊,程序這塊我們?nèi)客獍鋈チ?;公司沒有程序員,肯定就不存在內(nèi)網(wǎng)開發(fā)環(huán)境這一說。
一拍網(wǎng)的網(wǎng)站架構(gòu)現(xiàn)在是我在設(shè)計。一開始預(yù)算不多,前期規(guī)模不會很大,后期我會再增加四臺web服務(wù)器和四臺squid反向加速服務(wù)器,全部用二手的2950,這樣性價比最高!
51CTO:也就是相當(dāng)于現(xiàn)在更多還是偏向于生產(chǎn)環(huán)境運維這一塊了。從酒哥的經(jīng)歷看來,您自己對Windows、Linux/BSD服務(wù)器,網(wǎng)絡(luò)以及數(shù)據(jù)庫都有所涉獵。學(xué)了這么多方面的東西,您覺得從2005年正式開始轉(zhuǎn)作企業(yè)網(wǎng)管到現(xiàn)在,發(fā)展的過程中有沒有哪些走了彎路的地方?
撫琴煮酒:我感覺在工作中有二個方面花了不少時間和精力,但收益非常之少;
一個方面,我有段時間很喜歡研究別人沒研究過的東東,比如DDNS,花了不少時間和精力做出來的實驗卻沒法在生產(chǎn)環(huán)境中應(yīng)用,還有samba結(jié)合域控等,我也想提醒大家,建議大家學(xué)習(xí)和努力的方向,應(yīng)該是生產(chǎn)環(huán)境下能用得著的,大家真正在企業(yè)做事,領(lǐng)導(dǎo)真正看中的是你的經(jīng)驗,即你能夠迅速投入生產(chǎn)環(huán)境的技術(shù),而不是你會什么能什么;
第二個方面,我花了接近一年時間從事RHCE和Linux方面的教學(xué)工作,雖然認(rèn)識了不少朋友,也拓寬了自己的職業(yè)發(fā)展方向,但我個人覺得,這種工作性質(zhì)跟我目前從事的項目實施工程師還是很有距離,做講師雖然是一個知識沉淀的過程,但由于接觸不到生產(chǎn)環(huán)境,技術(shù)退步的反而性可能更大。
51CTO:就是說如果希望在項目實施工程師方向成長,最有效的方式還是盡可能的多參與生產(chǎn)環(huán)境的項目,這樣才能知道企業(yè)真正需要什么技術(shù)么?
撫琴煮酒:恩,如果對自己有要求和不怕辛苦的話,建議多參加生產(chǎn)環(huán)境的項目實踐,這是一個方面。第二個方面建議在一些大公司和門戶網(wǎng)站做事。因為如果沒有足夠大的并發(fā)環(huán)境,許多開源的新技術(shù)都用不上;大家現(xiàn)在可以關(guān)注下淘寶的新架構(gòu),用了不少自己開發(fā)的新技術(shù),這個也是我們應(yīng)該關(guān)注的。企業(yè)真正需要的并不是什么技術(shù),它需要的是能做事的人,特別是能夠為自己的公司節(jié)約錢的人,這也是現(xiàn)在Xen虛擬化和集群如何流行的原因之一!
51CTO:剛好您說到節(jié)約錢,那我就先順便問一句:酒哥有沒有遇到過老板出于成本考慮不愿意添加服務(wù)器的情況?
撫琴煮酒:這種情況居多啊。像我現(xiàn)在做的許多小網(wǎng)站,就是因為客戶不愿意增加服務(wù)器,逼得我用HAProxy做1+2的架構(gòu);而公司用的測試服務(wù)器就不說了,經(jīng)常是組裝的服務(wù)器,裝個VMware ESXI都裝不上,所以我只有花許多時間來測試VMware Server和思杰的XenServer5.6!
(編輯注:這也是撫琴煮酒寫過很多虛擬化方面文章的原因。參考文章:
51CTO:難怪酒哥把各種虛擬化都試用了一圈。那么回到之前走彎路的那個話題。比如酒哥在07-09年間在北京3158負(fù)責(zé)維護CDN系統(tǒng)。那么07年之前,您對CDN系統(tǒng)有什么樣的理解?然后現(xiàn)在您要總結(jié)的話,維護CDN系統(tǒng)都需要哪些技術(shù)?
撫琴煮酒:CDN主要是用來解決高并發(fā)和南北互連的問題,南北互連的問題即電信和網(wǎng)通之間的問題,CDN維護的技術(shù)含量非常高的,我覺得應(yīng)該至少具備:
一、極熟悉linux/FreeBSD系統(tǒng),我希望這方面的經(jīng)驗至少是3-5年以上的,因為很多時候我發(fā)現(xiàn),CDN系統(tǒng)都是基于FreeBSD的;
二、極熟練的配置Linux的集群技術(shù),比如LVS/Nginx/HAproxy,還有F5等硬件負(fù)載均衡,軟件級別的負(fù)載均衡我希望大家能到一個比較精的水平;
三、了解squid和varnish原理,能夠熟練的配置和優(yōu)化它們;還有Nginx,這個是基本功,這一點是玩CDN中最重要的,尤其是squid的優(yōu)化。
四、bind的智能view搭建和維護,這個不多說了,基本功;
五、熟悉至少一種數(shù)據(jù)庫,能夠DBA一起交流,能夠設(shè)計數(shù)據(jù)庫架構(gòu)和切分,解決流量過大時,數(shù)據(jù)庫的壓力問題;
六、熟悉iptables的配置(這個看公司的需求了,有的公司有錢,全硬防);
七、能夠熟練的配置openVPN,解決節(jié)點之間互連的問題;
八、能夠用SHELL和puppet等分布式工具,解決和節(jié)點服務(wù)器自動配置和同步的問題。
CDN維護的技術(shù)含量非常高,我這里的要求只少不多,有些技術(shù)問題我可能暫時也沒想到,因為現(xiàn)在CDN基本都是上億級的PV,并發(fā)一般都是上萬,這樣的環(huán)境是最鍛煉人的!
51CTO:CDN維護的工作聽起來很復(fù)雜。相比之下,電子商務(wù)網(wǎng)站的運維又有哪些特別值得注意的技術(shù)點呢?
撫琴煮酒:CDN我感覺是架子大,初期搭好比較難,但搭好以后維護就相對輕松一些,大家各司其責(zé)就行,每一個節(jié)點都有一組集群,集群中的某臺服務(wù)器出問題也沒什么問題;但電子商務(wù)就不一樣,我感覺每一天就像打仗一樣,因為牽涉到的都是錢,所以絲毫不能松懈,電子商務(wù)網(wǎng)站我覺得應(yīng)該掌握的技術(shù)有:
一、熟悉安全技術(shù),了解硬件防火墻性能,能熟悉的配置iptables和了解Linux/Unix相關(guān)的安全工具;
二、熟練的配置Linux的集群技術(shù),比如LVS/Nginx/HAproxy,了解其原理和會話保持機制;
三、熟悉的配置Nginx和Apache服務(wù)器,能熟練的配置其正則;
四、熟悉和了解MySQL或oracle數(shù)據(jù)庫,至少要了解一種;
五、熟悉存儲;
六、熟悉和了解虛擬化技術(shù);
七、極熟悉SHELL腳本,用其實現(xiàn)工作中的各項需求;
八、懂PHP或java代碼。
51CTO:我記得酒哥前一陣子在研究到底用lvs+keepalived還是Haproxy+Heartbeat架構(gòu),我現(xiàn)在看一拍網(wǎng)的架構(gòu)圖,最終還是選擇了lvs+keepalived的架構(gòu),這個選擇是出于哪方面的考慮?
撫琴煮酒:LVS+Keepalived我用了好多了(這種大家都應(yīng)該相當(dāng)了解和熟悉),我很多網(wǎng)站都是用這種成熟的負(fù)載均衡高可用方案, 一拍網(wǎng)的架構(gòu)的負(fù)載其實是二層,LVS(一層--》Nginx(二層);由于我目前還只是將HAProxy+Heartbeat在內(nèi)網(wǎng)測試環(huán)境下通過,主要是擔(dān)心heartbeat的心跳問題。
HAProxy跟LVS比較類似,主要是Keepalived跟Heartbeat不一樣,Keepalived是通過發(fā)送vrrp包,模擬一個路由出來;而Heartbaet的工作機制大家應(yīng)該有所了解,它是比較成熟的雙機方案,這里我不也想混淆大家,HAproxy+Heartbeat方案只是我研究的興趣方向,如果大家想用成熟的線上方案,我推薦LVS+Keepalived或Nginx+Keepalived,參考地址:
http://network.51cto.com/art/201101/241997.htm
51CTO:那么就差不多最后一個問題。談?wù)勀R上要出的新書《構(gòu)建高可用的Linux服務(wù)器》吧。這本書差不多8月能買到了吧?主要適合哪些人群閱讀?
撫琴煮酒:對,8月底可以買到了。這本書主要涉及的是有幾個方面,Linux集群、iptables防火墻和Linux安全及Xen虛擬化在里面占了很大比重,此書適合系統(tǒng)管理員、開發(fā)人員和網(wǎng)絡(luò)管理員及IT類學(xué)生閱讀。
51CTO:感謝撫琴煮酒本次的分享!本次專訪到此結(jié)束。
【編輯推薦】