如何使用 AWS 進行 DevOps
已發表: 2021-06-03也許我們中的許多人在日常生活中都遇到過 DevOps 這個詞。 如果我們有點好奇,我們會發現它是一種組織文化運動,由一組促進和簡化軟件持續交付的工具支持。
這些工具專注於促進作為軟件部署和交付流程一部分的每個流程,涵蓋代碼生成到在面向最終用戶的環境中發布。
同樣,在 DevOps 框架內,有兩個基本實踐:持續集成和持續交付; 他們分別負責組織產品構建和交付到生產環境階段的程序。
值得注意的是,最傑出的軟件製造商和雲開發團隊一直對使用這些流程非常感興趣,以便在其最終產品的部署和交付活動方面為其客戶提供更多的流動性。
集成第三方產品的便利性以及這些平台必鬚根據需要構建自定義產品的經驗導致了用於 DevOps 實踐的完整套件,例如著名的 Azure DevOps、Git CI/CD、Jenkins 等。
但是亞馬遜網絡服務呢? 當今最大的雲提供商不能被拋在後面,因為它提供了一套工具和服務,可以滿足軟件開發生命週期的所有需求。
這些工具旨在不依賴第三方來實現流程,其多功能性、解耦和成本是 AWS 上的 DevOps 的優勢。 這些工具如下:
AWS Cloud9(開發環境)
Cloud9 是一個基於雲的集成開發環境 (IDE),可提供豐富的代碼構建體驗,只需使用瀏覽器即可編寫、執行和調試代碼。 同樣,作為基於 Amazon 雲的 IDE,我們可以發現它運行在下面的 Amazon EC2 實例上。 此實例不提供編譯和調試代碼所需的資源。
另一方面,Cloud9 通過代碼促進協作工作,因為您可以與您的團隊共享您的開發環境,並實時查看新代碼被注入的人員、時間和地點。 它還包含一個聊天功能,團隊可以在其中立即溝通並解決任何問題或疑慮。
AWS Cloud9 的優勢
要使用它,您只需要啟用一個實例(它可以是默認的 Amazon)並通過瀏覽器連接即可開始編寫和測試您的代碼。 因此,您不必擔心資源、開發環境配置,更不用說維護您的 IDE,因為 Aws cloud9 會為您負責。
除此之外,Aws Cloud9 通過一組工具促進協作工作,例如預定義的環境配置、隊友的實時編輯和嵌入式聊天。
AWS Cloud9 的成本
AWS Cloud9 沒有額外費用。只要您使用 EC2 實例,您只需為用於運行和存儲代碼的計算和存儲資源(例如,一個 EC2 示例、一個 EBS 卷)付費。
AWS CodeCommit(版本控制)
基於 GIT 的雲版本控制服務可以託管和管理任何代碼、二進製文件或文檔。 它消除了管理系統的需要,因此您不必擔心擴展存儲資源。
此外,由於它是一個基於 GIT 的系統,它兼容基本功能,可以與現有的基於 GIT 的工具無縫耦合。
何時使用 CodeCommit?
假設您需要為多個工作團隊提供版本控制服務器。 在這種情況下,您可以充分利用此服務,因為它具有高可用性、安全性和互補管理等優勢。
另一方面,如果您只需要為幾個項目提供服務,那麼如果您使用此服務或市場上提供的任何其他服務,則收益微乎其微。
CodeCommit 的成本是多少?
Amazon 的免費套餐限制為 5 個用戶,他們可以訪問無限的存儲庫、10,000 個 GIT 請求和 50 GB/月的存儲空間。 如果您超出任何這些限制,亞馬遜將開始每月收取 1 美元的費用。
AWS CodeDeploy(部署)
這項 Amazon 服務使我們能夠輕鬆管理和自動化基於 EC2、AWS Fargate、Aws Lambda 和本地服務器等服務的多個應用程序。 換句話說,它加快了軟件產品新組件的發布。
此外,它還提供有助於按環境進行分段的組部署。 除此之外,CodeDeploy 與 CodeCommit、GitHub、GitLab、Jenkins、Travis 或 CodePipeLine 等工具有密切關係,因此它與它們的集成非常好。
使用 AWS CodeDeploy 的優勢
CodeDeploy 在管理應用程序部署方面為我們提供了顯著優勢,因為它有助於停機配置、擴展應用程序以最大限度地提高產品可用性。
除此之外,它還可以輕鬆且幾乎透明地與 EC2、ECS 或無服務器應用程序等 Amazon 產品集成。 它還可以與 AWS CodePipeline、GitHub 或 Jenkins 等持續交付工具鏈集成。
AWS 代碼構建
完全託管的持續集成服務編譯源代碼、運行測試並生成準備部署的軟件包。 使用 CodeBuild,無需預置、管理和擴展您的構建服務器。 CodeBuild 不斷攀升並一次處理多個構建,因此構建不會在隊列中等待。
您可以使用預打包的構建環境快速開始,或使用您的構建工具創建自定義構建環境。
為什麼要構建 AWS 代碼?
使用此服務的一些主要優勢是其靈活性、可擴展性和定制性。 但是,它有自己的構建軟件。 它可以集成其他工具並整合自定義和外部功能,並支持高構建工作負載,以根據需要添加更多計算容量和資源。
您可以通過創建在源代碼發生更改時觸發的自動工作流來自動執行構建任務。 除此之外,您可以保護構建的元素,因為 Code Build 對部分和內容進行了加密。
AWS Code Build 的成本是多少?
這項服務沒有前期費用; 您只需根據構建運行所需的時間為計算資源付費。 每分鐘速率取決於為計算選擇的實例類型。
AWS CodePipeline(流程)
每次對代碼進行更改時,CodePipeline 都會根據您定義的部署模型自動執行部署過程的構建、測試和部署階段。
它使您能夠快速可靠地交付功能和更新。 您可以輕鬆地將 AWS CodePipeline 與第三方服務集成,例如 GitHub 或您的自定義插件。
AWS CodePipeline 的優勢
除了可能與 CodeCommit、ECR、S3 等 AWS 服務集成以提取源代碼外,AWS CodePipeline 還允許您使用 CodeDeploy、ECS 通過實例或 Fargate 容器來部署您的更改。
它允許您在多個並行工作流段中運行,以優化部署時間並控制訪問權限,以便通過 IAM 為用戶、角色或聯合用戶進行更改。
您還可以通過配置 SNS 警報來了解管道的狀態,這些警報將根據執行的事件顯示為通知。
AWS CodePipeline 的價值是多少?
使用 AWS CodePipeline,您只需為使用量付費。 AWS CodePipeline 的成本為每個活動管道每月 1.00 美元。 亞馬遜在創建後的前 30 天內免費為我們提供測試目的和其他管道。
簡而言之,亞馬遜網絡服務很好地為客戶提供了集成流程和持續部署所需的所有工具。
將所有這些服務集成到單個雲平台中的可能性使其成為一個高度可行和有益的選擇,成本模型和提供的大量功能使我們重新思考公司如何進入 DevOps 世界,將 AWS 工具作為支柱他們的流程和部署。
對此有什麼想法嗎? 在下面的評論中讓我們知道,或者將討論帶到我們的 Twitter 或 Facebook。