云計算:拼的是運(yùn)維

責(zé)任編輯:王李通

2015-03-25 08:59:27

摘自:中國云計算服務(wù)網(wǎng)

就是說,無論你云計算長成什么樣,都得要向用戶提供“服務(wù)”而不僅僅是軟硬件和各種資源。另一方面,因?yàn)槟銠C(jī)器多了,然后你用的又不是昂貴的硬件,所以故障就變成了常態(tài),硬盤、主板、網(wǎng)絡(luò)天天壞。

云計算的IaaS、PaaS、SaaS最后那個S都是Service。就是說,無論你云計算長成什么樣,都得要向用戶提供“服務(wù)”而不僅僅是軟硬件和各種資源。

【云計算的技術(shù)難點(diǎn)】

到今天,云計算的工業(yè)實(shí)現(xiàn)已經(jīng)不太難了?,F(xiàn)在有開源軟件KVM和Xen,這兩個東西基本把虛擬化搞定;而OpenStack則把管理、控制系統(tǒng)搞定,也很成熟。PaaS也有相應(yīng)的開源,比如OpenShift,而Java里也有N多的中間件框架和技術(shù)。另外分布式文件系統(tǒng)GFS/TFS,分布式計算系統(tǒng)Hadoop/Hbase等等,分布式的東西都不神秘了。技術(shù)的實(shí)現(xiàn)在以前可能是問題,現(xiàn)在不是了。

對于云計算工程方面,現(xiàn)在最難的是運(yùn)維。管100臺、1萬臺還是100萬臺機(jī)器,那是完全不同的。機(jī)器少你可以用人管理,機(jī)器多是不可能靠人的。運(yùn)維系統(tǒng)不屬于功能性的東西,用戶看不見,所以這是被大家嚴(yán)重低估的東西。只要你做大了,就必然要在運(yùn)維系統(tǒng)上做文章。數(shù)據(jù)中心/云計算拼的就是運(yùn)維能力。

為什么我說運(yùn)維比較復(fù)雜,原因有這么幾個。

一方面,云計算要用廉價設(shè)備取代那些昂貴的解決方案。所謂互聯(lián)網(wǎng)的文化就是屌絲文化,屌絲就是便宜,互聯(lián)網(wǎng)就是要用便宜的東西搭建出高質(zhì)量的東西,硬件和資源一定不會走高端路線——比如EMC、IBM小型機(jī)、SGI超級計算機(jī)等等,你如果用它去搭建云計算,成本太貴。用廉價的解決方案代替昂貴的解決方案是整個計算機(jī)發(fā)展史中到今天唯一不變的事情。所以如果你要讓夏利車跑出奔馳車的感覺,你需要自己動手做很多事,搭建一個智能的系統(tǒng)。用廉價的東西做出高質(zhì)量的東西,運(yùn)維好廉價的設(shè)備其實(shí)是云計算工程里最大的挑戰(zhàn)。

另一方面,因?yàn)槟銠C(jī)器多了,然后你用的又不是昂貴的硬件,所以故障就變成了常態(tài),硬盤、主板、網(wǎng)絡(luò)天天壞。所以,沒什么好想的,運(yùn)維就必須要跟上。云計算的目標(biāo)是在故障成為常態(tài)的情況下保證高可用——也就是我們所說的,你服務(wù)的可用性是3個9、4個9還是5個9。

最后,這一大堆機(jī)器和設(shè)備都放在一起,你的安全就是一個挑戰(zhàn),一方面是Security,另一方面是Safety,保證數(shù)十臺數(shù)百臺的設(shè)備的安全還好說,但是對于數(shù)萬數(shù)十萬臺的設(shè)計,就沒有那么簡單了。

面對這樣的難題,人是無法搞得定的,你只能依靠技術(shù)來管理和運(yùn)維整個平臺。比如必須有監(jiān)控系統(tǒng)。這跟操作系統(tǒng)一樣,對資源的管理,對網(wǎng)絡(luò)流量、CPU利用率、進(jìn)程、內(nèi)存等等的狀態(tài)肯定要全部收集的。收集整個集群各種節(jié)點(diǎn)的狀態(tài),是必然每個云計算都有的,都是大同小異的。

