組織在棄用 API 時需要知道的事項

  2017 年 1 月 11 日

在 API 領域中,經常出現的一個議題是公司決定棄用 API 版本,或完全關閉對熱門 API 的支援。 以最近 Google 的例子來說,他們在 2017 年 1 月悄悄宣布要關閉對 Hangouts API 的支援。據推測,這是為了專注於其消費性視訊聊天應用程式 Duo,因而決定將 Hangouts 轉為企業級解決方案。這為在 API 上建構的應用程式(例如 Roll20 和 PingPong)帶來許多不確定性。 公開 API 最好被視為一個業務部門提供給另一個部門的合約,由提供服務的公司定義。各種第三方開發人員和合作夥伴單位可以利用這些 API 來建構自己的服務。 這種「開放 API」的概念一直是應用程式開發人員創新的驅動力,但也伴隨著某些風險。使用公開 API 建構應用程式或服務的最大風險之一,就是其不可靠的本質。 作為向大眾提供 API 的組織,制定如何管理 API 不同版本的棄用和停用的計畫非常重要。那麼,組織如何最好地棄用 API?讓我們先了解 API 棄用背後的理由,然後重點介紹一些有效棄用的建議做法。

何時棄用 API

棄用和停用 API 是一項艱難的決定。沒有正確的方法可以做到,但肯定有錯誤的方法。請記住,如果 API 棄用處理不當,可能會損害公司的品牌聲譽和信任。 API 棄用有很多原因。棄用 API 版本的原因可能是:

  1. API 不安全
  2. API 有太多錯誤
  3. API 不支援重要的使用案例
  4. API 效率不佳

在當今快速發展的科技環境中,為了保持 API 的相關性,不斷新增和更新 API 的改進功能,因此棄用 API 版本或多或少是理所當然的。如果能快速提供具有適當資源的良好且穩定的替代方案,這種形式的棄用對消費者的應用程式不會產生太大的影響。 然後是更永久的棄用形式 — 完全刪除或停用 API。在這裡,API 會完全處置,並且不提供更新的版本。這是一個風險較高的選項,如果組織想執行此操作,則需要充分了解其影響。 API 被處置的一些原因是:

  1. 由於成本原因,該服務不再能被支援
  2. 公司決定將資源投入到該產品的不同變體中
  3. 該服務不再符合業務目標

這些決定通常歸結為業務策略以及 API 與公司營收或用戶獲取目標的一致性。雖然這個決定很難,但許多組織在某個時候都必須經歷這個過程。

如何有效棄用 API

棄用是 API 的最後階段,應謹慎且同理地執行。這可能會讓您的終端消費者感到沮喪,在某些情況下,還可能導致整個產品關閉。以下是一些可讓此過程更順利的指南。

誠實溝通

當您決定棄用 API 時,請對 API 的消費者坦誠相待。發送一封初始訊息,宣布計畫的棄用、擬議的棄用時間表、下一個版本的發佈時間表(如果有的話)以及其他資訊(例如支援、聯絡方式等)。在這種情況下,API 管理工具可能會派上用場,它可以讓您快速存取使用過您 API 的用戶列表。如果無法輕易取得此資訊,則查看 API 日誌以尋找頻繁使用的使用者可能是一個好的開始。 也可以在 API 開發人員入口網站和其文件中進行溝通。例如,Swagger 架構支援操作的棄用標籤,這將更新互動式 Swagger 文件,通知使用者某個操作已棄用。您可以在規格文件中了解更多資訊。  Swagger UI

提供足夠長的日落期

這是發布初始 API 棄用公告之後的一段時間,讓 API 消費者有時間重新配置其應用程式。這可以是更新程式碼的形式,以將新版本的 API 納入其軟體架構,或是在 API 已停用的情況下,採用替代解決方案的程式。良好的日落期非常重要,因為它可以讓依賴 API 的公司有時間調整其業務和技術策略。根據已棄用 API 的範圍、用戶群和服務供應,此期間可能介於 3 到 8 個月之間。

有效進行版本控制

透過有效的版本控制,可以更輕鬆地棄用特定版本的 API。透過良好的版本控制,API 的不同版本也可以同時存在。在完全棄用 API 之前,建構並發布 API 的下一個版本。這與日落期相關聯,讓開發人員和工程師有足夠的時間重新設計其現有的架構,以支援新的 API。 SwaggerHub 具有一個 API 版本控制系統,允許 API 的多個版本和迭代同時存在,同時提供友善的中繼資訊,告知終端使用者最新的穩定 API。這是向終端使用者提供有關 API 存在的各種版本以及建議使用的版本資訊的最佳方法之一。

提供替代方案

可能有許多應用程式和全規模軟體解決方案依賴 API 才能順利運作。為您的 API 消費者提供良好的移轉計畫,以便順利轉換到 API 的最新版本,或是在完全刪除 API 的情況下,轉換到其他替代方案,這有助於減輕挫敗感並維持終端使用者之間的信任。最好在 API 完全棄用之前,遵守 API 服務等級協議中做出的任何承諾和約定。這樣做的原因是維持信任,並保持您的組織在 API 消費者中的聲譽。人們會議論,而負面的口碑可能會對品牌形象造成無法彌補的損害。Twitter 就是一個顯著的例子,它過去曾遭受糟糕的開發人員關係之苦,並且正在積極努力重建這種關係。             總而言之,組織應仔細思考為何、何時以及如何停用對 API 的支援,無論是版本還是整個服務本身。組織應花費時間和精力來幫助其終端消費者恢復,方法是提供正確的資訊、正確的資源和正確的時間。最後,組織應投資正確的工具和基礎架構,以管理、版本控制和最終停用其 API 的不同版本。 

API 經濟以及如何最佳化組織的 Swagger API 工作流程

將 API 視為業務目標的重要驅動力是一個相當新的發展,而現在各公司已開始大量投資於其 API 策略。同時,API 描述格式(如 Swagger)的採用也呈現爆炸性增長,這些格式有助於簡化開發並推動組織 API 的採用。在我們即將舉行的網路研討會「API 經濟以及如何優化您組織的 Swagger API 工作流程」中,我們將深入探討組織應如何思考其 API 策略,以及像 Swagger 這樣的 API 描述格式如何提供協助。我們將提供建立 API 生命周期工作流程的最佳實務,並介紹您的團隊如何使用 SwaggerHub 來協同合作進行 API 的設計、文件編寫和開發。涵蓋的部分主題包括:

  • 什麼是 API 策略?
  • API 帶來哪些商機?
  • 成功的 API 策略有哪些要求?
  • 決定正確的 API 開發方法
  • 使用 SwaggerHub 優化 API 工作流程

網路研討會時間為 1 月 25 日星期三下午 1:00 (美東時間)。立即註冊!