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