然后,你還要找到可用性更好的節(jié)點(diǎn),這需要有一些故障自檢的功能。比如阿里云就遇到過磁盤用到一定時候就會莫名其妙的不穩(wěn)定,有些磁盤的I/O會變慢。變慢的原因有可是硬盤不行了,于是硬盤控制器可能因?yàn)镃RC校驗(yàn)出錯需要要多讀幾次,這就好比TCP的包傳過來,數(shù)據(jù)出錯了,需要重新傳。在這種硬盤處理半死不活的狀態(tài)時,你肯定是需要一個自動檢測或自動發(fā)現(xiàn)的程序去監(jiān)控這種事情,當(dāng)這個磁盤可能不行了,標(biāo)記成壞磁盤,別用它,到別的磁盤上讀復(fù)本去。我們要有故障自動檢測、預(yù)測的措施,才能驅(qū)動故障,而不是被動響應(yīng)故障,用戶體驗(yàn)才會好。換句話說,我們需要自動化的、主動的運(yùn)維。

為了數(shù)據(jù)的高可用性,你只能使用數(shù)據(jù)冗余,寫多份到不同的節(jié)點(diǎn)——工業(yè)界標(biāo)準(zhǔn)寫三份是安全。然而,你做了冗余,又有數(shù)據(jù)一致性問題。為了解決冗余帶來的一致性問題,才有了paxos的投票玩法,大家投票這個能不能改,于是你就需要一個強(qiáng)大的控制系統(tǒng)來控制這些東西。

另外,公有云人來人往,里面的資源和服務(wù)今天用明天不用,有分配有釋放,有凍結(jié),你還要搞一個資源管理系統(tǒng)來管理這些資源的生命狀態(tài)。還有權(quán)限管理,就像AWS的IAM一樣,如果沒有像AWS的IAM權(quán)限管理系統(tǒng),AWS可能會不會像今天這樣有很多大的公司來用。企業(yè)級的云平臺,你需要有企業(yè)級的運(yùn)維和管理能力。

【云計算的門檻】

為啥云計算有這么多開源的東西,卻不是人人都能做?

一方面,這就跟蓋樓一樣。蓋樓的技術(shù)沒什么難的(當(dāng)然,蓋高樓是很難的),但是你沒地你怎么蓋?我覺得云計算也一樣,帶寬的價格貴得就像土地的價格。其實(shí)云計算跟房地產(chǎn)一樣,要占地、占機(jī)房、占帶寬。如果能把中國所有的機(jī)房、機(jī)柜、帶寬資源都買了,你就不用做云計算了,賣土地就夠了——因?yàn)檫@些是有限的。最簡單的例子,IP地址是有限的。你有帶寬、有機(jī)房,但是如果你沒有IP,這就不好玩了。尤其是你要提供CDN服務(wù),這個就更明顯,因?yàn)橛卸嗌傥锢砉?jié)點(diǎn)直接決定你的CDN服務(wù)質(zhì)量。

另一方面,正如前面所說的,運(yùn)維是件很難的事,運(yùn)維這個事并不是一般人能搞的事。沒有足夠的場景、經(jīng)驗(yàn)和時間,這種能力很難出現(xiàn)。

從用戶的角度來說呢,云計算是一種服務(wù),你需要對用戶企業(yè)內(nèi)的解決方案要有很好的了解,這樣才能提高很好的服務(wù)。能提供“好服務(wù)”的通常都是把自己真正當(dāng)成用戶公司。

賣汽車也是賣服務(wù)。造出汽車來,并不代表你搞定這個事了。如果沒有公路、沒有加油站、沒有4s店、沒有交通管理、規(guī)則等等,你要么用不了,要么就是亂七八糟。不能只讓用戶在那看著你的汽車好牛啊,但是用戶不知道怎么用。所以說,云計算最終旁邊必須要有一套服務(wù)設(shè)施,而這套服務(wù)設(shè)施也是今天被人低估的。

云計算有兩個東西我覺得是被人低估的,一個是運(yùn)維,一個是那堆服務(wù)。做服務(wù)的需要有生態(tài)環(huán)境,有人幫你做。所以做云計算要落地并不簡單。

總之,云計算是需要吃自己的狗食才能吃出來的,絕不是像手機(jī)上的Apps一樣,你想一想、試一試就能搞出來的,你首先需要讓自己有這樣的場景,有這樣的經(jīng)歷,你才可能會有這樣的經(jīng)驗(yàn)和能力。

還是那句話,云就是服務(wù),只要提供了好的服務(wù),無論公有還是私有都是會有價值的。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號