看看雲計算的武器庫 --- 寫給傳統軟件開發人員

        最近兩年, 雲計算在軟件開發上的影響越來越大,很多傳統軟件商都在進行雲計算的轉型, 這裏就我的理解, 來介紹一下雲計算目前提供給軟件開發集成人員的基本能力和組件。

        下面的介紹產品的時候是根據amazone和阿里雲對比介紹來進行。雖然amazone的產品集要豐富完備得多, 但是考慮神州的實際情況, 即便amazone入華也存在後續被趕出去的風險, 所以選擇amazone的產品還是要慎重的。(每每提起google被封, 對我這種google產品重度用戶帶來的影響.......)amazone的產品可以看到國內雲平臺在將來一段時間發展的脈絡, 國內這些年一直在追趕中。
        我把雲計算平臺提供的服務分成三類, 1 虛擬硬件, 2 功能服務, 3 定製框架。 
        虛擬硬件類包括:
            1 虛擬機:amazone叫做EC2, 阿里雲叫做ECS。這東西大家可以把它當一臺serverkan, 可以有限的自己定製CPU核心數, 內存大小, 硬盤大小以及可以使用的公網帶寬。一般按照使用時間收費。一般來說, 一個虛擬機宕機, 可以很快的重新啓動, 保存在磁盤裏的內容不會丟失。當然虛擬機畢竟不是實體機, 所以在高負載的時候可能看到一些詭異問題, 比如奇怪的I/O延遲之類的。 這些使用細節不在這裏討論
            2 磁盤:   amazone有專門的EBS,阿里雲使用OSS。OSS這個產品在介紹服務的時候還會提到, 所以有些產品是誇類別的。這種虛擬磁盤一般都提供很高的可靠性保證(一般都宣稱5個9以上,本人理解那個都只是理論值, 其實達不到)。但是虛擬磁盤的I/O性能一般都不如實體盤。這種一般是按照存儲量和存儲時間付費, 也會根據磁盤性能和支持的IOPS以及總使用次數進行計費。
            3 網絡:  amazone對應的產品是VPC,阿雲目前沒有。主要用於從邏輯(不是物理)上隔離出來一片私有空間, 從而給用戶搭建私有云(還是邏輯上)的能力,用戶可以選擇自己的ip地址範圍, 創建子網, 配置路由表和網關等。這東西實際是要給虛擬主機用的所以往往本身是不收費的。
            4 負載均衡:amazone對應的產品是Elastic Load Balance, 阿雲是SLB。我把這個歸類爲虛擬硬件是因爲大量傳統軟件集成商是使用硬件負載均衡的。這個一般按照使用時間和傳輸的流量計費。
    
        功能服務類是用戶通過固定的API可以直接訪問的服務, 其功能集也是確定的,包括:
            1 對象存儲:amazone是S3, 阿雲是OSS。 其API最主要的功能就是push, get, delete 文件。這裏的文件一般是沒有目錄結構的, 通過一個uri來唯一標識, 但是文件名中允許出現目錄分隔符'/', 並且提供LIST命令, 從而模擬目錄的部分操作。這種對象存儲往往允許給文件增加額外的屬性, 並且定義複雜的訪問權限。一般除了提供基本的客戶端庫之外還提供REST接口。用戶也可以用這種系統做文件分發一節靜態網站, 比如上傳一個html文件, 做一下簡單的設置, 然後把這個html文件對應的uri給你的用戶,這就可以當成一個靜態網站了。這個服務一般按照存儲量,流量和API調用次數計費。
            2 內容分發:amazone是CloudFront, 阿里雲是CDN。這個服務傳統軟件企業可能用到不多, 一般是用來加速靜態資源的訪問(也可以加速動態資源, 效果不是很好)。基本原理是在全球(全國)建立多個機房, 把靜態資源提前緩存好(或用戶第一次訪問時從主站拉取),當用戶訪問一個頁面中的靜態資源比如圖片時,直接調度用戶去離他“最近”的機房(最近是說他訪問最快的機房,國內誇運營商訪問速度慢)去訪問緩存中的內容。內容分發系統可以提升用戶體驗同時減少主站壓力。這東西一般按峯值帶寬計費。
            3 歸檔服務:amazone的Glacier, 阿雲是OAS。這也是一種存儲服務,但是不同於對象存儲那種在線存儲服務, 這種一般被叫做近線或者離線存儲,它的特點是存儲費用低,但是取回時會有小時級別的延遲。一般是按照存儲量計費。
            4 緩存服務:amazone是ElasticCache,阿雲是OCS。這一般是一個key,value系統, 數據存儲在內存等高速存儲器中。主要用於架在慢速系統(比如存儲,數據庫)之前緩存熱點數據,從而解決後端慢速系統能力不足的問題。 緩存系統一般會淘汰冷下去的數據, 所以不是可靠存儲。這種系統一般按照緩存集羣的配置和使用時間來計費。
            5 關係數據庫:這個, amazone和阿雲都叫RDS。amazone提供的引擎比較多, mysql sqlserver oracle postgreSql;阿雲目前只有mysql和sql server,而且應該是主推mysql的。這個也是按照配置, 使用時間和數據庫種類來計費的。
            6 nosql數據庫:amazone 是DynamoDB 阿雲是OTS。 這種nosql的結構化數據庫可以簡單想像成一個有持久存儲的key, value系統。實際上各家都會在這個服務上下功夫, 提供更爲豐富的功能。這類系統大多可以提供高吞吐量,支持大併發, 提供一定的事務特性以及一個適當的一致性模型。 這裏細節太多, 不做深入討論。 一般常說的去IOE中去O指的是去關係數據庫,主要會向這類數據庫中遷移業務。 計費方式跟關係數據庫類似。
            7 數據倉庫:amazone的Redshift, 阿雲的ODPS。這主要是用於數據分析,數據挖掘的PB級別的數據倉庫。主要跑離線任務用。計費方式類似關係數據庫。
            8 應用程序服務:一般包括消息隊列, 託管搜索等。 這一塊不做詳細介紹。

         定製框架類一般是提供一個程序運行的框架, 用戶可以提交自己的代碼實現自己的業務邏輯, 框架負責任務調度, 容錯處理, 信息收集等。
         這一部分阿里雲慘點, 只有一個ACE平臺。而且本人對這個平臺也瞭解不多, 基本認爲這個只是一個web託管環境。有熟悉這個的同學幫助補充。
         amazone這方面有Hadoop託管平臺EMR, 有流數據處理平臺kinesis。寫到這裏發現如果對雲計算的一些知識瞭解不多, 這裏還真是很難講清楚。簡單的說,這兩個平臺都是用於處理大數據的並行計算平臺, 區別在於EMR主要用於離線分析,kinesis用於在線處理。
          
          另外, 阿雲和amazone都提供了工具來管理, 維護, 使用上面都雲服務, 有興趣的同學可以嘗試一下, 現在兩家對新用戶都有免費試用。





<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
閱讀(36) | 評論(0) | 轉發(0) |
給主人留下些什麼吧!~~
評論熱議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章