1、雲計算的前世此生
全部的新事物都不是忽然冒出來的,都有前世和此生。雲計算也是IT技術不斷髮展的產物。 要理解雲計算,須要對IT系統架構的發展過程有所認識。 請看下數據庫
IT系統架構的發展到目前爲止大體能夠分爲3個階段:
一、 物理機架構 這一階段,應用部署和運行在物理機上。 好比企業要上一個ERP系統,若是規模不大,能夠找3臺物理機,分別部署Web服務器、應用服務器和數據庫服務器。 若是規模大一點,各類服務器能夠採用集羣架構,但每一個集羣成員也仍是直接部署在物理機上。 我見過的客戶早期都是這種架構,一套應用一套服務器,一般系統的資源使用率都很低,達到20%的都是好的。
二、虛擬化架構 決定了物理服務器的計算能力愈來愈強,虛擬化技術的發展大大提升了物理服務器的資源使用率。 這個階段,物理機上運行若干虛擬機,應用系統直接部署到虛擬機上。 虛擬化的好處還體如今減小了須要管理的物理機數量,同時節省了維護成本。
三、雲計算架構 虛擬化提升了單臺物理機的資源使用率,隨着虛擬化技術的應用,IT環境中有愈來愈多的虛擬機,這時新的需求產生了: 如何對IT環境中的虛擬機進行統一和高效的管理。 有需求就有供給,雲計算登上了歷史舞臺。緩存
2、OpenStack 簡介
一、什麼是雲計算:雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網絡訪問, 進入可配置的計算資源共享池(資源包括網絡,服務器,存儲,應用軟件,服務)服務器
二、雲計算所包含的幾個層次服務:
•SaaS( Software as a Service): 把在線軟件做爲一種服務。網絡
•Paas( Platform as a Service): 把平臺做爲一種服務。架構
•Iaas( Infrastructure as a Service):把硬件設備做爲一種服務。負載均衡
三、OpenStack:是由Rackspace和NASA共同開發的雲計算平臺, 是一個開源的 IaaS(基礎設施及服務)雲計算平臺,讓任何人均可以自行創建和提供雲端運算服務,每半年發佈一次,用Python語言編寫框架
四、Opens tack歷史
ide
五、OpenStack社區與連接雲計算
社區: www.openstack.org, wiki.openstack.org
郵件列表:http://wiki.openstack.org/MailingLists#General_Listspa
http://wiki.openstack.org/MailingLists#Development_List
http://wiki.openstack.org/MailingLists#Operators
如何貢獻代碼: http://wiki.openstack.org/HowToContribute
源代碼管理 :http://wiki.openstack.org/GerritWorkflow
文檔 :http://docs.openstack.org
3、openstack架構及優點
OpenStack爲私有云和公有云提供可擴展的彈性的雲計算服務,這種服務雲必須是簡單部署而且擴展性強。
一、模塊鬆耦合
二、組件配置較爲靈活
三、二次開發容易
- 什麼是耦合、解耦合
- 1、耦合
- 1、耦合是指兩個或兩個以上的體系或兩種運動形式間經過相互做用而彼此影響以致聯合起來的現象。
- 2、在軟件工程中,對象之間的耦合度就是對象之間的依賴性。對象之間的耦合越高,維護成本越高,所以對象的設計應使類和構件之間的耦合最小。
- 3、分類:有軟硬件之間的耦合,還有軟件各模塊之間的耦合。耦合性是程序結構中各個模塊之間相互關聯的度量。它取決於各個模塊之間的接口的複雜程度、調用模塊的方式以及哪些信息經過接口。
- 2、解耦
- 1、解耦,字面意思就是解除耦合關係。
- 2、在軟件工程中,下降耦合度便可以理解爲解耦,模塊間有依賴關係必然存在耦合,理論上的絕對零耦合是作不到的,但能夠經過一些現有的方法將耦合度降至最低。
- 設計的核心思想:儘量減小代碼耦合,若是發現代碼耦合,就要採起解耦技術。讓數據模型,業務邏輯和視圖顯示三層之間彼此下降耦合,把關聯依賴降到最低,而不至於牽一髮而動全身。原則就是A功能的代碼不要寫在B的功能代碼中,若是二者之間須要交互,能夠經過接口,經過消息,甚至能夠引入框架,但總之就是不要直接交叉寫。
-
內聚性:又稱塊內聯繫。指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。若一個模塊內各元素(語名之間、程序段之間)聯繫的越緊密,則它的內聚性就越高。所謂高內聚是指一個軟件模塊是由相關性很強的代碼組成,只負責一項任務,也就是常說的單一責任原則。
4、openstack構成組件
OpenStack共享服務組件:
數據庫服務( Database Service ):MairaDB 及 MongoDB
消息傳輸(Message Queues):RabbitMQ
緩存(cache): Memcached時間(time sync):NTP
存儲(storge provider):ceph、GFS、LVM、ISICI等
高可用及負載均衡:pacemaker(高可用)、HAproxy(負載均衡)、keepalive、lvs等
OpenStack核心組件:
身份服務( Identity Service ):Keystone
計算( Compute ): Nova
鏡像服務( Image Service ): Glance
網絡 & 地址管理( Network ): Neutron
對象存儲( Object Storage ): Swift
塊存儲 (Block Storage) : Cinder
UI 界面 (Dashboard) : Horizon
測量 (Metering) : Ceilometer
部署編排 (Orchestration) : Heat