對云計算的定義
云計算其實跟PC機有一樣的概念,有CPU、硬盤、操作系統(tǒng)、應(yīng)用軟件。云計算的計算節(jié)點(虛擬機)就是PC中的CPU,數(shù)據(jù)緩存服務(wù)就是PC的內(nèi)存,存儲節(jié)點就是PC的硬盤,提供數(shù)據(jù)服務(wù),讓數(shù)據(jù)不丟、高可用,PC中的控制器就是云計算的控制系統(tǒng)。
PC機的硬件上面要有操作系統(tǒng)。操作系統(tǒng)很大一塊是給開發(fā)人員提供系統(tǒng)的API接口,提供系統(tǒng)監(jiān)控以看運行情況,并且還要有系統(tǒng)管理——如用戶賬號的權(quán)限管理、備份恢復(fù)等等。操作系統(tǒng)上面要有應(yīng)用軟件,這樣才能服務(wù)于最終用戶,應(yīng)用軟件就是真正落地的業(yè)務(wù),這樣才會有用戶;有了用戶,整個體系就運轉(zhuǎn)起來了。
這就是工程師說的stack,也就是我們聽到的IaaS、PaaS、SaaS三個層。
IaaS層就像PC機的基礎(chǔ)硬件加驅(qū)動程序,PaaS層就像PC機上的操作系統(tǒng)——把基礎(chǔ)硬件抽象、包起來并屏蔽硬件和硬件驅(qū)動細(xì)節(jié)、調(diào)度基礎(chǔ)硬件,而SaaS層就是PC機里的應(yīng)用軟件。
另外,我們還得給開發(fā)人員提供各種開發(fā)框架、類庫和開發(fā)環(huán)境,這就是為什么AWS還做通知、消息、工作流,這是用于粘合操作系統(tǒng)和業(yè)務(wù)層的,比如可以讓你方便地做水平擴展和分布式。
云計算自然也會像PC機一樣,三個層上都會有用于控制和管理的系統(tǒng)。這就是為什么云計算會做成這個樣子,其實計算機的發(fā)展就在這個圈子里繞。
其實,最終用戶基本并不關(guān)心你CPU用的啥,存儲用的是啥,你用什么框架開發(fā),他們關(guān)心更多的是可以解決什么問題,有什么樣的用戶體驗。像以前Windows用戶體驗之所以比Linux好,就是因為應(yīng)用層用的舒服;而Linux對開發(fā)者的用戶體驗比Windows好,就是因為其開放和可以讓開發(fā)人員更靈活、更自由。
我們可以看到SaaS層上有的像SalesForce、Dropbox、Evernote、Netflix這樣的給最終用戶的服務(wù),他們更傾向于最終用戶和業(yè)務(wù)。
說到底,云計算的IaaS、PaaS、SaaS最后那個S都是Service。就是說,無論你云計算長成什么樣,都得要向用戶提供“服務(wù)”而不僅僅是軟硬件和各種資源。
云計算的技術(shù)難點
到今天,云計算的工業(yè)實現(xiàn)已經(jīng)不太難了。現(xiàn)在有開源軟件KVM和Xen,這兩個東西基本把虛擬化搞定;而OpenStack則把管理、控制系統(tǒng)搞定,也很成熟。
PaaS也有相應(yīng)的開源,比如OpenShift,而Java里也有N多的中間件框架和技術(shù)。另外分布式文件系統(tǒng)GFS/TFS,分布式計算系統(tǒng)Hadoop/Hbase等等,分布式的東西都不神秘了。技術(shù)的實現(xiàn)在以前可能是問題,現(xiàn)在不是了。
對于云計算工程方面,現(xiàn)在最難的是運維。管100臺、1萬臺還是100萬臺機器,那是完全不同的。機器少你可以用人管理,機器多是不可能靠人的。運維系統(tǒng)不屬于功能性的東西,用戶看不見,所以這是被大家嚴(yán)重低估的東西。只要你做大了,就必然要在運維系統(tǒng)上做文章。數(shù)據(jù)中心/云計算拼的就是運維能力。
為什么我說運維比較復(fù)雜,原因有這么幾個。
一方面,云計算要用廉價設(shè)備取代那些昂貴的解決方案。所謂互聯(lián)網(wǎng)的文化就是屌絲文化,屌絲就是便宜,互聯(lián)網(wǎng)就是要用便宜的東西搭建出高質(zhì)量的東西,硬件和資源一定不會走高端路線——比如EMC、IBM小型機、SGI超級計算機等等,你如果用它去搭建云計算,成本太貴。
用廉價的解決方案代替昂貴的解決方案是整個計算機發(fā)展史中到今天唯一不變的事情。所以如果你要讓夏利車跑出奔馳車的感覺,你需要自己動手做很多事,搭建一個智能的系統(tǒng)。用廉價的東西做出高質(zhì)量的東西,運維好廉價的設(shè)備其實是云計算工程里最大的挑戰(zhàn)。
另一方面,因為你機器多了,然后你用的又不是昂貴的硬件,所以故障就變成了常態(tài),硬盤、主板、網(wǎng)絡(luò)天天壞。所以,沒什么好想的,運維就必須要跟上。云計算的目標(biāo)是在故障成為常態(tài)的情況下保證高可用——也就是我們所說的,你服務(wù)的可用性是3個9、4個9還是5個9。
最后,這一大堆機器和設(shè)備都放在一起,你的安全就是一個挑戰(zhàn),一方面是Security,另一方面是Safety,保證數(shù)十臺數(shù)百臺的設(shè)備的安全還好說,但是對于數(shù)萬數(shù)十萬臺的設(shè)計,就沒有那么簡單了。
所以,面對這樣的難題,人是無法搞得定的,你只能依靠技術(shù)來管理和運維整個平臺。比如必須有監(jiān)控系統(tǒng)。這跟操作系統(tǒng)一樣,對資源的管理,對網(wǎng)絡(luò)流量、CPU利用率、進(jìn)程、內(nèi)存等等的狀態(tài)肯定要全部收集的。收集整個集群各種節(jié)點的狀態(tài),是必然每個云計算都有的,都是大同小異的。
然后,你還要找到可用性更好的節(jié)點,這需要有一些故障自檢的功能。比如阿里云就遇到過磁盤用到一定時候就會莫名其妙的不穩(wěn)定,有些磁盤的I/O會變慢。變慢的原因有可是硬盤不行了,于是硬盤控制器可能因為CRC校驗出錯需要要多讀幾次,這就好比TCP的包傳過來,數(shù)據(jù)出錯了,需要重新傳。在這種硬盤處理半死不活的狀態(tài)時,你肯定是需要一個自動檢測或自動發(fā)現(xiàn)的程序去監(jiān)控這種事情,當(dāng)這個磁盤可能不行了,標(biāo)記成壞磁盤,別用它,到別的磁盤上讀復(fù)本去。我們要有故障自動檢測、預(yù)測的措施,才能驅(qū)動故障,而不是被動響應(yīng)故障,用戶體驗才會好。換句話說,我們需要自動化的、主動的運維。
為了數(shù)據(jù)的高可用性,你只能使用數(shù)據(jù)冗余,寫多份到不同的節(jié)點——工業(yè)界標(biāo)準(zhǔn)寫三份是安全。然而,你做了冗余,又有數(shù)據(jù)一致性問題。為了解決冗余帶來的一致性問題,才有了paxos的投票玩法,大家投票這個能不能改,于是你就需要一個強大的控制系統(tǒng)來控制這些東西。
另外,公有云人來人往,里面的資源和服務(wù)今天用明天不用,有分配有釋放,有凍結(jié),你還要搞一個資源管理系統(tǒng)來管理這些資源的生命狀態(tài)。還有權(quán)限管理,就像AWS的IAM一樣,如果沒有像AWS的IAM權(quán)限管理系統(tǒng),AWS可能會不會像今天這樣有很多大的公司來用。企業(yè)級的云平臺,你需要有企業(yè)級的運維和管理能力。
云計算的門檻
為啥云計算有這么多開源的東西,卻不是人人都能做?我覺得有以下原因:
一方面,這就跟蓋樓一樣。蓋樓的技術(shù)沒什么難的(當(dāng)然,蓋高樓是很難的),但是你沒地你怎么蓋?我覺得云計算也一樣,帶寬的價格貴得就像土地的價格。
其實云計算跟房地產(chǎn)一樣,要占地、占機房、占帶寬。如果能把中國所有的機房、機柜、帶寬資源都買了,你就不用做云計算了,賣土地就夠了——因為這些是有限的。
最簡單的例子,IP地址是有限的。你有帶寬、有機房,但是如果你沒有IP,這就不好玩了。尤其是你要提供CDN服務(wù),這個就更明顯,因為有多少物理節(jié)點直接決定你的CDN服務(wù)質(zhì)量。
另一方面,正如前面所說的,運維是件很難的事,運維這個事并不是一般人能搞的事。沒有足夠的場景、經(jīng)驗和時間,這種能力很難出現(xiàn)。
從用戶的角度來說呢,云計算是一種服務(wù),你需要對用戶企業(yè)內(nèi)的解決方案要有很好的了解,這樣才能提高很好的服務(wù)。能提供“好服務(wù)”的通常都是把自己真正當(dāng)成用戶公司。
這跟做汽車一樣,底層做引擎、輪子、油箱、控制系統(tǒng),給你弄一堆零件,上層可以拼裝。PaaS相當(dāng)于給你一個很快可以打造成的汽車的工作臺。而SaaS就是成品——兩廂、三廂、卡車、轎車,最終用戶要的是這個。
后面什么Xen、存儲、分布式,跟我一毛錢關(guān)系沒有,我就要知道汽車是安全的,性能好的,省油的,不會拋錨、耐用的,千萬別速度快了或者坡度大了或是別的怎么樣就失靈了。
賣汽車也是賣服務(wù)。造出汽車來,并不代表你搞定這個事了。如果沒有公路、沒有加油站、沒有4s店、沒有交通管理、規(guī)則等等,你要么用不了,要么就是亂七八糟。不能只讓用戶在那看著你的汽車好牛啊,但是用戶不知道怎么用。所以說,云計算最終旁邊必須要有一套服務(wù)設(shè)施,而這套服務(wù)設(shè)施也是今天被人低估的。
云計算有兩個東西我覺得是被人低估的,一個是運維,一個是那堆服務(wù)。做服務(wù)的需要有生態(tài)環(huán)境,有人幫你做。所以做云計算要落地并不簡單。
這跟IBM一樣。IBM有段時間也是快不行了,他們的CEO寫了一本《誰說大象不能跳舞》,講IBM的轉(zhuǎn)型,從賣硬件的轉(zhuǎn)成賣服務(wù)、解決方案,有流程、咨詢,順便賣硬件,帶著一堆系統(tǒng)集成商一起玩。
我給你解決方案,誰來實現(xiàn)呢,就是集成商幫你,然后順便把硬件賣給你。一樣。未來是什么樣,歷史上已經(jīng)有了。你看,要干那么多事,而且還不是用人堆就可以堆出來的。這就是云計算的門檻。
總之,云計算是需要吃自己的狗食才能吃出來的,絕不是像手機上的Apps一樣,你想一想、試一試就能搞出來的,你首先需要讓自己有這樣的場景,有這樣的經(jīng)歷,你才可能會有這樣的經(jīng)驗和能力。
云計算的市場細(xì)分
市場細(xì)分必然是市場來驅(qū)動的。市場變化太快,說不清楚,不過大的方向應(yīng)該會是這樣的:有類是需要玩計算密集型的(比如大數(shù)據(jù)計算、網(wǎng)絡(luò)游戲),有類是需要玩IO密集型的(比如視頻網(wǎng)站),有類就是為了建網(wǎng)站的(比如電子商務(wù)、門戶網(wǎng)站、無線),有類是為了數(shù)據(jù)安全和保密的(比如金融數(shù)據(jù))。
從更高的層面來看,社會也需要分工。有的人賣土地,有的人賣房子,有的人裝修,有的人是中介。我相信沒人愿意把所有的賭注都押在一個地方。云計算也是一樣。上面也說過,無論IaaS、PaaS、SaaS,后面的S都是service,本質(zhì)上都是提供服務(wù)。所以,我認(rèn)為,市場的細(xì)分本質(zhì)上就是服務(wù)的細(xì)分。
看看歷史我們知道,細(xì)分永遠(yuǎn)是跟著行業(yè)走的,也是跟著業(yè)務(wù)走的,所以,在業(yè)務(wù)層會出現(xiàn)更多的細(xì)分。
對阿里云產(chǎn)業(yè)細(xì)分的看法
政府云、金融云不太清楚,不過我很清楚電商云——就是我之前負(fù)責(zé)的聚石塔。聚石塔時間不長,2012年9月正式上線,去年是大發(fā)展的一年,作為垂直云解決的很好。
天貓和淘寶做的都是下單前的東西,下單后,商家每天處理好幾百單,需要做訂單合并、篩選,有的商家規(guī)模不大但訂單很多。海爾有ERP,這些商家沒有,但是每天也1000多單,如果沒有信息化的系統(tǒng),人肉是處理不了的,必然要有ERP系統(tǒng)處理訂單。另外還要管理用戶,給用戶做營銷、發(fā)展忠實用戶。總之,都是賣東西以后的事情。咋辦?
淘寶天貓給了一堆開放API,你可以調(diào)我的API接入,在你那邊有ISV幫你做一套東西遠(yuǎn)程訪問淘寶API,把訂單拉過去,倉庫進(jìn)貨了之后,通過API把庫存改一下,就可以連起來了。天貓用戶下單,到他的系統(tǒng)、他的倉庫,他就發(fā)貨了,倉庫補完貨,在他的系統(tǒng)里一改,自動就到天貓店了。這是電子信息化。
但是一到雙十一就受不了:訂單量太大。正好云平臺出現(xiàn)了,再怎么樣,阿里的運維能力也要比你商家的要強吧。你看,聚石塔賣的是服務(wù),不是主機。另外是數(shù)據(jù)安全:商家的系統(tǒng)天天被黑客盯著,如果我們把用戶信息都給商家,不是所有的商家的系統(tǒng)安全都做得很好,內(nèi)部的人插個什么U盤,上面一堆木馬,數(shù)據(jù)就被偷走了。
偷走了之后,別人還說是阿里搞丟的,這當(dāng)然不行。所以,我們又要開放,還要保證安全,聚石塔這個云平臺就這樣出來的:你來我這兒,我才開放給你,因為安全很重要。
保證性能和安全也是商家的利益訴求也在里面,商家也不希望用戶數(shù)據(jù)被偷,他也希望雙十一能抗住。
另外,很多商家自己不會做,所以要ISV(第三方軟件開發(fā)商)來做,所以這個是賣解決方案,跟IBM很相似。銀行要一套系統(tǒng),IBM提供硬件和解決方案,系統(tǒng)集成商來幫銀行寫代碼和集成系統(tǒng)。聚石塔也很像,聚石塔提供API、ECS、數(shù)據(jù)庫,第三方的ISV進(jìn)來幫商家集成一個系統(tǒng)。這是很經(jīng)典的也是很傳統(tǒng)的IBM的玩法,只不過是玩在了云端。
你看,這也是做自己的長項做出來的細(xì)分市場。所以說,吃自己的狗食很重要。
對PaaS的看法
無論是Google的GAE還是新浪的SAE都是給個容器,給個容器的好處是不用管數(shù)據(jù)連接、CPU什么,程序一傳就能用,什么水平擴展都不用管。
不爽的是,一個是在編程上限制太多:AppEngine總會閹割很多系統(tǒng)相關(guān)的功能,比如Java、PHP、Python的很多系統(tǒng)調(diào)用都閹割了,因為如果給你這些系統(tǒng)調(diào)用,你就可以突破沙箱;另一個是有故障的時候:技術(shù)人遇到問題都恨不得自己上去解決,想看看后面在忙啥,但是看不到,很無助,只能等你解決,就看你的人解決的好不好、快不快。
所以如果IaaS沒做好,運維、故障自動處理、遷移沒做好,出了問題用戶只能干瞪眼,PaaS必然不好用。當(dāng)然IaaS層也有這個問題,但是至少你還可以登到機器上看一看,大不了重啟一下。像AWS,你重啟一下就跑到別的物理機,問題也許就解決了。
其實,對于PaaS中間這層的確很尷尬。怎么解決?我覺得還是要依賴某種業(yè)務(wù)場景。單純一個平臺要閹割很多功能,搞得用戶不舒服,還不如干脆一步到位,根據(jù)業(yè)務(wù)場景給一個編程框架。
比如SAE可以就做微博app,上來就調(diào)API,數(shù)據(jù)庫都ready;或者微信如果做個PaaS,上面只玩微信公眾平臺上的東西,也可以。我覺得PaaS層更貼合業(yè)務(wù)會更成功。給新浪微博做個插件,你去買個VM、買數(shù)據(jù)庫?這種時候很需要PaaS。我覺得PaaS層要成功就要貼近業(yè)務(wù)場景。比如:騰訊的風(fēng)鈴系統(tǒng)(雖然不知道企業(yè)帳號看見是什么樣的),就做無線建站,這樣多好。干巴巴的PaaS有點高不成低不就。
對SDN的看法
SDN其意圖是想改變目前超級復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)。意圖是挺好的。想一想,如果以后我家的網(wǎng)絡(luò)不用因為買個新的路由器都要重新設(shè)計一把,只要一次設(shè)置,然后對所有的路由器都通過,的確是挺方便的,這點對企業(yè)非常好。不過,不知道在操作上怎么做,也許會從企業(yè)內(nèi)部開始這場革命,這個不得而知。
就像開車一樣,機械式的方向盤和剎車油門系統(tǒng)這么多年都沒什么變化,也提過很多更好更高科技的解決方案,但是傳統(tǒng)還是這樣延續(xù)下來了。所以,SDN真不知道未來會怎么樣。
總之,一個老的事物到一個新的事物需要有一個過程,這個過程中會出現(xiàn)很多過渡產(chǎn)品或是過渡方案,如果沒有這些過渡產(chǎn)品和方案,也就沒法達(dá)到新的事物。未來是什么樣,無法預(yù)知。
對私有云的看法
私有云跟公有云,都會存在。這跟人一樣,私人生活和公眾生活都會需要的。大公司有1萬、2萬人,這么多數(shù)據(jù),要存,需要一個很穩(wěn)定的解決方案。要穩(wěn)定可以買IBM,但是貴。云計算出來說,我可以寫三份,但他不想上公有云,我的數(shù)據(jù)放在別人那里,總感覺不好的,所以有了私有云做物理隔離,他覺得安全。
安全這個詞對應(yīng)兩個英文,security和safety,其實security和safety不一樣:云計算解決safety,保證數(shù)據(jù)不丟;寧可數(shù)據(jù)丟也不讓人看到,那是security。比如私人照片我更愿意存家里,有一個小的云存儲,所有設(shè)備同步,跟老家父母同步,這樣比較好。放公網(wǎng)很恐怖。
一定會有公司不愿意上云的,比如金融方面的企業(yè),他們覺得互聯(lián)網(wǎng)不安全,他們要的更多的是安全。在公網(wǎng)上你的系統(tǒng)的安全攻防能力都要跟上,但如果物理不通的話就不用考慮的太復(fù)雜。
企業(yè)內(nèi)部私有云肯定有市場。你看,好些企業(yè)內(nèi)部目前還被EMC、IBM所壟斷著呢。計算機發(fā)展史就是廉價的東西取代昂貴的東西,所以私有云一定沒問題,而降低私有云的運維復(fù)雜度、提供一個或多個方便的運維系統(tǒng)和工具就是重中之重。其中,SDN之類的東西肯定會是其中一個很重要的一塊。
另外,還是那句話,云就是服務(wù),只要提供了好的服務(wù),無論公有還是私有都是會有價值的。
-
云計算
+關(guān)注
關(guān)注
39文章
7855瀏覽量
137698 -
存儲
+關(guān)注
關(guān)注
13文章
4353瀏覽量
86063 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6889瀏覽量
123597
發(fā)布評論請先 登錄
相關(guān)推薦
評論