為什么企業(yè)需要創(chuàng)建微服務(wù)目錄?
譯文譯者 | 布加迪
審校 | 孫淑娟
什么是微服務(wù)目錄?
微服務(wù)目錄是放置企業(yè)構(gòu)建和部署的所有不同服務(wù)的管理平臺。這一單一的管理平臺讓企業(yè)可以查看有哪些應(yīng)用程序、這些應(yīng)用程序的源代碼在哪里以及它們?nèi)绾尾渴?。該目錄還可能含有其他許多類型的數(shù)據(jù),可以集中起來呈現(xiàn)整體視圖。
企業(yè)可以調(diào)整目錄,以適應(yīng)多項服務(wù)需要的任何類型的關(guān)鍵數(shù)據(jù)。目錄還可以幫助其他開發(fā)人員發(fā)現(xiàn)已發(fā)布的內(nèi)容。比如說,假設(shè)貴企業(yè)部署了身份驗證系統(tǒng)。為了讓其他開發(fā)人員發(fā)現(xiàn)該服務(wù),并使用它公開的任何API,要有一個地方可供他們搜索,找到該服務(wù)及開發(fā)者文檔那就好了。如果目錄含有示例及其他有用信息,讓開發(fā)人員可以使用該服務(wù)快速入手,那就更好了。目的是確保開發(fā)人員或其他任何人都可以在此處搜索、查找和使用貴企業(yè)構(gòu)建的所有內(nèi)容。
本企業(yè)需要微服務(wù)目錄嗎?
哪些跡象表明貴企業(yè)需要微服務(wù)目錄?一個明確的跡象是,開發(fā)人員是否經(jīng)常索要信息。他們不知道去哪里查找數(shù)據(jù)或流程,只好問其他開發(fā)人員要找的內(nèi)容在哪里。這個信號表明要有所有開發(fā)人員都可以用來搜索答案的目錄,而不是因為目錄可以解答的問題而打擾其他人。
另一個清晰的信號是,貴企業(yè)正快速發(fā)展,團隊數(shù)量也迅速增加,溝通渠道隨之急劇增多。這不是一種可持續(xù)的狀態(tài),因為溝通會變得越來越困難。相反,為員工提供一種工具來幫助簡化部分溝通渠道將大有助益。
微服務(wù)目錄可以幫助企業(yè)處理其中一些溝通問題,那是由于它含有對每項服務(wù)都有用的文檔。它還可以是自助式的,那樣人們可以瀏覽并找到所需的答案,無需有勞其他同事。它使人們能夠在需要時找到所需的信息。
另一個清晰的信號是,企業(yè)最終擁有足夠多的服務(wù),一名員工無法合理地跟蹤所有服務(wù)。這是較模糊的指標(biāo),取決于貴企業(yè)在做什么。如果貴企業(yè)有多條產(chǎn)品線,需要不止一個人來解釋發(fā)生了什么,是時候開始創(chuàng)建微服務(wù)目錄以跟蹤所有內(nèi)容了。
在微服務(wù)目錄中放些什么?
不妨概述一下微服務(wù)目錄的幾個用例:
- 可以為部署的那種服務(wù)或應(yīng)用程序顯示信息的單一網(wǎng)站。
- 指向源代碼和開發(fā)者文檔的鏈接。
- API用例的鏈接和端點鏈接。
- 示例用法的鏈接。
- 生產(chǎn)系統(tǒng)方面的信息和鏈接。
- 生產(chǎn)系統(tǒng)性能方面的統(tǒng)計數(shù)據(jù)。
- 將那些服務(wù)或應(yīng)用程序推送到生產(chǎn)環(huán)境的構(gòu)建系統(tǒng)的鏈接。
- 團隊中任何人可能覺得對使用貴公司的服務(wù)有幫助的任何其他內(nèi)容。
這種產(chǎn)品有諸多好的用例。它讓人們可以回答自己的問題。該產(chǎn)品可能一開始很小,但公司可以提供快速添加信息的功能。而且,公司還允許使用其他信息源來擴展。這個工具很快會對貴公司變得非常寶貴。
最終目標(biāo)是在微服務(wù)目錄獲得盡可能多的有用信息。這將需要時間和信息甄選。企業(yè)會發(fā)現(xiàn)一些數(shù)據(jù)比其他數(shù)據(jù)更有價值。最后,企業(yè)可以精準(zhǔn)地了解人們實際需要什么數(shù)據(jù)。
有哪些有效的做法可以遵循?
這種目錄的一個重要特點是,使它們具有權(quán)威性和可擴展性。應(yīng)確保這是系統(tǒng)任何部分的真實信息來源。除此之外,還應(yīng)確保人們可以添加、更新甚至刪除部分。
對于新企業(yè)而言,盡早開始使用微服務(wù)目錄比較容易。一旦微服務(wù)目錄成為已知的信息來源,隨后會日益龐大。
大企業(yè)將不得不慢慢融入功能,直到獲得大規(guī)模采用和使用,這并非易事。但重要的是從小處著手,讓系統(tǒng)不斷龐大。為開發(fā)人員部署到生產(chǎn)環(huán)境的所有內(nèi)容列一份簡單列表是個好的開始,然后將信息添加到人們經(jīng)常尋找的每個可部署目錄中。
將面臨哪些挑戰(zhàn)?
當(dāng)貴企業(yè)已經(jīng)決定使用微服務(wù)目錄,有哪些阻礙因素呢?
這取決于貴企業(yè)在開發(fā)實踐方面的成熟度。將任何新內(nèi)容放入到那種環(huán)境中總是要費點工夫。由于是新內(nèi)容,總會有采用的問題。首先,貴企業(yè)嘗試在服務(wù)中找到通用數(shù)據(jù)。然后,盡量將信息放入到一個易于使用的地方。
下一個問題將是努力確保內(nèi)容最新。在各種信息系統(tǒng)中,防止內(nèi)容過時始終是一項重要的任務(wù)。確保成功需要規(guī)范和組織。有必要讓內(nèi)容易于更新或更改,讓內(nèi)容可以自動更新就更好了。如果系統(tǒng)中的大部分?jǐn)?shù)據(jù)都是自動化的,那么沒人需要照看它。但是系統(tǒng)的某些部分需要時不時手動管理。這需要規(guī)范,以確保信息準(zhǔn)確無誤。隨著系統(tǒng)不斷完善,但愿可以盡量減少手動工作。
標(biāo)題:??What Is a Microservice Catalog and Why Do You Need One???,作者:Erik Lindblom