最開始,人們使用算盤
後來,人們用電腦
再後來,人們有了網路
再後來,中國人口大爆炸,男女比例男的比女的多3700萬,這三千多萬人沒事幹,都去上網。於是伺服器吃不消了。
於是人們就發明了牛逼的技術,用更好更多的伺服器
再後來,人更多了,於是伺服器也更多了
但事實上這樣的效果並不好,過度繁重的結構加大了網站設計和構架的難度,而且越是複雜的系統越是不穩定。有可能一個出問題,這樣一個完整的系統就徹底掛掉。如果考慮到系統的崩潰情況,那勢必要引入一個更復雜的方案來保證不同的伺服器可以做不同的支援。這是一個無解的迴圈,大量的計算資源被浪費在無限制的互相糾結中,很快到了瓶頸。
人們想,那我不用這麼亂七八糟複雜的系統,我上個極其牛逼的伺服器不就好了?可是,太貴了……而且最牛逼的也還沒製造出來……
於是人們突然想到了一個好辦法:把所有計算資源集結起來看成是一個整體(一朵雲),通過併發使用資源完成操作請求。每個操作請求都可以按照一定的規則分割成小片段,分發給不同的機器同時運算,每個機器其實只要做很小的計算就可以,這是哪怕286機器都輕鬆完成的。最後將這些機器的計算結果整合,輸出給使用者。
對使用者看來,他其實根本面對的不是許多機器,而是一個似乎真正存在的計算能力巨牛無比的單個伺服器,比十臺System z10大型主機揉一起,或是開創了petaflop新紀元的“拂曉”號與“紅杉”號還要牛。事實上這個伺服器是不存在的,但它擁有著成千上萬臺伺服器的能力。
下面來看例項。
實際上過程沒這麼簡單。哪怕是統計收集資料的過程也會佔據可怕的處理時間。這就將雲端計算的任務進一步劃分下去,哪個伺服器的CPU幹什麼,處理哪個任務段。 這個其實可以由演算法安排成自動分配的。
總之,壓榨每一個步驟的潛力,讓一個任務被伺服器叢集們一起上,自然能飛速達成。 別忘了,雲端計算不是弄個兩三臺質低價廉的伺服器就可以達成的。每一朵雲背後都有著一坨異構平臺伺服器,尤其是搭在企業防火牆裡頭的“私有云”。
因為企業的計算需求往往是複雜的,選擇不同的平臺應對不同的計算需求最划算,這跟農民伯伯拉什麼或選什麼車的道理一樣。新鮮大白菜首選摩托車,保新鮮求快就用刀片;高階大白菜首選靠譜運輸工具Power伺服器;大量的高階大白菜選擇大貨車,正如I/O吞吐量大的資料適合使用大型主機System z一樣,總比牛車一趟兩趟要快吧?大型農場不會侷限於某一種植物正如大型企業不會只有一種計算需求。於是便有了負責中樞管理、監控的軟體Tivoli,難不成用人腦統計?
最後,農民伯伯(很牛的IT客們)把這些車隊集結起來就構成了一朵雲背後比較硬的部分。很少IT大佬可以集齊全套車型,據我所知貌似只有IBM可以。 接下來解決比較軟的問題:在已有的計算資源的基礎不變的情況下,雲端計算把使用者的任務請求做除法,一個請求進來,我們把它變成許多個小任務段,最後彙總出去給使用者一個完整的結果。對使用者來說,他根本感覺不到裡面哪個cpu做了什麼處理,哪部分是哪部分拼接起來的,他就感覺自己面對一臺5億記憶體3億GHZ的巨無霸電腦一樣。
使用者對這樣的計算莫名其妙,雲裡霧裡的,於是他就把這個東西,叫做雲端計算。
評論(1)