雲計算對我們開發者有什麼改變?

        雲計算對我們開發者的影響到底有多大,我們是不是人人都需要進入雲計算領域?這裏僅以我對計算領域簡單理解來分析。

        如果你是某一個特定平臺或者系統上的開發者,比如桌面程序、手機程序,嵌入式程序那麼雲計算似乎對您的影響不大。你仍需要專注的解決你所在平臺和系統上的各種資源分配、共享的問題。

        如果你是一個沒有特定平臺或系統限制的開發人員,但是你從事的是核心算法的開發。比如你從事的是圖形、語音、數據挖掘等等領域的研究,需要做的開發是創造、改善算法,那麼雲計算對你估計也沒什麼用。但是當你想將你所涉及的算法用到一個大規模應用中,那麼你需要認真地瞭解一下雲計算,甚至你可能需要採用雲計算中的分佈式計算框架來重寫你的算法。

        如果你是一個專注於企業應用系統、業務流程系統的開發人員。那麼雲計算你是需要關注的,說不定什麼時候你所開發業務系統已經以雲服務的方式提供給了廣大企業用戶。當然企業用不用是另一回兒事。

        如果你是一個專注與互聯網上應用的開發者,無論你是做前端,還是做後端,無論你是做架構,還是做簡單的一個模塊的開發那麼雲計算對你產生的影響是深遠的。你所要關注的不是雲計算會帶來IT運營成本是否降低,而是雲計算是否會給互聯網上應用的開發模式帶來巨大的轉變。對於這點我相信是會的,可能只是時間問題。

        在現階段我們構建互聯網上應用時,會一開始就估計這個應用的規模從而構建系統。當應用的規模達到某一個限度,現有的架構無法支撐時,我們會重新設計,甚至重新開發整個應用。MySpace就是很好的例子,前後經過了6次大規模的重構。雲計算的出現會不會改變這個過程?

        雲計算的動態擴展到底是如何實現的。如果是簡單的再創建一臺虛擬機,然後將你原來部署的主機複製一份,在新的虛擬機上部署、啓動、然後繼續負載均衡,這樣的模式估計對應用的開發不會有深遠的影響。

        不過目前來看雲計算的計算資源確實是這樣的方式實現擴展的,而存儲資源則是通過虛擬化後構建獨立的存儲服務,在存儲服務內部進行擴展,用戶不用關係。

        目前爲止,我覺得雲計算對進行系統運維的人員衝擊最大。如果所有的網站不是自建後端技術平臺,而都採用雲計算的方式則系統運維人員會大幅減少。

        但是互聯網上應用與傳統的製造業有很大的不同。傳統製造業設備的投入會直接影響企業的產能、產品價值等因素。而IT產業,投入同樣的設備但是其產生的價值卻相差十分巨大。這樣衡量一個互聯網企業的價值絕不是考慮其擁有服務器的多少。對以一個互聯網企業發展的成本中,IT投入部分特別是硬件投入部分所佔比例可能並不高。主要是互聯網企業的盈利模式中,IT硬件投入與傳統製造業中設備投入的計算完全不同。

        雲計算帶來開發模式的轉變,我理想中的狀態應該是這樣的。

        比如我們開發的應用程序直接使用某一種分佈式計算框架,這樣開發的程序運行起來使用的計算資源由分佈式計算框架進行調度。而不是我們再來決定運行在那些服務器上。

        這裏可以假設一個如果有一個可以分佈式部署的Web容器,你只需要將你開發的Web應用提交給這個分佈式Web容器,它自己內部去決定使用需要使用到的計算資源。現在部署的多個Web容器其中運行的代碼是完全一樣的。而分佈式Web容器,可以不同將同一個應用的不同部分運行在不同的容器中。並在某一個容器出現故障時能自動進行切換,遷移等操作。

        其實本質就是利用某種分佈式計算框架來開發一個分佈式的Web容器。但現在的問題是Map-Reduce這樣的分佈式計算框架是否適合這樣的開發?這樣的分佈式Web容器它本質上是一種什麼計算模式?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章