Proxy Services 偏向于CPU和network I/O 密集型,而 Object Services, Container Services, Account Services 偏向于disk and networkI/O 密集型。
Ring 代表磁盤上存儲的實體的名稱和它們的物理位置的映射。accounts, containers, and objects都有單獨的Ring。其他組件要在這三者之一進行任何操作,他們都需要合相應的Ring進行交互以確定它在集群中的位置。
OpenStack Object Storage系統被設計來供許多不同的存儲消費者或客戶使用。每個用戶必須通過認證系統來識別自己。為此,OpenStack Object Storage提供了一個授權系統(swauth)。
OpenStack Image Service包括兩個主要的部分,分別是API server和Registry server(s)。
OpenStack Compute采用無共享、基于消息的架構,非常靈活,我們能安裝每個nova- service在單獨的服務器上,這意味著安裝OpenStack Compute有多種可能的方法。可能多結點部署唯一的聯合依賴性,是Dashboard必須被安裝在nova-api服務器。
OpenStack Compute建立在無共享、基于消息的架構上。Cloud controller通過HTTP與internal object store交互,通過AMQP和scheduler、network controller、 和volume controller 來進行通信。
通過覆蓋OpenStack Compute 邏輯組件,Glance和Dashboard,來表示功能范圍。對于每一個覆蓋,都有相應的提供該功能的邏輯組件的名稱。
邏輯架構中有兩個重要的部分,既不是自定義編寫,也不是基于Python,它們是消息隊列和數據庫。二者簡化了復雜任務(通過消息傳遞和信息共享的任務)的異步部署。
OpenStack能幫我們建立自己的IaaS,提供類似AmazonWebService的服務給客戶。為實現這一點,我們需要提供幾個高級特性。