如何做好微服務(wù)?
譯文【51CTO.com快譯】
隨著全世界穩(wěn)步邁向云計(jì)算,微服務(wù)意義重大。不像整體式應(yīng)用程序,您可以將應(yīng)用程序分解為可獨(dú)立部署的不同服務(wù),使不同的團(tuán)隊(duì)可以使用青睞的編程語言、工具和數(shù)據(jù)庫等。因此,難怪一些調(diào)查發(fā)現(xiàn)多達(dá)84%的企業(yè)在擁抱微服務(wù)。
但是這沒有告訴我們企業(yè)是否在微服務(wù)方面取得成功或如何取得成功。
為此,有必要探究一下O'Reilly新的微服務(wù)調(diào)查結(jié)果,它調(diào)查了其郵件列表上的1502多人。鑒于O'Reilly的群體往往比大多數(shù)人更精通技術(shù)(超過四分之一的受訪者從事軟件行業(yè)),這些結(jié)果很可能是表明微服務(wù)成功的主要指標(biāo),而不是表明當(dāng)今市場所處的行情。即便如此,92%的受訪者聲稱微服務(wù)方面至少“取得了一定的成功”,因此前景一片光明。
但是如何使前景更光明呢?這個(gè)問題涉及組織和容器。
豪賭微服務(wù),取得成效
雖然僅10%的受訪者表示微服務(wù)投入獲得了“全面成功”,但約55%的受訪者至少“大體上成功”。考慮到受訪者供職于微服務(wù)有點(diǎn)成熟的公司,這也許不足為奇。約三分之一(28%)的受訪者在其企業(yè)內(nèi)使用微服務(wù)至少有三年,而超過五分之三(61%)的受訪者使用微服務(wù)不少于一年。
因此,總的來說,受訪者不是微服務(wù)新手。他們也沒有退縮。報(bào)告聲稱,29%的受訪者表示雇主在使用微服務(wù)遷移或?qū)嵤┐蟛糠窒到y(tǒng)(超過50%)??紤]到將整體式應(yīng)用程序分解成微服務(wù)所需的工作量,這表明成效很大。
對(duì)于微服務(wù)方面最成功的那些人來說,O'Reilly的數(shù)據(jù)揭示了什么?據(jù)撰寫報(bào)告的Mike Loukides和Steve Swoyer聲稱,成功的關(guān)鍵歸結(jié)為讓開發(fā)團(tuán)隊(duì)掌控整個(gè)開發(fā)周期(即構(gòu)建、測試、部署和維護(hù))。在這個(gè)群體中,約49%的人在微服務(wù)方面“大體上成功”,另外的10%認(rèn)為聲稱“全面成功”。
換句話說,掌控整個(gè)開發(fā)周期在微服務(wù)方面帶來了回報(bào)。
但這不是全部真相,因?yàn)槭茉L者中近75%的人供職于開發(fā)團(tuán)隊(duì)全面掌控開發(fā)周期的公司。同樣鑒于O'Reilly郵件列表上的人普遍精通技術(shù),應(yīng)把這看成是行業(yè)的理想狀態(tài):更多的團(tuán)隊(duì)掌控整個(gè)開發(fā)周期,帶來了更多的微服務(wù)成功案例。
容器方面的成功
容器是促使微服務(wù)成功的另一個(gè)重要因素。有趣的是,大多數(shù)受訪者(58%)使用容器之外的方法為微服務(wù)創(chuàng)建實(shí)例。這么做有充分的理由(報(bào)告作者特別指出,有時(shí),由于技術(shù)負(fù)擔(dān)或其他因素,在虛擬機(jī)層面為微服務(wù)創(chuàng)建實(shí)例完全更容易/更快捷)。
但是對(duì)于那些確實(shí)走容器這條路的人來說,成功的可能性大得多。報(bào)告聲稱:“聲稱微服務(wù)方面成功的受訪者中一半以上的人選擇使用容器為微服務(wù)創(chuàng)建實(shí)例;反過來,稱微服務(wù)項(xiàng)目“一點(diǎn)也不成功”的受訪者中比例高得多的人并不使用容器為微服務(wù)創(chuàng)建實(shí)例。”舉例說,聲稱微服務(wù)方面“全面成功”的人49%還使用容器為大多數(shù)微服務(wù)創(chuàng)建實(shí)例(75%-100%),這是基準(zhǔn)的5倍。對(duì)于聲稱微服務(wù)項(xiàng)目“一點(diǎn)也不成功”的那些人而言,他們絕大多數(shù)聲稱幾乎不將容器用于微服務(wù),這是基準(zhǔn)的11倍。
這個(gè)數(shù)字應(yīng)該會(huì)減小,速度可能比我們預(yù)期的快得多。Diamanti首席執(zhí)行官Tom Barton接受采訪時(shí)估計(jì),雖然目前容器的采用率為5%,但我們可能會(huì)在六年內(nèi)接近100%的采用率,所用時(shí)間是虛擬機(jī)達(dá)到同樣采用率的一半。原因何在?因?yàn)樾袠I(yè)在Kubernetes等通用工具方面實(shí)現(xiàn)了準(zhǔn)化。
如果您希望提高微服務(wù)方面的成功率,有必要讓開發(fā)團(tuán)隊(duì)全面掌控開發(fā)流程,并使用容器。容器越來越像是穩(wěn)妥的舉措,但確保貴組織可充分利用容器。這是公司現(xiàn)在應(yīng)做出的決策。
原文標(biāo)題:How to get microservices right,作者:Matt Asay
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】