如何建模可以幫助你避免在 OpenStack 中遇到問題
OpenStack 部署完就是一個 「 僵棧 」,一般出於技術原因,但有時是商業上的原因,它是無法在沒有明顯中斷,也不花費時間和成本的情況下升級的。在關於這個話題的最後一篇文章中,我們討論了這些雲中有多少陷入僵局,以及當時是怎麼決定的與如今的大部分常識相符。現在 OpenStack 已經有 7 年了,最近隨著容器編排系統的增長以及更多企業開始利用公共和私有的雲平台,OpenStack 正面臨著壓力。
沒有魔法解決方案
如果你仍在尋找一個可以沒有任何問題地升級你現有的 僵棧 的解決方案,那麼我有壞消息給你:沒有魔法解決方案,你最好集中精力建立一個標準化的平台,它可以有效地運營和輕鬆地升級。
廉價航空業已經表明,雖然乘客可能渴望最好的體驗,可以坐在頭等艙或者商務艙喝香檳,有足夠的空間放鬆,但是大多數人會選擇乘坐最便宜的,最終價值等式不要讓他們付出更多的代價。工作負載是相同的。長期而言,工作負載將運行在最經濟的平台上,因為在高價硬體或軟體上運行的業務實際上並沒有受益。
Amazon、Microsoft、Google 等大型公共雲企業都知道,這就是為什麼他們建立了高效的數據中心,並使用模型來構建、操作和擴展基礎設施。長期以來,企業一直奉行以設計、製造、市場、定價、銷售、實施為一體的最優秀的硬體和軟體基礎設施。現實可能並不總是符合承諾,但它現在還不重要,因為 成本模式 在當今世界無法生存。一些組織試圖通過改用免費軟體替代,而不改變自己的行為來解決這一問題。因此,他們發現,他們只是將成本從獲取軟體變到運營軟體上。好消息是,那些高效運營的大型運營商使用的技術,現在可用於所有類型的組織。
什麼是軟體模型?
雖然許多年來,軟體程序由許多對象、進程和服務而組成,但近年來,程序是普遍由許多單獨的服務組成,它們高度分布在數據中心的不同伺服器以及跨越數據中心的伺服器上。
OpenStack 服務的簡單演示
許多服務意味著許多軟體需要配置、管理並跟蹤許多物理機器。以成本效益的方式規模化地進行這一工作需要一個模型,即所有組件如何連接以及它們如何映射到物理資源。為了構建模型,我們需要有一個軟體組件庫,這是一種定義它們如何彼此連接以及將其部署到平台上的方法,無論是物理的還是虛擬的。在 Canonical 公司,我們幾年前就認識到這一點,並建立了一個通用的軟體建模工具 Juju,使得運營商能夠從 100 個通用軟體服務目錄中組合靈活的拓撲結構、架構和部署目標。
Juju 建模 OpenStack 服務
在 Juju 中,軟體服務被定義為一種叫做 Charm 的東西。 Charms 是代碼片段,它通常用 python 或 bash 編寫,其中提供有關服務的信息 - 聲明的介面、服務的安裝方式、可連接的其他服務等。
Charms 可以簡單或者複雜,具體取決於你想要賦予的功能。對於 OpenStack,Canonical 在上游 OpenStack 社區的幫助下,為主要 OpenStack 服務開發了一套完整的 Charms。Charms 代表了模型的說明,使其可以輕鬆地部署、操作擴展和複製。Charms 還定義了如何升級自身,包括在需要時執行升級的順序以及如何在需要時優雅地暫停和恢復服務。通過將 Juju 連接到諸如 裸機即服務(MAAS) 這樣的裸機配置系統,其中 OpenStack 的邏輯模型可以部署到物理硬體上。默認情況下,Charms 將在 LXC 容器中部署服務,從而根據云行為的需要,提供更大的靈活性來重新定位服務。配置在 Charms 中定義,或者在部署時由第三方工具(如 Puppet 或 Chef)注入。
這種方法有兩個不同的好處:1 - 通過創建一個模型,我們從底層硬體抽象出每個雲服務。2 - 使用已知來源的標準化組件,通過迭代組合新的架構。這種一致性使我們能夠使用相同的工具部署非常不同的雲架構,運行和升級這些工具是安全的。
通過全面自動化的配置工具和軟體程序來管理硬體庫存,運營商可以比使用傳統企業技術或構建偏離核心的定製系統更有效地擴展基礎架構。有價值的開發資源可以集中在創新應用領域,使新的軟體服務更快上線,而不是改變標準的商品基礎設施,這將會導致進一步的兼容性問題。
在下一篇文章中,我將介紹部署完全建模的 OpenStack 的一些最佳實踐,以及如何快速地進行操作。如果你有一個現有的 僵棧 ,那麼雖然我們不能很容易地拯救它,但是與公有雲相比,我們將能夠讓你走上一條完全支持的、高效的基礎架構以及運營成本的道路。
即將舉行的網路研討會
如果你在舊版本的 OpenStack 中遇到問題,並且想要輕鬆升級 OpenStack 雲並且無需停機,請觀看我們的在線點播研討會,從 Newton 升級到 Ocata 的現場演示。
聯繫我們
如果你想了解有關遷移到 Canonical OpenStack 雲的更多信息,請聯繫這裡。
(題圖:樂高的空客 A380-800模型。空客運行 OpenStack)
作者簡介:
專註於 Ubuntu OpenStack 的雲產品經理。以前在 MySQL 和 Red Hat 工作。喜歡摩托車,遇見使用 Ubuntu 和 Openstack 做有趣事的人。
作者:Mark Baker 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive