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