雲計算
什么是雲計算
雲計算是一種按使用量付費的模式,這種模式提供可用的,便捷的,按需的網絡訪問,通過互聯網進入可配置的計算資源共享池(資源包括,計算,存儲,應用軟件和服務)
雲計算的特征
- 易於管理:無需基礎設施維護
- 高靈活度:可伸縮,無地域限制
- 高資源利用率:負載平衡,資源共享
- 高可用性:服務質量保證,異地容災,
- 低成本:無前期投入,按需購買
- 安全性:統一集中式數據管理,多種密鑰技術保護
雲計算服務模式
- SaaS --( Software as a Service):軟件即服務,側重於服務,通過網絡提供軟件程序服務
- PaaS --(Platform as a Service):平台即服務,側重於服務,以服務平台或者開發環境提供服務
- IaaS --(Infrastructure as a Service):基礎設施服務即服務,注重計算資源共享,消費者通過Internet可以從完善的計算機基礎設施獲得服務

openstack
openstack簡介
OpenStack 是當前熱門的雲服務平台,目前各大企業及個人都積極參與的開源項目,OpenStack 是由 NASA 和 RackSpace 合作研發的雲計算平台,用Python語言編寫,可以幫助企業實現類似於 Amazon EC2 和 S3 的雲服務基礎架構服務即 Iaas(Infrastructure as a Service)平台。
Openstack 的主要組件有 Nova、Cinder、Neutron、Glance 等,分別負責雲平台的計算、存儲、網絡資源管理。OpenStack 各組件之間是通過 REST 接口進行相互通信,而各組件內部則采用了基於 AMQP 模型的 RPC 通信。
Oenstack 的架構優勢:1、模塊松耦合 2、組件配置較為靈活 3、二次開發容易
openstack 相關鏈接
openstack 官網: http://www.openstack.org
openstack 社區/論壇: http://wiki.openstack.org
openstack 如何貢獻代碼: http://wiki.openstack.org/HowToContribute
openstack 源代碼管理:http://wiki.openstack.org/GerritWorkflow
openstack 文檔:http://docs.openstack.org
openstack 郵件列表:
<http://wiki.openstack.org/MailingLists#General_Listhttp://wiki.openstack.org/MailingLists#Development_Listhttp://wiki.openstack.org/MailingLists#Operators>
openstack 主要模塊
1. 身份服務( Identity Service ):Keystone
keystone 是OpenStack的組件之一,用於為OpenStack家族中的其它組件成員提供統一的認證服務,包括身份驗證、令牌的發放和校驗、服務列表、用戶權限的定義等等。雲環境中所有的服務之間的授權和認證都需要經過 keystone. 因此 keystone 是雲平台中第一個即需要安裝的服務。
2. 計算( Compute ): Nova
Nova 負責維護和管理雲環境的計算資源,Nova這個模塊很重要,可以說是 OpenStack 的最核心的服務模塊之一,以至於在 OpenStack 的初期版本里大部分的雲系統管理功能都是由該模塊負責管理的,只不過后來為了減輕該“車間主任”的壓力,也便於功能分配管理,才把虛擬存儲、網絡等部分分離出來,而使該模塊主要負責雲虛擬機實例(Compute 或 Instance) 的生成、監測、終止等管理功能。
3. 鏡像服務( Image Service ): Glance
提供雲虛擬機上的服務鏡像(Image)功能,該模塊可看成車間里的模具生產部門,其功能包括虛擬機鏡像的查找、注冊和檢索等。該模具最基本的使用方式就是在為雲虛擬機實例提供安裝操作系統的模式,比如 RedHat Linux、Ubuntu、Windows 等。同時雲服務使用者也可以在已經生成和個性化安裝后的雲虛擬機實例來生成自定義的鏡像。這樣以后就可以根據該自定義鏡像直接生成所需的虛擬機實例。
4. 網絡 & 地址管理( Network ): Neutron
提供 OpenStack 虛擬網絡服務,也是 OpenStack 重要的核心模塊之一,該模塊最開始是 Nova 的一部分,叫 nova-network,后來從 Nova 中分離出來,開始名字為 Quantum,后來由於商業名權的原因改為了 Neutron。該模塊之所以重要是因為如果沒有虛擬網絡服務,OpenStack 就變為單純提供虛擬機實例和虛擬存儲服務的平台,這就違背了提供分布式虛擬服務的雲計算核心價值。該模塊不僅提供基本的創建子網、路由和為虛擬機實例分配 IP 地址功能,還提供了
a. 同時支持多種物理網絡類型,支持 Linux Bridge、Hyper-V 和 OVS bridge 計算節點共存;
b. 支持防火牆服務;
c. 支持虛擬網絡中節點間 VPN 服務;
d. SDN 實現完善和提高。
5. 對象存儲( Object Storage ): Swift
提供 OpenStack 對象存儲,存儲的是一些資源文件,如圖片、代碼等文件。對象存儲服務是OpenStack最早期的兩個服務之一(另一個是計算服務),在OpenStack平台中,任何的數據都是一個對象。
6. 塊存儲 (Block Storage) : Cinder
提供 OpenStack 存儲塊(Volume)服務,該管理模塊原來也為 Nova 的一部分,即 Nova-volume,后來從 Folsom 版本開始使用 Cinder 來分離出塊存儲服務。具體地說 Cinder 是雲存儲服務的調度監控模塊,它需要與如 NFS、Ceph 等網絡文件系統配合使用。
7. UI 界面 (Dashboard) : Horizon
Horizon 為 Openstack 提供一個 WEB 前端的管理界面 (UI 服務 )通過 Horizone 所提供的 DashBoard 服務 , 管理員可以使用通過 WEB UI 對 Openstack 整體雲環境進行管理 , 並可直觀看到各種操作結果與運行狀態。
8. 測量 (Metering) : Ceilometer
Ceilometer是OpenStack中的一個子項目,它像一個漏斗一樣,能把OpenStack內部發生的幾乎所有的事件都收集起來,然后為計費和監控以及其它服務提供數據支撐。
Celiometer是OpenStack的計量與監控組件,官方的正式名稱為OpenStack Telemetry,用來獲取和保存計量與監控的各種測量值,並根據測量值進行報警。同時這些保存下來的測量值也可以被第三方系統獲取,用來做更進一步的分析、處理或展示。
9. 部署編排 (Orchestration) : Heat
Heat是OpenStack提供的自動編排功能的組件,基於描述性的模板,來編排復合雲應用程序; 用戶可以通過OpenStack管理控制台、Heat命令行工具或 API對模板及其相關的資源集進行設置和更新。
OpenStack共享服務組件:
服務 | 組件 |
---|---|
數據庫服務( Database Service ) | MairaDB 及 MongoDB |
消息傳輸(Message Queues) | RabbitMQ |
緩存(cache) | Memcached |
時間(time sync) | NTP |
存儲(storge provider) | eph、GFS、LVM、ISICI等 |
高可用及負載均衡 | pacemaker、HAproxy、keepalive、lvs等 |
openstack系統架構圖
