云計(jì)算時(shí)代:運(yùn)維人應(yīng)該要懂得什么
21ic通信網(wǎng)訊,云計(jì)算時(shí)代給大家?guī)Я撕芏鄼C(jī)遇,同時(shí)也帶來(lái)了很多挑戰(zhàn),有人就認(rèn)為隨著云的普及,運(yùn)維人員將會(huì)最終消失。當(dāng)然,這個(gè)論點(diǎn)不免有些偏激,但云時(shí)代的確給運(yùn)維帶來(lái)了很多不同,也讓運(yùn)維從業(yè)人員開(kāi)始思考很多問(wèn)題。在近日舉辦的中國(guó)運(yùn)維和安全大會(huì)上,我們就欣喜地看到了很多樂(lè)意迎接挑戰(zhàn)的同學(xué),也有很多大牛分享了自己的經(jīng)驗(yàn)與心得。
中國(guó)的第一代黑客,現(xiàn)任UCloud CEO的季昕華為大家分析了云計(jì)算時(shí)代為運(yùn)維與安全帶來(lái)的挑戰(zhàn)和機(jī)會(huì)。首先,運(yùn)維人員要有一些基本的素質(zhì)要求,其中包括懂風(fēng)水,在機(jī)房選址時(shí)是否處于地震帶,吹的什么風(fēng)向,當(dāng)?shù)仉妰r(jià)如何都是運(yùn)維要考慮的;懂網(wǎng)絡(luò),在國(guó)內(nèi)特殊的網(wǎng)絡(luò)環(huán)境下,要理解南北差異;要有體力,必要時(shí)能去機(jī)房搬服務(wù)器;還要懂操作系統(tǒng),懂網(wǎng)絡(luò)攻擊防御等等……
可是大多數(shù)運(yùn)維人員在公司中的地位不高,而且在行業(yè)中的薪資相對(duì)偏低,究其原因還是因?yàn)檫\(yùn)維的從業(yè)門(mén)檻低,大家對(duì)運(yùn)維的認(rèn)知度不高。因此,季昕華認(rèn)為,除了上述基本知識(shí),運(yùn)維人員還因具備以下三方面的素質(zhì):
懂業(yè)務(wù),例如要能理解產(chǎn)品的用戶是一線城市還是二線城市,是PC端還是移動(dòng)端,在對(duì)業(yè)務(wù)有足夠的了解的情況下,才能讓你的工作成為領(lǐng)導(dǎo)關(guān)心的事。
運(yùn)營(yíng)化,將運(yùn)維中的意外管理變?yōu)檫^(guò)程管理,并能持續(xù)改進(jìn)、持續(xù)優(yōu)化;運(yùn)維要能做到四個(gè)“第一”,即第一時(shí)間發(fā)現(xiàn)問(wèn)題,第一時(shí)間定位問(wèn)題,第一時(shí)間解決問(wèn)題和第一時(shí)間反饋問(wèn)題。
系統(tǒng)化,要能通過(guò)各種系統(tǒng)來(lái)輔助運(yùn)維工作,甚至要能自己開(kāi)發(fā)運(yùn)維系統(tǒng)。
目前擺在大家面前有幾個(gè)瓶頸,第一是成長(zhǎng)空間有限,在公司的地位不高,行業(yè)內(nèi)的知名度也不高;第二是云計(jì)算可能會(huì)革掉很多運(yùn)維人員的名,很多小的初創(chuàng)企業(yè)甚至都不需要運(yùn)維;第三是人員轉(zhuǎn)型困難大。
當(dāng)然,機(jī)會(huì)也有不少,比如,互聯(lián)網(wǎng)正在快速地改變傳統(tǒng)行業(yè),之前興起的O2O浪潮就是很好的例子,運(yùn)維人員可以幫助那些傳統(tǒng)行業(yè)快速地成長(zhǎng);大數(shù)據(jù)的到來(lái)也為大家打開(kāi)了一扇窗戶;另外就是云計(jì)算,當(dāng)你能把一個(gè)行業(yè)做精做細(xì),就能把它挖掘成一個(gè)產(chǎn)業(yè),例如又拍云、DNSPod、監(jiān)控寶和安全寶都是最好的例子。
季昕華建議大家在使用那些免費(fèi)的運(yùn)維服務(wù)時(shí),如果可以,就更多地向他們付費(fèi),讓公司知道運(yùn)維也是有價(jià)值的。當(dāng)臺(tái)下有開(kāi)發(fā)的同學(xué)問(wèn)到該如何幫助運(yùn)維同學(xué)時(shí),幾位嘉賓都講到了如果能夠做到DevOps那是最好的,不要再出現(xiàn)這樣的情況:
產(chǎn)品不足,開(kāi)發(fā)補(bǔ),開(kāi)發(fā)不足運(yùn)維補(bǔ),運(yùn)維不足客服補(bǔ)
既然云是本次大會(huì)的一個(gè)重要主題,那自然少不了云存儲(chǔ)的內(nèi)容。來(lái)自七牛的韓拓為大家介紹了七牛在建設(shè)云存儲(chǔ)方面的一些做法,他的分享分為兩部分——底層存儲(chǔ)和構(gòu)建于前者之上的云存儲(chǔ),兩者在設(shè)計(jì)上有著截然不同的地方。
底層存儲(chǔ)有以下難點(diǎn):
元數(shù)據(jù)管理
對(duì)冗余度的控制(副本的數(shù)量與成本的平衡點(diǎn))
修復(fù)速度(直接影響存儲(chǔ)系統(tǒng)的可靠性,在七?;謴?fù)是集群任務(wù),盤(pán)上數(shù)據(jù)的副本松散地保存在集群中,目前能做到在十幾分鐘到幾十分鐘內(nèi)修復(fù)2到3T的數(shù)據(jù))
應(yīng)對(duì)容量的增長(zhǎng)
可接受的訪問(wèn)速度
合理、有效的緩存
七牛在網(wǎng)絡(luò)上采用了常規(guī)的千兆局域網(wǎng),這是考慮到了它的成熟度和成本,在機(jī)柜之間無(wú)法保證任意兩點(diǎn)間隨時(shí)都是千兆,甚至無(wú)法保證全聯(lián)通,而機(jī)房之間的速度,帶寬成本很高,速度與連通性都無(wú)法保證。因此,數(shù)據(jù)存儲(chǔ)的位置需要有一定的平衡,副本在同一機(jī)柜和不同機(jī)柜各有利弊,機(jī)房亦是如此。
在故障方面,除了要將故障視為常態(tài),更要能明確地知道要面對(duì)哪些故障,它們的成因、概率和影響范圍。
例如,常見(jiàn)的故障有:
1、機(jī)房?jī)?nèi)故障
網(wǎng)卡(斷線、降速)
網(wǎng)線(斷線、降速)
交換機(jī)(整體故障、單口故障、VLAN故障)
機(jī)柜級(jí)聯(lián)故障
2、機(jī)房間故障
區(qū)域性網(wǎng)絡(luò)故障(機(jī)房出口斷網(wǎng))
DNS解析故障(服務(wù)器之間DNS)
對(duì)于機(jī)房?jī)?nèi)的故障,不需要投入太多的資源成本做額外的高可用方案。
在網(wǎng)絡(luò)安全上,除了必要的基礎(chǔ)防御之外,更重要的是業(yè)務(wù)層面的防護(hù),公有云的基本原則是開(kāi)放,任何服務(wù)可以無(wú)條件暴露于公網(wǎng),機(jī)房間的交互與客戶無(wú)差別,不組VPN。
云存儲(chǔ)構(gòu)建于基礎(chǔ)存儲(chǔ)之上,它要能提供極高的上傳、下載速度,有極高的可用性,有極高的可靠性,有豐富的附加功能(縮略圖、水印等等),方便的網(wǎng)絡(luò)訪問(wèn)。
它的難點(diǎn)在于:
云存儲(chǔ)屬于終端網(wǎng)絡(luò),它直接面對(duì)用戶,情況復(fù)雜;它是最外層的接入點(diǎn),前端沒(méi)有機(jī)會(huì)做遮擋,對(duì)各種指標(biāo)要求高。
廣域網(wǎng)基礎(chǔ)設(shè)施普遍質(zhì)量不高,要基于99%可用的基礎(chǔ)設(shè)施來(lái)提供99.999%的服務(wù)。
提到基礎(chǔ)設(shè)施,機(jī)房的網(wǎng)絡(luò)是個(gè)大問(wèn)題,網(wǎng)絡(luò)延時(shí)可以從幾毫秒大到幾千毫秒,吞吐速度從幾十Mbps到幾Kbps,而且?guī)捚骄杀疽膊槐阋?。機(jī)房的可用性并不理想,經(jīng)常會(huì)有鏈路故障,甚至是大面積、區(qū)域性掉線、降速,不僅機(jī)房間有問(wèn)題,機(jī)房?jī)?nèi)也會(huì)頻繁故障,小城市、小運(yùn)營(yíng)商用戶會(huì)有個(gè)例無(wú)法訪問(wèn)的現(xiàn)象(七牛為用戶提供了下載SDK,在APP和Web上連接到本區(qū)域節(jié)點(diǎn)下載不到內(nèi)容時(shí),可通過(guò)SDK連接備用域名和IP)。
七牛對(duì)數(shù)據(jù)進(jìn)行了跨機(jī)房冗余,除了可靠性,更多地是為了可用性考慮;數(shù)據(jù)同步采用了分級(jí)異步同步的策略,最熱的數(shù)據(jù)秒級(jí)異步同步,而冷數(shù)據(jù)則會(huì)批量同步;成本方面,冗余度的提升并未造成線性的成本提升,同時(shí),異步同步還能智能地利用昂貴的帶寬資源。
提供云存儲(chǔ)的又拍云,為大家?guī)?lái)了與CDN與DDoS防御方面的一些經(jīng)驗(yàn)。邵海楊先是介紹了兩種DDoS的主要攻擊類(lèi)型,即緩慢性CC攻擊和致命流量攻擊,在他的日常工作中,遇到較多的是后者,來(lái)得快去得也快,不差錢(qián)的主經(jīng)常選擇這種方式。他指出:
一定要在第一時(shí)間發(fā)現(xiàn)攻擊的征兆,及時(shí)作出反應(yīng)。
黃冬曾經(jīng)表示過(guò),要防御DDoS,直接交給CDN就行了。邵海楊的觀點(diǎn)與他不謀而同,自建CDN有以下考量:
[!--empirenews.page--]硬件成本(1U的機(jī)箱放多塊主板,成本大約在一萬(wàn)五到兩萬(wàn)之間)
帶寬成本(雙線帶寬貴,做CDN加速不需要雙線,只需要單線機(jī)房即可,每兆大約只需1塊多)
架構(gòu)設(shè)計(jì)
配置要點(diǎn)
智能腳本
他對(duì)比了Squid、Varnish、Nginx、Apache Traffic Server(ATS)和HAProxy的強(qiáng)弱,目前又拍大量使用了ATS,集群規(guī)模已經(jīng)超過(guò)200臺(tái),ATS的集群功能現(xiàn)在還不完善,可以通過(guò)Nginx在前面做一層一致性Hash的轉(zhuǎn)發(fā),規(guī)避ATS的集群?jiǎn)栴}。另外他也強(qiáng)調(diào)了HAProxy強(qiáng)大的HTTP頭解析能力,是用來(lái)充當(dāng)防御層的合適選擇。可以根據(jù)具體的用途進(jìn)行選擇:
反向代理(路由加速,隱藏主節(jié)點(diǎn)):HAProxy>Nginx>Varnih>ATS>Squid
緩存加速(靜態(tài)加速、節(jié)省帶寬、邊緣推送):ATS>Varnish>Squid>Nginx>HAProxy
防御功能(快速解析、過(guò)濾匹配):HAProxy>Nginx>ATS>Squid>Varnish
此外,選擇的系統(tǒng)最好還要能支持文件讀取和匹配,支持熱加載生效和可插拔式的緩存組件靈活組合。
架構(gòu)是需要持續(xù)改進(jìn)的,又拍云的CDN就經(jīng)過(guò)了這樣一個(gè)過(guò)程:
智能DNS區(qū)域化(又拍云負(fù)責(zé)部署節(jié)點(diǎn),通過(guò)DNSPod實(shí)現(xiàn)智能節(jié)點(diǎn)選擇,自動(dòng)選擇離用戶最近的節(jié)點(diǎn),以此實(shí)現(xiàn)全網(wǎng)加速)
大規(guī)模日志分析(如何從日志中提取惡意代碼進(jìn)行分析?又拍云在Nginx中增加了一個(gè)模塊,將最近的URL保存在內(nèi)存中,以便實(shí)時(shí)分析,此外還有一個(gè)Hadoop集群分析日志)
后端管理不直觀(使用OpenCDN來(lái)提供多節(jié)點(diǎn)CDN管理平臺(tái))
CC和DDoS可能會(huì)交叉進(jìn)行,用HAProxy加后端存儲(chǔ),是應(yīng)對(duì)小流量攻擊的,如果在承受范圍內(nèi),可以選擇不切節(jié)點(diǎn),但是如果遇到大流量DDoS攻擊,可以立刻選擇切節(jié)點(diǎn)。邵海楊強(qiáng)調(diào)到防御DDoS攻擊,要靠技術(shù)、靠業(yè)務(wù),更要獲取高層的支持 。
在講了很多公有云相關(guān)的技術(shù)之后,支付寶的章邯為大家?guī)?lái)了一些與支付寶的私有云環(huán)境有關(guān)的內(nèi)容,他介紹了支付寶私有云中的以業(yè)務(wù)為核心的監(jiān)控產(chǎn)品。
在支付寶,除了常規(guī)的運(yùn)維監(jiān)控和應(yīng)用監(jiān)控,還有更多其他的訴求,例如業(yè)務(wù)監(jiān)控、合作伙伴監(jiān)控和SOA環(huán)境監(jiān)控。
章邯特別強(qiáng)調(diào)了一個(gè)概念——業(yè)務(wù)分析,它在支付寶的監(jiān)控體系中起著至關(guān)重要的作用:
實(shí)時(shí)BI——有時(shí)不是為了排查故障,而是為了確認(rèn)沒(méi)有問(wèn)題
確定故障范圍——不同的業(yè)務(wù)特征,代表了不同的故障影響范圍;不同的影響范圍,應(yīng)急人員有不同的策略
業(yè)務(wù)與合作伙伴——比如銀行,單個(gè)銀行下跌,可能是銀行的問(wèn)題,所有銀行下跌,可能是支付寶的問(wèn)題
業(yè)務(wù)與應(yīng)用的關(guān)系——通過(guò)監(jiān)控不同的業(yè)務(wù),可以快速定位故障
業(yè)務(wù)與業(yè)務(wù)的關(guān)系——雖然沒(méi)有系統(tǒng)間的直接關(guān)系,但業(yè)務(wù)直接確實(shí)有可能會(huì)存在相互的影響
業(yè)務(wù)與運(yùn)維策略的關(guān)系——例如,確定機(jī)房引流,流量的分配
業(yè)務(wù)與管控策略的關(guān)系——管控策略有很多,比如分組、降級(jí)、限流和引流,管控策略的制定和業(yè)務(wù)是息息相關(guān)的
很多公司都會(huì)采用在系統(tǒng)中埋點(diǎn)的做法進(jìn)行監(jiān)控,而支付寶則采用了業(yè)務(wù)分析結(jié)合現(xiàn)象分析的做法來(lái)進(jìn)行實(shí)時(shí)故障應(yīng)急處理。章邯指出:
埋點(diǎn)需要對(duì)所有服務(wù)器做埋點(diǎn)檢查,而故障的原因是無(wú)窮的,往往可以從現(xiàn)象癥狀上來(lái)判斷故障的原因。
隨后,他簡(jiǎn)單介紹了一下支付寶內(nèi)部基于日志的監(jiān)控解決方案XFlush,其中借鑒了Percolator、Storm、Spark、HayStack、GFS和RDDS的很多思想。XFlush追求的是低侵入性、增量計(jì)算、不保存原始數(shù)據(jù)、保證時(shí)效性、保證數(shù)據(jù)準(zhǔn)確性、保證可擴(kuò)展性、避免冗余計(jì)算和計(jì)算邏輯可擴(kuò)展性。為了實(shí)現(xiàn)上述內(nèi)容,甚至還實(shí)現(xiàn)了一套定制的分布式文件系統(tǒng)XStore,它的特點(diǎn)是能夠無(wú)限擴(kuò)展,純粹為周期統(tǒng)計(jì)計(jì)算和固話監(jiān)控點(diǎn)常見(jiàn)而定制,能做到極低的IO,提供高速、無(wú)IO的元數(shù)據(jù)檢索。
數(shù)據(jù)庫(kù)的運(yùn)維也是運(yùn)維的重要工作,作為一個(gè)運(yùn)維大會(huì),自然少不了數(shù)據(jù)庫(kù)相關(guān)的內(nèi)容,ThinkInLAMP創(chuàng)始人馬駿和MySQL技術(shù)專(zhuān)家金官丁分別為大家?guī)?lái)了很多MySQL數(shù)據(jù)庫(kù)運(yùn)維相關(guān)的經(jīng)驗(yàn)分享。而來(lái)自金山網(wǎng)絡(luò)的安全專(zhuān)家趙閩還和大家講述了很多與Android安全相關(guān)的故事,在一個(gè)個(gè)的故事里讓大家感到移動(dòng)端的安全也是個(gè)重要的領(lǐng)域,金山的火眼系統(tǒng)值得關(guān)注。
如果您也從事運(yùn)維行業(yè),或者是對(duì)運(yùn)維感興趣,那么現(xiàn)在會(huì)是個(gè)不錯(cuò)的機(jī)會(huì),云計(jì)算時(shí)代中,機(jī)遇與挑戰(zhàn)并存,如果能選擇勇敢地接受挑戰(zhàn),一定會(huì)發(fā)現(xiàn)運(yùn)維的領(lǐng)域也可以很精彩。