Red Hat: API層是微服務(wù)架構(gòu)成功的關(guān)鍵
Microservices作為一項(xiàng)在云中部署應(yīng)用和服務(wù)的新技術(shù)已成為當(dāng)下最新的熱門話題。但大部分圍繞microservices的爭論都集中在容器或其他技術(shù)是否能很好的實(shí)施微服務(wù),而紅帽說API應(yīng)該是重點(diǎn)。
企業(yè)和服務(wù)提供商正在尋找更好的方法將應(yīng)用程序部署在云環(huán)境中,microservices被認(rèn)為是未來的方向。通過將應(yīng)用和服務(wù)分解成更小的、松散耦合的組件,它們可以更加容易升級(jí)和擴(kuò)展,理論上是這樣。
最近一場關(guān)于“容器技術(shù)和虛擬機(jī)是否是實(shí)現(xiàn)微服務(wù)的最佳技術(shù)”的辯論在加州硅谷的OpenStack Silicon Valley上進(jìn)行。
正方是容器更輕、更快的部署;反方是虛擬機(jī)是更成熟的技術(shù),并且在不同工作負(fù)載之間可以提供更好的隔離。
但這場辯論有些沒抓住要點(diǎn),根據(jù)Red Hat主管技術(shù)營銷的Arun Gupta表示。如果microservices目的是使其更容易構(gòu)建和部署應(yīng)用程序,那么只要API層不變,底層技術(shù)將變得不那么重要,至少對(duì)于開發(fā)人員是這樣的。
“我不在乎這些容器是什么。它們是獨(dú)立的。今天它們可以是JBoss,明天它們可能是Node.js,之后是Fuse 或者[Apache] Camel。我真的不關(guān)心,因?yàn)樗鼈兪褂肦ESTful API來相互建立聯(lián)系,只要它們使用RESTful API就夠了”,他說。
Red Hat目前使用Docker和Kubernetes,編排框架容器是由谷歌開發(fā)的,作為OpenShift平臺(tái)即服務(wù)提供基于云的應(yīng)用開發(fā)和操作。
這是因?yàn)镵ubernetes和Docker的結(jié)合是目前最成熟的技術(shù),對(duì)于一個(gè)成功的微服務(wù)部署,Kubernetes提供一些重要的功能,如服務(wù)發(fā)現(xiàn)、容器管理和組件之間的通信。
這在未來可能會(huì)由于 OpenStack Magnum project項(xiàng)目的開發(fā)會(huì)發(fā)生改變,Magnum旨在作為框架支持所有容器技術(shù),但這取決于Red Hat的客戶所看到的要求,Gupta解釋道。
“OpenShift v3.0基于Kubernetes,但我們是Open Container的一份子,作為一項(xiàng)對(duì)于我們的客戶來說重要的技術(shù),我們會(huì)有相應(yīng)的投資,”他說。
“因此,在未來的三、四年,無論如何,如果OpenStack Magnum變得非常有價(jià)值,我們可以在OpenShift抽象它。但是今天Kubernetes和Docker仍然為王。”
Gupta曾熱衷于促進(jìn)Red Hat的綜合軟件棧,說該公司對(duì)于微服務(wù)架構(gòu)有著“很好的定位”。
“從底部OpenStack到RHEL平臺(tái),在這之上你有OpenShift,使用Docker和Kubernetes,上面還有JBoss Application Server,再上面有使用JBoss developer Studio的開發(fā)人員工具,”他說。
“OpenShift允許你做公有云、私有云、混合云。JBoss中間件是我們主要的應(yīng)用平臺(tái),但我們明白不是每個(gè)人都想要Java,因此我們提供Vert.x,這是一個(gè)真正通曉多種語言的異步應(yīng)用程序框架。”
然而,回到microservices,Gupta為了讓人理解他的觀點(diǎn),他建議用戶應(yīng)該查看API層的堆棧。
“當(dāng)你設(shè)計(jì)你的microservices的時(shí)候,所有你關(guān)心的問題都應(yīng)該是真正應(yīng)用程序級(jí)別的”他說。