雲計算

雲計算技術:

一、什麼是雲端,所謂雲端需要兩層理解
(1)服務不在本地,這一層可以理解爲服務器
(2)它和普通的服務器是不一樣的,這些雲端的服務器的資源是共享的,一旦一個服務器不能承受,將會把任務分配給其他機器。

二、雲技術與其他技術的區別:
雲技術可以使用的語言有java,c++等。雲技術的開發,並沒有發展什麼新語言,而是在其他語言的基礎上。比如Java語言。與其他技術,最顯著的區別,不是在開發上,而是在於架構上,最顯著的特點是分佈式。



雲計算概述:

雲計算是一個資源池,它爲我們提供了諸如水、電、煤氣一樣的基礎服務。

雲計算是一種按使用量付費的模式,這種模式可以快速、高效地提供網絡,服務器,存儲,應用軟件,服務等,我們不必關心如何實現,所以只需投入很少的管理工作,只需和服務供應商進行很少的交互。

雲計算從廣義上可以分爲如下幾種模式:

IaaS(基礎設施即服務)、PaaS(平臺即服務)、SaaS(軟件即服務)

IaaS Amazon、阿里雲、騰訊雲提供的雲主機即IaaS,我們拿到的是一臺機器,可以自定義操作系統。

PaaS 面向開發者,直接給用戶提供一個平臺來運行用戶的程序,早期的idc服務商賣的主機、新浪的sae、阿里雲的雲數據庫等。

SaaS 賣的是服務,比如騰訊企業郵箱、印象筆記等

openstack是目前比較流行的一個實現雲計算平臺的項目


官網 www.openstack.org

由NASA(美國國家航空航天局)和Rackspace合作研發併發起的,以Apache許可證授權的自由軟件和開放源代碼項目,用python語言開發,可以實現私有云或者公有云

主要有三個最基礎組件:計算服務、網絡服務、存儲服務

wKiom1fnKdShZC2IAADhTUcfwxY505.png


openstack簡介

發佈版本  http://releases.openstack.org/,目前穩定版本爲Liberty

OpenStack提供開放源碼軟件,建立公共和私有云。 OpenStack是一個社區和一個項目,以及開放源碼軟件,以幫助企業運行的虛擬計算或者存儲雲。 OpenStackd開源項目由社區維護,包括OpenStack計算(代號爲Nova),OpenStack對象存儲(代號爲SWIFT),並OpenStack鏡像服務(代號Glance)的集合。 OpenStack提供了一個操作平臺,或工具包,用於編排雲。




6個核心服務:

  • nova(計算中心,對比阿里雲的ESC,支持kvm,xen等虛擬化技術)

  • keystone(認證中心)

  • neutron(網絡服務中心)

  • swift(對象存儲服務,存儲圖片,附件等文件,對比騰訊雲的COS)

  • cinder(塊存儲服務,雲盤)

  • glance(鏡像管理中心)

wKiom1fnKmLzdwMUAACeFnsAllM309.png

openstack其他可選組件:

wKioL1fnKx2Cu_uBAAHEDqReUAg323.png-wh_50


openstack服務

服務名項目名稱描述
DashboardHorizon基於openstack Api接口使用django開發的web管理
ComputeNova通過虛擬化技術提供計算資源池
NetworkingNeutron實現了虛擬機的網絡資源管理
Object StorangeSwift對象存儲
Block StorangeCinder塊存儲
Identity ServiceKeystone認證管理
Image ServiceGlance提供虛擬鏡像的註冊和存儲管理
TelemetryCeilometer提供監控和數據採集,計量服務





OpenStack中有兩個守護進程:


接收和調解API調用的WSGI應用程序 (nova-api,glance-api等等)。

進行編排任務的工人守護進程(nova-compute, nova-network,,nova-schedule)。


OpenStack中還包含兩個組件

消息隊列服務和數據庫。這兩個組件方便異步編排複雜的任務通過消息傳遞和信息共享。


  • 終端用戶通過nova-api 接口與Openstack 計算交互。

  • OpenStack計算守護進程通過隊列的交換信息(行動)和數據庫(信息)進行API請求。

  • OpenStack Glance是一個完全獨立的基礎上設施。



openstack各個組件的介紹:


  • nova-api:是對外的接口。OpenStack 雲計算的核心控制器(CloudController定義在trunk/nova/api/ec2/cloud.py)。它提供了一個爲所有的API查詢(OpenStack API或EC2 API)的端點,引發多數業務流程的活動(如運行一個實例),並實施一些政策(主要是配額檢查)。

  • nova-schedule:根據當前資源使用情況,決定計算節點分佈到哪臺計算節點上。目前實現很薄,目前已支持插件方式擴展,方便後面可能有采用更復雜算法。

  • nova-compute:接收隊列中的動作,然後執行一系列的系統命令(如啓動KVM實例),同時更新數據庫中的狀態。

  • nova-volume:給虛擬機分配額外持久化的存儲,管理持久捲到計算實例的創建,連接和分離。

  • nova-network:網絡管理,給虛擬機分配網絡和管理,使外部 PC 可以可直接訪問。它接受隊列中的網絡任務,然後執行任務操縱網絡(如設立橋接接口或更改iptables規則)。

  • queue:提供了一個守護進程之間傳遞消息的中央樞紐。當前由 RabbitMQ實現,理論上可以是Python的ampqlib支持的任何AMPQ消息隊列。

  • SQL database:存儲雲基礎設施的編譯時和運行時的狀態。這包括可用的實例類型,在使用中的實例,可用的網絡和項目。


wKiom1fqDtviwc8mAAs_po0KeOI362.png


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