什么叫做云計算?
主要是提出的概念:用戶的手機、pc、筆記本統稱為端;網絡的服務稱為云。端和云的網絡格局。
可以從“端”通過“云”(網絡)獲得強大的計算能力,數據處理能力及其它。
每個端也可以為整個云貢獻自己的計算能力。——云計算
狹義云計算指IT基礎設施的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需資源;
廣義云計算指服務的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟件、互聯網相關,也可是其他服務。
云計算的核心思想,是將大量用網絡連接的計算資源統一管理和調度,構成一個計算資源池向用戶按需服務。提供資源的網絡被稱為“云”。“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。
云計算的產業三級分層:云設備、云平臺、云軟件
那么“云設備、云平臺、云軟件”又是什么呢?先看看這張圖:
基礎設施即服務(IaaS):消費者通過Internet可以從完善的計算機基礎設施獲得服務。
平臺即服務(PaaS):PaaS實際上是指將軟件研發的平臺作為一種服務,以SaaS的模式提交給用戶。因此,PaaS也是SaaS模式的一種應用。但是,PaaS的出現可以加快SaaS的發展,尤其是加快SaaS應用的開發速度。
軟件即服務(SaaS):軟件即服務。它是一種通過Internet提供軟件的模式,用戶無需購買軟件,而是向提供商租用基于Web的軟件,來管理企業經營活動。
這些概念挺起來很難懂吧,我在來看一個圖:
這樣圖寫的非常明白了,IaaS其實就是一些硬件,網絡和操作系統的組成,對于我們程序員來說這部分不需要太多了解,因為我們不可能去組建自己的 Iaas,提供給大家使用,就如同我們在各個云計算平臺中提到的云存儲、VM(虛擬機)或者云服務器。對于開發者來說如果我們使用IaaS,就像我們操作一個服務器一樣,只是不用安裝操作系統了,因為OS已經包括在IaaS中了。但是和操作服務器又不一樣,如果服務器硬盤擴容,加內存,換CPU,擴充帶寬等,必須要經過備份/遷移/測試等大量的工作,但IaaS就不一樣,我們可以直接“設置”就能解決,實際上就是我們把這些東西都外包給別人,然后我們使用他的服務,一般IaaS供應商會提供這些操作,我們只需要選擇我們要什么操作系統,什么樣的帶寬,什么樣的硬件配置,然后設置就可以了,根部不用擔心安裝 OS,防火墻,網絡升級,換硬件了什么的了。即“基礎設施即服務”。
這已經很大的進步了,不是嗎?我們再來看看PaaS吧,我們使用云服務器的時候雖然操作系統不用安裝了,硬件網絡問題不用擔心了,但是我們還是要安裝和配置程序的環境,比如說安裝IIS,Tomcat,數據庫等等。PaaS,就是加入了中間件和數據庫,常見的有GAE/SAE/BAE這些。如果我們使用的是PaaS,這些也不用做了,我們只關心程序的開發和部署就可以了,因此我們選擇PaaS的時候首先要考慮的就是自己使用的是什么語言和習慣使用的數據庫。也就是說我使用的是一個平臺,是PaaS供應商提供給我們在互聯網上的一種服務。即“平臺即服務”
又是一個很大的進步吧?然后是SaaS,如果我們不是萬能的程序員,我想用一個OA系統,我們把軟件買過來(或者找人開發)后,還要安裝部署呢?即便是使用的PaaS,我們也必須知道安裝方法啊?想想我們如果想郵箱一樣使用OA系統多好,我只需要注冊一個賬號即可使用,甚至組建自己企業的內部郵箱。這就是SaaS的作用,其實本身企業郵箱(163或者騰迅提供)就是一個SaaS的應用,自己只需要注冊用戶,然后設置自己企業的郵箱域名,就整個企業的用戶可以使用了。我們雖然使用的是軟件,但是并不需要自己光盤安裝,也不需要軟件的維護,我們其實享受的是SaaS這些供應商提供的服務,也就是說“軟件即服務”的概念。
如果上面的講解還不夠讓你形象的理解,那么我們來打個比方吧:如果我們需要修建一條馬路,那么iaas就是這條馬路的基石,paas就是這條馬路的鋼筋水泥,讓馬路更加牢固,而saas則是這條馬路修建后用于別人使用的用途。
對于一般開發者而言:Iaas的具體內容不用去關心太多,那些確實不是我們程序員考慮的。而SaaS我們只需要知道目前比較好用的SaaS有哪些就行了,舉一個例子,我們如果想做一個旅游網站,里面用到了天氣預報的功能,沒有必要我們單獨做一個這樣功能,我找一個接口好用的天氣預報的SaaS,使用他的服務,然后融入到我們的旅游網站就OK了,再如果我們想通過短信提醒用戶,那我們我們就使用短信發送的SaaS等。剩下的就只剩下PaaS了,如果我們想把精力全部放在軟件開發方面,不想再考慮什么硬件負載,網絡連接,黑客攻擊,平臺兼容,環境搭建這些,那么PaaS絕對是首選,甚至你看不到“我的電腦”,“IIS”看到的就是PaaS供應商為你提供的專業界面,簡單實用。
云計算的核心思想,是將大量用網絡連接的計算資源統一管理和調度,構成一個計算資源池向用戶按需服務。提供資源的網絡被稱為“云”。“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。
那么下面來看看,我對幾大云計算平臺做的對比吧:站在程序員角度,我們只考慮一下幾個方面:是否提供云服務器(虛擬機)、應用程序引擎、開發環境(語言)、數據庫支持等。
百度云
網址:yun.baidu.com
云服務器:無
應用程序引擎:BAE
開發環境
Node.js
PHP
Python
Java
Static
云數據庫
MySQL
MongoDB
Redis
其他服務
語音識別
人臉識別
百度翻譯
百度地圖
云推送
備注
很成熟
后臺硬
阿里云
網址:www.aliyun.com
云服務器: 有
應用程序引擎:ACE
云計算的核心思想,是將大量用網絡連接的計算資源統一管理和調度,構成一個計算資源池向用戶按需服務。提供資源的網絡被稱為“云”。“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。
騰迅云
網址:www.qcloud.com
云服務器: 有
應用程序引擎:即將推出
開發環境(預計):
PHP
Java
云數據庫
MySQL
其他服務
騰迅系應用的良好對接
備注
收費較高
后臺硬
新浪云
網址:sae.sina.com.cn
云服務器:無
應用程序引擎:SAE
開發環境
PHP
Java
Python
云數據庫
MySQL
其他服務
短信服務
郵件群發
分詞
人臉檢測
有道翻譯
地理信息
語音識別
音頻二維碼
備注
云計算的核心思想,是將大量用網絡連接的計算資源統一管理和調度,構成一個計算資源池向用戶按需服務。提供資源的網絡被稱為“云”。“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。
盛大云
網址:www.grandcloud.cn
云服務器:有
應用程序引擎:CAE(Beta)
開發環境
PHP
Ruby
Java
Python
預計.net
云數據庫
MySQL
MongoDB
其他服務
暫無
備注
后起之秀
基于:CloudFoundry
微軟云
網址:www.windowsazure.com
云服務器:有
應用程序引擎:Windows Azure
開發環境
Node.js
PHP
Python
.Net
云數據庫
SQL Server
其他服務
不用說了
備注
目前不支持中國大陸(注冊都注冊不了)
這里還要在補充說明一點:云數據庫不等于虛擬機中安裝的數據庫,更不等于放在互聯網上的數據庫服務器。他們的最大差別就是:云數據庫,你只需要關系數據庫的內容(表,關系,字段,記錄),不用關心怎么安裝實例,如何恢復,什么時候備份等這些對于數據庫服務這個級別的操作。其實云數據庫本身就是一種 SaaS。
看完了上面的表格,相信很多.Net愛好者一定很失望吧。哎,沒有辦法現在支持.Net的太少了,PaaS中的老大CloudFoundry倒是支持,但是現在也不提供注冊了。盛大云是基于這個的,估計正式版推出因該支持。