紅帽發布多容器應用規范Nulecule
【編者的話】這篇文章簡單的介紹了Nulecule的產生、特性以及目標, Nulecule致力于構建一個統一的復合應用(基于多容器)的描述規范。筆者認為想法很好,但是要想實現這一目標不僅僅是一個技術問題,更多的是需要實 現各個容器廠商的利益均衡,而做到這一點并不那么容易。不過還是應該肯定Project Atomic為此所做的事情。
為了幫助開發和管理人員創建和啟動多容器組合的應用,Project Atomic的童鞋們正在起草一份與平臺無關的規范,叫做Nulecule(noo-le-kyul)。你可以在RHEL博客中找到關于此方案的完整解釋以及我們的解決方案。

那我們為什么要做這件事情了?因為容器正在重塑IT版圖,并且很快就會顛覆之前那些根深蒂固的技術。這是件好事,因為它確實可以解決很多的問題。但是容器 的生態系統并不完善,畢竟它才剛剛開始發展。現在仍然還有很多挑戰,但是每個挑戰都是一個機會。既然如此,這里就有這樣一個機會:構建應用的可管理性,并 且創建一個標準化的方法使得可擴展的、復合(composite)應用配置變的更容易。
在這次IT技術的演進過程中,我們遵循的是“MYSM(make your stuff manageable)”,就是“讓你的東西可以管理”。Linux以及其它的一些組件組合而成的LAMP堆棧構建了一個非常大的開源軟件生態系統。但是 他們在可管理性方面還是做的不夠,這也為各種各樣的配置管理工具創造了機會。Java程序員總是對LAMP開發者不太滿意,不斷提醒他們缺少與管理工具的 整合。不幸的是嘗到了JMX以及WAR文件輕松部署帶來的可管理性甜頭之后,你不得不強迫自己去學習Java框架。那么玩開源的開發者應該怎么辦?
其中一個答案就是把應用容器化,從而你可以獨立的開發和更新應用的各個組件。但是,管理單個容器相對容易,而管理多個容器就比較困難了。這也正是Nulecule存在的意義。
Nulecule定義了一個模式(pattern)和模型(model)來打包復雜的多容器應用,所有的依賴,包括編排的元數據 (orcherstration metadata),都會在一個容器鏡像中構建、部署、監控以及管理。只要創建一個擁有Nulecule文件的容器,應用就可以運行了。在 Nulecule規范中,你要在一個圖中定義編排提供者、容器位置和配置參數,Atomic App在Kubernetes和Docker的幫助下會把他們拼湊到一起。Nulecule規范還支持多個復合應用的整合,它不綁定任何的容器以及編排工 具,你可以使用任何容器和編排工具引擎。
Nulecule規范亮點:
? 可以在一個容器中通過可擴展的元數據來維護應用描述和上下文
? 可以通過繼承來定義復雜應用,這些容器的組合定義都會放到一個單一的、標準的、輕便的描述中
? 通過一個有向圖來反應依賴之間的關系以簡化復雜應用的依賴管理
? 對容器和編排引擎不可知,可以使用任何的引擎和編排技術
我希望你使用我們的規范和實現,然后告訴我們,特別是跟其它實現一起工作時的缺陷,我們很想知道這些。因為我們真的想為開發者、工具創建者以及管 理框架找到一個好的解決方案。理想地說,Nulecule將會涉及開發和運維兩方面的工具。從運維方面來說有,Apache CloudStack、OpenStack、ManageIQ以及Ansible。從開發者方面來說有Visual Studio、Docker Compose、OpenShift和Eclipse。
考慮到現在有很多流行的容器格式、編排引擎和策略(Policy)管理工具,我想我們應該使用統一的定義和語言來描述復合應用。很明顯,未來將會出現很多的多容器應用框架。如果他們使用同樣的語言,那將會極大的簡化開發者和運維人員的工作。
我們創建了一些例子來幫助你開始。第一個,也是最簡單的例子叫做helloapache。它是一個基于centos/httpd鏡像的單個pod,但要使用它,你需要一個擁有Atomic CLI和kubectl的機器。實例錄像。
這里還有個復雜點的例子,展示了如何使用Docker部署OpenStack,以及使用answerfile.conf實現自動安裝。實例錄像。
另外一個例子是展示如何使用Atomic App、Docker和Kubernetes部署一個鏈接在一起的復合應用。示例錄像。
我們在很短的時間內取得了很大的突破,但是接下來還有很多事情要做。我們非常激動可以分享我們到目前為止的工作,并且期望與大的社區合作,一起開發Nulecule,使得復雜容器化應用部署變得更簡單容易。
原文:Announcing the Nulecule Specification for Composite Applications (翻譯:左偉 校對:李穎杰)
===========================
譯者介紹
左偉,就職于IBM,軟件工程師,現從事于DevOps,云計算相關的研究,實現和推廣。
不深思則不能造于道。不深思而得者,其得易失。
名人名言- 曾國藩
- By 左偉
- 2015-06-01
- 1561
- 公司新聞,網站開發,網站設計,UI