透過基於容器的開發加快開發和測試速度
容器提供一種一致的方式,可在不同環境中建置、共用和執行應用程式。 雖然容器通常用於將應用程式容器化,但它們也讓執行開發所需的基本服務變得非常容易。 您不必安裝或連線到遠端資料庫,即可輕鬆啟動自己的資料庫。 但可能性並不止於此。
透過基於容器的開發,您可以使用容器來增強您的開發環境,方法是模擬或執行應用程式所需服務的執行個體。 這提供了更快的回饋迴圈、減少與遠端服務的耦合,以及更強的測試錯誤狀態的能力。
最棒的是,無論開發中的主要應用程式是否在容器中執行,您都可以獲得這些好處。
您將學到什麼
- 基於容器的開發的含義
- 如何將非容器化應用程式連線到容器化服務
- 使用容器模擬或執行服務的本地執行個體的幾個範例
- 如何使用容器將額外的問題排解和除錯工具新增到您的開發環境
對象讀者
- 希望減少與共用或已部署基礎架構或遠端 API 端點耦合的團隊
- 希望降低在開發過程中直接使用雲端服務的複雜性和成本的團隊
- 希望更容易視覺化其資料庫、佇列等中發生情況的開發人員
- 希望在不影響應用程式本身開發的情況下降低設定開發環境複雜性的團隊
工具整合
可與 Docker Compose 和 Testcontainers 良好搭配使用。
模組
什麼是基於容器的開發?
基於容器的開發是指使用容器,透過執行應用程式所依賴服務的本地執行個體或模擬器,來增強您的開發環境。 使用容器後,即可輕鬆新增其他服務以視覺化或排解服務中發生的問題。
示範:在本地端執行資料庫
透過基於容器的開發,可以輕鬆地在本地端執行資料庫。 在此示範中,您將看到如何執行此操作,以及如何將非容器化應用程式連線到資料庫。
示範:模擬 API 端點
許多 API 需要來自其他資料端點的資料。 在開發中,這會增加諸如憑證共用、正常執行時間/可用性和速率限制等複雜性。 您的應用程式可以與模擬 API 伺服器互動,而不是直接依賴這些服務。
此示範將示範使用 WireMock 如何輕鬆開發和測試應用程式,包括 API 的各種錯誤狀態。
示範:在本地端開發雲端
開發應用程式時,通常更容易將應用程式的某些方面外包給雲端服務,例如 Amazon S3。 然而,在本地開發中連線到這些服務會引入 IAM 策略、網路限制和佈建複雜性。 雖然這些要求在生產環境中很重要,但它們會顯著增加開發環境的複雜性。
透過基於容器的開發,您可以在開發和測試期間執行這些服務的本地執行個體,從而无需进行复杂的设置。 在此示範中,您將看到 LocalStack 如何讓完全從開發人員工作站開發和測試應用程式變得容易。
示範:新增額外的除錯和問題排解工具
在開發環境中開始使用容器後,新增其他容器以視覺化資料庫或訊息佇列的內容、植入文件儲存或事件發佈者會變得更加容易。 在此示範中,您將看到其中的一些範例,以及如何將多個容器連線在一起以使測試更加容易。