本節書摘來自異步社群《openstack實戰》一書中的第1章,第1.2節,作者: 【美】v. k. cody bumgardner(v. k. 科迪•布姆加德納)著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
本書主要關注如何通過使用openstack來部署企業私有雲。同時,我會把私有雲描繪成其所在的組織内部擁有和管理的基礎設施(虛拟機、存儲等)資源池,也就是我們所說的基礎設施即服務(infrastructure as a service,iaas)。相反,公有雲iaas資源由第三方服務提供商擁有和營運,如亞馬遜的aws、微軟的azure等。本書的目标是幫你把公有雲服務的簡單和高效帶到你的企業。
經濟考量:私有雲與公有雲
從财務角度看,我們可以把私有雲看成主要資本支出,公有雲則是營運支出。這個差別很容易了解,在私有雲部署時,你的組織要購買基礎設施或者把在其他地方正常工作的基礎設施挪過來使用。而在公有雲中,成本直接與資源使用挂鈎(使用才付費,不使用不付費),當然還有網絡通信開銷。
組織選擇私有雲還是公有雲通常取決于使用資源的規模群組織内部it部門的職責範圍。企業it部門的職責如果是集中為其他部門提供技術架構和資源供給,部署私有雲更有利。一個多租戶(資料、配置和使用者管理在邏輯上是租戶間隔離的)、完全實作編排的私有雲可以讓企業it部門成為私有雲代理。
多租戶和完全編排
多租戶指的是在雲平台中以部門級别管理計算資源的能力。例如,一個市場營銷部門可以配置設定一定比例的共享資源(x台虛拟機、y容量的存儲等),這個部門可以随意使用這些資源而不影響中心組織(回顧一下亞馬遜購買模型)。同樣,完全編排描述了應用程式依賴資源的配置設定能力。例如,一個會計應用程式和它的web服務、資料庫服務等依賴可以被程式化部署在一個環境裡。是以,市場營銷部門不隻能在一個特定租戶内管理它的資源,還能通過平台編排服務來部署基礎設施(虛拟機)和應用程式(mysql、apache2、定制的應用程式等)。
相比之下,如果是部門中的it機關,通常缺乏資料中心基礎設施和部署高成本效益的私有雲的人員。由于他們相對小的資源需求,部門中的it機關通常可以利用公有雲資源,或者利用他們企業的it部門提供的私有雲資源。
如果基于工作負載同時使用私有雲和公有雲,那麼這種結合使用稱為混合雲。公有雲和私有雲都是使用相同的技術來建構,不過雖然建構元件可能一樣,但使用私有雲和公有雲的動機可能完全不同。例如,使用者經常因為安全合規性原因而使用私有雲。通常來說,下列這些工作負載會使用公有雲:本質上是周期性的工作負載,或者需要一個對企業來說非常昂貴的全局規模的工作負載。
雖然本書主要介紹如何使用openstack建構私有雲,但也有很多内容是介紹如何基于openstack的api來直接轉換成公有雲提供商的服務。
抽象和openstack api
從根本上講,openstack抽象和提供了一個通用的api接口來控制不同廠商提供的硬體和軟體資源。這個架構提供了兩個很重要的内容。
硬體和軟體的抽象,這樣避免了所有特定元件的廠商鎖定問題。這是通過使用openstack管理資源來實作的,而不是直接通過廠商元件。這樣做的缺點是除了通用的必要功能外,并不是所有的廠商功能都被openstack支援。
一個通用的api管理所有資源,允許連接配接各個元件進行完全編排服務。
第一點從财務角度來看是非常好的,第二點則是現代it變革的關鍵。
這有什麼内幕呢
openstack提供了可伸縮和被抽象的底層硬體的各種功能的支援。openstack(或者其他雲架構)不能做到的是主動順應你目前的技術實踐。為了充分利用雲計算的能力,你必須對目前的業務和架構實踐進行相應的轉變。
如果你的架構标準是基于使用廠商提供的适當功能來對資料中心所有伺服器實作某些功能,這樣會與對廠商抽象的雲部署沖突。如果你的業務實踐隻是按使用者需求建立虛拟機,那你就沒有抓住雲自助服務的本質。如果最終使用者的請求可以被高效自動化執行,或者使用者可以自我供給資源,那你就是充分利用了雲計算的能力。
1.3節将把openstack與其他相應技術(也許是你熟悉的)關聯起來。