« 2024年你應該關注的5個KUBERNETES趨勢雲端平台儲存專案規劃的綱要原則 »

內部開發者平台與入口網站的連結之道

Friday, March 08, 2024 KillTest 0条评论 0个引用

 岱军 云云众生s 
一個內部開發者入口網站可以滿足抽象和編排的需求。

 
譯自How Do the Internal Developer Platform and Portal Connect?,作者 Zohar Einy 是 Port 的 CEO,Port 是一個用於內部開發者入口網站的非代碼平台,他與 Yonatan Boguslavski 共同創立了這個公司。
 
許多文章都解釋了內部開發者平台和內部開發者入口網站的差異。 區分兩者固然重要,但更重要的是了解兩者如何連接,因為坦白說,沒有門戶的平台不會讓開發人員的生活更輕鬆。 平台需要前端,而這就是內部開發者入口網站的作用。
 
讓我們來看看平台是什麼,門戶與平台的關係,最後是平台和入口網站透過哪些API進行連線。
 
什麼是內部開發者平台?
即使您沒有意識到,您可能已經擁有了一個平台。 內部開發者平臺本質上是由您建置到軟體開發生命週期(SDLC) 中的所有內容組成的,包括您的基礎架構、雲端以及介於兩者之間的一切。 平台是您已經擁有的所有平台工具和基礎設施的總稱。
 
平台是一個中心樞紐,由建置、部署和管理所有事物所需工具組成,其主要目標是改善開發人員體驗。 例如,平台提供對內部 API、微服務、SDK 和開發所需的其他資源的統一存取。 它還提供整合的工具,例如CLI 工具、建置自動化、CI/CD 管線和基礎設施配置。
 
這意味著開發人員無需直接在第三方工具(例如事件管理、應用程式安全或 FinOps)中工作。 相反,開發人員透過平台存取這些工具。
 
內部開發者平台的主要目的是透過集中化資源並使其更容易存取來減輕開發者的認知負擔。
 
那為什麼你需要入口網站和平台呢?
平台有助於抽象複雜性,但並不足夠。 它們在可訪問性、可擴展性和開發者所需的必要保障方面存在限制。 對開發者來說,平台仍然可能很難理解,這意味著他們無法自給自足,這會影響他們花在解決問題、尋求幫助或創建 DevOps 工單的時間。
 
內部開發者入口網站進一步抽象化了複雜性,並促進了開發者的自助服務,同時提供了黃金路徑並確保了相關的保障措施。
 
那麼內部開發者入口網站具體做什麼呢?
入口網站充當對平台的使用者友善介面,透過提供一個單一使用者介面來抽象化軟體開發環境的複雜性,該介面專為不同開發團隊的問題和需求而設計,使他們可以輕鬆理解整個技術堆疊及其導致 的相互依賴關係。 基本上,它們是為了提供更好的開發者體驗和提高生產力而量身定制的。
 
門戶將連接到您的平台,並執行以下操作:
 
攝取您的元資料並建立軟體目錄,為您提供所需的上下文。 這將是您軟體開發生命週期的全部所在之處 — 應用程式、服務、環境、資源 — 並且它將包含有關每個項目的所有信息,如所有者、文件和其他上下文。 例如,軟體目錄可以包括來自 Kubernetes(K8s)的即時數據,以顯示每個環境中部署的每個微服務的運行時資訊。
 
門戶透過一套自助服務操作驅動開發者的自治性。 自助服務操作的主要優點是解放開發者免於重複、耗時的工作。 平台工程師使用入口網站來建立這些操作,並在其周圍設置靈活的保護措施。 這樣,開發者可以在不需要協助的情況下,提供新服務或取得雲端資源的臨時權限。 因此,這簡化了工作流程並加快了開發過程。
 
入口網站確保開發者不僅僅是在“編寫程式碼”,而是在推動組織標準和關鍵績效指標。 它促進了「左移」方法來解決安全、品質和營運問題。 透過為開發者提供正確的見解(透過評分卡),入口網站幫助他們做出明智的決策,以交付不僅更快、更安全,而且更高品質的產品。
 
入口網站如何與平台互動?
如果平台是由用於軟體開發生命週期(SDLC)的許多工具構成的,而入口網站是前端,那麼我們現在需要定義它們連接的 API。 當開發者在入口網站中執行自助服務作業時,它如何與底層平台進行通訊?
 
這就是入口網站將用於觸發平台特定操作的 API,從而實現自助服務操作,例如建立微服務或配置雲端資源。 這也是將用於建立軟體目錄的相同 API。
 
雖然有人認為入口網站需要一個中央 API(一個「編排器」)來連接平台,但我認為入口網站觸發的 API 不只一個,而是多個 —— 平台現有工具和基礎設施的現有 API。
 
平台 API 如何連接到入口網站?
讓我們來看看這些平台 API。
 
CI/CD— 您可以使用現有的 CI/CD API,例如 GitHub actions,與入口網站連接,進行開發者自助服務作業。
 
GitOps是另一個向入口網站公開的 API,透過執行 git 變更來執行操作通常被認為是最佳實踐。 透過從 git 讀取清單文件,並在入口網站內顯示帶有上下文的文件,您還可以豐富軟體目錄。
 
工程工具— 整個開發工具堆疊也扮演關鍵角色。 每個開發工具都保存著與 SDLC 相關的信息,使開發者可以透過自助服務自行執行各種操作,並保持相關的見解。
 
功能標誌是那些開發堆疊工具之一,應該被視為門戶中的另一個API,因為它可以使用戶查看為每個正在運行的服務激活/停用的功能標誌,連接到可觀察性工具,如果 偵測到關鍵服務問題,則自動開啟或關閉標誌等等。
 
其他功能還包含與SDLC 相關的相關資訊:監控和可觀察性、值班工具、應用程式和雲端安全性、FinOps和雲端成本管理、基礎設施即代碼(IaC)的使用、事故回應、權限管理、API 目錄 、工單工具、SaaS 管理等等。
 
IaC是平台的另一個 API 端點,該 API 通常已經被開箱即用地公開。 例如,您可以使用 Terraform cloud 或 Upbound 的 API 與您的平台互動。 此外,將來自您的 IaC 執行運行的資料引入可以為入口網站提供與您想要讓開發者了解的已提供、已終止或已修改資源相關的資訊。
 
K8s— 與 K8s API 連接對於開發者抽象化 K8s 複雜性至關重要。 透過將即時 K8s 資料與入口網站中的 SDLC 表示上下文相關聯,軟體目錄變得更加完整和豐富。
 
最後,雲端服務供應商在平台中發揮重要作用,主要是出於可觀察性的原因。 直接向開發者提供雲端控制台存取的不良做法顯而易見。 因此,我們希望在軟體目錄中可視化資源(在上下文中),然後透過從其他平台元素帶來的其他數據來豐富它。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Arwen Build 81206