[英]Web application deployment approaches
目前,我們的產品是 web 應用程序,其中 SQL 服務器作為 DBMS,ASP.NET 后端和經典的 HTML/JavaScript/CSS 前端。 該產品正在積極開發中,每個月我們都必須將其新版本部署到生產環境中。
在此部署期間,我們更新了上面列出的所有組件(應用一些 SQL 腳本、更新二進制文件和客戶端文件),但我們僅部署了增量(自上次發布以來更改的文件集)。 它有一些好處,比如我們不會重置自定義數據/配置/客戶端調整。
現在我們將在 Azure、AWS 等雲內部移動。調整產品架構以兼容 Docker/Kubernetes 並將產品作為 SaaS 提供。
現在是問題本身:“在雲中推薦哪種部署方法?” 我們可以繼續只應用增量嗎? 還是我們必須重新組織流程以始終從頭開始部署?
如果有一些我錯過的互聯網資源,請分享。
這個問題非常廣泛,但也許一些澄清可以引導你朝着正確的方向前進:
源代碼部署(如應用增量)和容器部署是兩個非常不同的方向,因為您在整個 SLDC 期間投資的工具可能存在很大差異。 一些測試管道/產品主要(或專門)專注於與其中一個或另一個一起工作。 當然會有工具可以同時處理這兩種情況。
他們在試圖解決的問題上也有所不同,並帶有一些優點和缺點:
源代碼部署/應用差異:
Slack在這里很好地記錄了他們的經歷。
容器部署
為了使用 Kubernetes,您需要有一個容器化的應用程序。 這並不意味着您需要在一夜之間將整個產品容器化。 拆分前端以使用 cloudfront/s3 進行部署,並將無狀態應用程序容器化將讓您大吃一驚。
一些談論 devops 哲學的書(這種轉變在其中發揮了作用)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.