iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Software Development

語言只是工具,遊走在需求和技術間的腦力激盪之旅系列 第 22

Day 22 - Case 3 :Web Api 都開發好了但可以怎麼管理?(APIM)

  • 分享至 

  • xImage
  •  

經過了前面五天從需求評估、基本的Web Api建立、Logging的定義與記錄的做法、測試文件可用的套件與實作等等的內容,而今天的主題會偏向是系統上線後管理上的資訊分享。

多個系統上線後的情況與蒐集方法

對於開發者而言主要會聚焦在功能的開發,但隨著上線的日漸增加對於維運的單位,或者是這一些API實際應用情況較難掌握(雖然說是可以透過寫LOG的方式紀錄,但對於管理的角度沒辦法確保每個系統紀錄資訊的方式),也因此在這樣的情況下進而可以評估是否有可以管理的方案。

APIM

接著透過一些關鍵字看看有哪一些的資訊可以參考,輸入API Management後可以看到例如微軟、Amazon、Google的雲端服務都有推出管理的服務,而在這個部分會以微軟的相關服務說明。

在介紹這個服務前可以先稍微了解一下微軟的雲端服務平台稱之為(何謂 Azure?),而APIM只是Azure的其中一個服務,所以除了提到APIM之外也有其他的相關服務是可以一起搭配。

相關的教學資訊可以檢視API 管理文件,裡面的內容非常多並且也涵蓋整體的架構面,與一些前置需要留意的設定,接著從官方的說明來了解一下什麼是Azure API管理。
Imgur

從下面的架構圖可以看到的是在接收端與發出端的中間,透過APIM的服務來達成測試、開發、API驗證等行為,並且進而可以搭配其他的服務去監控執行狀態,或者是自動化處理人工部署。
Imgur

建立資源

在建立APIM的服務前需要建立群組資源並且再加入該服務,這個部分可以參考入口網站新增方式的連結,而在這時候看到有包含資源群組、API 管理執行個體,這幾個的關聯可以參考下圖,最上層的管理群組可以應用於較大規模公司,依照不同的單位和系統類型做階層設計。

訂閱代表單一帳戶擁有者。 帳戶擁有者有權建立和管理向註冊計費的 Azure 訂用帳戶。

Imgur

匯入API

匯入API的參考資訊可以透過OpenAPI的類型作匯入的動作,提到這個部分可以參考第20天第21天提到的Swagger UI,將當前完成的版本匯出成JSON檔案的形式後做匯入的動作。

模擬API的回傳結果

這個部分直接看到啟用回應模擬的部分,這個回傳結果的呈現方式就如同昨天提到的Swgger filter的設定,這樣可以讓想要測試的Api透過模擬的方式看到呼叫後的結果。

總結今天的分享除了上述的內容外,還有像是版本控制、監控、偵錯等等的其他功能,都可以在APIM的服務下使用,對於集中管理和開發是一個很好的選擇。

但還是需要留意因為是使用Azure的服務,所以在考慮導入的時候可以回頭看看目前在Api的應用情況,或者是長期而言的開發策略等相關因素納入評估。


上一篇
Day 21 - Case 3 :實戰開發應用Swagger UI(.NET 6 Swagger UI)
下一篇
Day 23 - 回顧前面的案例可以怎麼再做進階的組合搭配!?(Jira + Automate Idea)
系列文
語言只是工具,遊走在需求和技術間的腦力激盪之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言