圖片來源/istio.io
谷歌,IBM,及Lyft昨日正式推出其開源服務Istio。這項開源項目將給開發(fā)者提供一個統(tǒng)一的平臺,用以有效管理監(jiān)測微服務(microservices)的運行情況,并保障、提高其之間的連接性、安全性。
微服務,是一項在云中部署應用和服務的新技術。它提倡將單一應用程序劃分成一組小的服務,服務之間互相協(xié)調(diào)、互相配合,為用戶提供最終價值。每個服務運行在其獨立的進程中,服務與服務間采用輕量級的通信機制互相溝通(通常是基于 HTTP 的 RESTful API)。每個服務都圍繞著具體業(yè)務進行構(gòu)建,并且能夠被獨立地部署到生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等。簡而言之,微服務考慮的是如何圍繞著業(yè)務領域組件創(chuàng)建應用,并對這些應用獨立地進行開發(fā)、管理和加速,而微服務架構(gòu)的主旨就是高度自治和高度隔離。
和傳統(tǒng)組件相比,微服務架構(gòu)最大的優(yōu)點在于它可以獨立部署。此外,它在組件與組件之間定義了清晰的、語言無關、平臺無關的規(guī)范接口,耦合度低,靈活性非常高。對于互聯(lián)網(wǎng)行業(yè)及有相關需求的初創(chuàng)公司來說,微服務的開發(fā)簡單直接,重復率低,且功能都在本地,沒有分布式的管理開銷和調(diào)用開銷,便于集中管理,很適合業(yè)務的初期發(fā)展。
然而,微服務的架構(gòu)是基于分布式系統(tǒng)而建的,而分布式系統(tǒng)運作時需跨進程、跨網(wǎng)絡的調(diào)用,受網(wǎng)絡延遲和帶寬的影響很大。它的缺點還包括:開發(fā)效率低,所有開發(fā)的代碼都要在同一個項目里改,遞交代碼相互等待,代碼沖突不斷;代碼維護難,代碼功能耦合在一起,經(jīng)驗不足的人難以操作;部署不靈活,構(gòu)建時間長,任何小修改必須重新構(gòu)建整個項目,費時費力;穩(wěn)定性不高,一個小問題都可能導致整個應用無法運作;擴展性不夠,無法滿足高并發(fā)情況下的業(yè)務需求等。
Google,IBM和Lyft的在聯(lián)合聲明中解釋,Istio服務“不需要對實際應用程序進行任何修改,也不依賴于像gRPC這樣常見的RPC(遠程過程調(diào)用)庫,可直接使用代理來攔截微服務器之間的所有通信。”
Istio團隊還表示,該平臺可允許政策驅(qū)動的操作執(zhí)行,將操作團隊與功能開發(fā)脫離,從而讓開發(fā)者在無需大量更改代碼的情況下,改進項目的安全性。
據(jù)悉,Istio平臺是谷歌和IBM之間的一個協(xié)作開源項目,但支撐軟件的基礎來自Uber的競爭對手,Lyft公司(最近它剛和谷歌旗下的自動駕駛部門Waymo合作,研發(fā)自動駕駛技術)的Envoy代理,及其內(nèi)置的服務發(fā)現(xiàn)(Service DIScovery)和負載均衡工具。它們能為特定的微服務添加安全性、可見性和合規(guī)性等功能,以解決傳統(tǒng)應用程序分解為一組微服務時而出現(xiàn)的各種問題。Istio的推出,必將吸引到那些正在因微服務難以管理而頭疼的用戶。
據(jù)Gartner數(shù)據(jù),全球云市場將在2019年達到3120億。微服務作為一種中間組件(middleware),是云計算產(chǎn)品體系中的一項重要組成部分。鈦媒體發(fā)現(xiàn),阿里巴巴也把其微服務架構(gòu)(Alibaba's microservice structure),作為阿里云的核心競爭力之一加以宣傳。
就如阿里云總裁胡曉明接受鈦媒體采訪時說的(《獨家專訪阿里云胡曉明:產(chǎn)業(yè)互聯(lián)網(wǎng),什么為王?》),“現(xiàn)在已經(jīng)沒有企業(yè)還在思考上不上云的問題,大家的焦慮已經(jīng)轉(zhuǎn)移到“在云的時代,我可以做什么?我的機會在哪里?我會不會被替代?”
可以預想,未來的微服務市場,還有很多機會可挖。
(本文首發(fā)鈦媒體,記者/元婕)