<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          應用多環(huán)境部署的最佳實踐

          共 2586字,需瀏覽 6分鐘

           ·

          2021-10-29 15:44


          前言


          日常開發(fā)中,開發(fā)者通常會有應用多環(huán)境部署的需求,一般會在如下場景中出現(xiàn):

          • 研發(fā)流程:企業(yè)為了保障服務的穩(wěn)定性,會在研發(fā)流程上要求遵守這樣的工作流:測試環(huán)境?→ 預發(fā)環(huán)境?→ 生產(chǎn)環(huán)境。應用需要部署到多個環(huán)境中,由各環(huán)境的人員進行相關的測試驗證工作:研發(fā)在測試環(huán)境中開發(fā)、調(diào)試應用,測試同學在預發(fā)環(huán)境中驗收待發(fā)布的版本,SRE(網(wǎng)站可靠性工程師)?在生產(chǎn)環(huán)境管理應用等等。

          • 穩(wěn)定性保障:為了保障應用服務的穩(wěn)定性,架構師通常在構建高可用解決方案時,做一些冗余部署,方便故障出現(xiàn)時,快速切到備用的服務,避免對業(yè)務的影響
            - 容災:將應用部署在多個物理隔離的環(huán)境中進行容災,如部署在同一地域的不同機房、部署在不同的地域。
            -?測試:將應用部署在不同類型的環(huán)境中進行性能、穩(wěn)定性等測試,如區(qū)分中心云/邊緣環(huán)境、高配/低配資源環(huán)境。
          • 迭代效率:開發(fā)者為了避免重復造輪子,提高開發(fā)迭代效率。把具有通用能力的應用會部署在多個環(huán)境中,便于不同的業(yè)務調(diào)用。


          那么,面對這么多的應用多環(huán)境部署需求,如何實現(xiàn)呢?下述將簡單分析該需求所面臨的問題以及業(yè)界開源的解決方案,對于實現(xiàn)細節(jié)會陸續(xù)推出技術文章分析,并概述騰訊云 TEM 產(chǎn)品的實踐,方便讀者實踐。


          問題


          簡單來看,應用多環(huán)境部署是為了解決如下圖所示的需求,即將同一個應用部署到多個開發(fā)測試環(huán)境中。



          在實現(xiàn)應用多環(huán)境部署的解決方案上,我們需要解決這兩個問題:

          • 交付物管理的問題:部署時通常是應用+配置,可通過交付物概念來對其描述,涉及到交付物管理,如配置管理?、應用存儲管理等。

          • 分發(fā)管理的問題:從應用到環(huán)境之間,會涉及到分發(fā)管理問題,如環(huán)境對接、workflow 管理等。


          即:


          開源解決方案


          對于交付物管理,本質(zhì)上是管理應用和環(huán)境的匹配。


          1. 應用管理:基于 Kubernetes 的場景下,通常可使用 Helm 來管理應用,詳情參見:https://helm.sh/。

            - 通過 Repository 管理交付物的查找、存儲等。

            - 通過 Chart 統(tǒng)一描述應用的部署方法、不同場景的配置等。
          2. 配置管理:也可以采用獨立的服務,如 Apollo 等。


          對于分發(fā)管理

          1. 環(huán)境對接:通常會涉及到 多集群管理,業(yè)界可參考開源的 Karmada、Open Cluster Management、Clusternet 等項目。
          2. workflow 管理?:業(yè)界也有開源的項目,如 Argo、Tekton 等項目,通過聲明式的方式描述流程。


          使用開源解決方案,雖然可以達成目標,但方案本身也存在一定的弊端:

          • 使用者需要學習不同項目的設計和使用方法,必要時還需要深入源碼排查問題。
          • 通過組合開源解決方案,形成完整的針對應用多環(huán)境部署的服務,勢必會帶來很大程度的時間和人力投入。


          為了可以快速實踐應用多環(huán)境部署,也可以考慮使用騰訊云彈性微服務TEM來解決這個問題,只需在操作頁面上點點點,即可快速實現(xiàn)!


          TEM應用多環(huán)境部署解決方案


          彈性微服務TEM (Tencent Cloud Elastic Microservice) 是騰訊云推出的面向微服務應用的 Serverless PaaS 平臺,實現(xiàn)資源 Serverless 與微服務架構的完美結(jié)合,提供一整套開箱即用的微服務解決方案,詳情可參見:

          https://cloud.tencent.com/product/tem


          TEM 抽象了環(huán)境應用兩個模型,通過環(huán)境提供多個維度的隔離,如網(wǎng)絡、配置、資源等,通過應用來管理用戶應用的生命周期,如部署、訪問、可觀測性等。


          下述將按照如下路徑實踐應用多環(huán)境部署:

          1. 在環(huán)境中進行配置管理資源管理
          2. 在應用列表中將應用部署到多個環(huán)境中。


          1. 環(huán)境


          下述是環(huán)境詳情頁信息示例:



          其中:

          • 基本信息:描述環(huán)境關聯(lián)的 VPC、子網(wǎng)等信息
          • 資源管理:管理環(huán)境級別的日志、存儲、注冊中心等資源

          • 訪問管理:管理環(huán)境中多應用的路由轉(zhuǎn)發(fā)

          • 配置管理:提供環(huán)境級別的配置管理,可被環(huán)境中所有應用復用


          TEM 在環(huán)境級別提供了兩種維度的隔離:

          • 網(wǎng)絡隔離
          • 資源隔離

          創(chuàng)建環(huán)境時用戶需要選擇 VPC,通過 VPC 實現(xiàn)二層網(wǎng)絡隔離。同時可以選擇多個子網(wǎng),在應用部署時,平臺會自動將應用實例打散到不同的子網(wǎng)中。若子網(wǎng)屬于不同的可用區(qū),即可由平臺保障了應用多可用區(qū)部署


          在環(huán)境中可以綁定資源 (存儲/日志/注冊中心),應用部署時僅可選擇環(huán)境中關聯(lián)的資源,在一定程度上實現(xiàn)了環(huán)境間資源的弱隔離



          TEM 提供了環(huán)境級別的配置管理,可被環(huán)境中所有應用共享。對于需要共享配置的場景,可在環(huán)境的配置管理中建立配置,然后在應用部署時引用該配置。同時,也可以在 配置管理中查看到配置被哪些應用引用:



          2. 應用


          TEM 將創(chuàng)建應用描述部署應用解耦,用來支持應用多環(huán)境部署。


          創(chuàng)建應用描述:



          創(chuàng)建應用描述后可以暫不部署,如下圖,通過「部署至新環(huán)境」功能部署應用到指定環(huán)境:



          重復上述步驟,可以將應用部署到多個環(huán)境中。


          小結(jié)


          通過 TEM 提供的環(huán)境和應用模型,可以快速體驗應用多環(huán)境部署中的交付物管理和分發(fā)管理。結(jié)合 TEM 提供的 API,可以構建靈活的 workflow。與社區(qū)提供的開源解決方案相比,TEM 在公有云場景中簡化了應用多環(huán)境部署面臨的問題,在交付物管理 (應用+配置) 提供了簡單普適的模型,在分發(fā)管理中提供了 Web 操作界面和 API,方便用戶體驗、與存量系統(tǒng)對接。目前產(chǎn)品在公測期間,歡迎大家使用,TEM 會持續(xù)改善應用管理服務,在公有云場景滿足應用多環(huán)境部署等需求。


          掃碼立即使用TEM



          往期

          推薦


          《單元化架構在金融行業(yè)的最佳實踐》

          《服務器又崩了?深度解析高可用架構的挑戰(zhàn)和實踐》

          《Kratos技術系列|從Kratos設計看Go微服務工程實踐》

          《Pulsar技術系列 - 深度解讀Pulsar Schema》

          《Apache Pulsar事務機制原理解析|Apache Pulsar 技術系列》




          掃描下方二維碼關注本公眾號,

          了解更多微服務、消息隊列的相關信息!

          解鎖超多鵝廠周邊!


          戳原文,查看更多彈性微服務TEM信息!


          點個在看你最好看


          瀏覽 61
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  有没有免费的黄色网址 | 日韩黄色毛片 | 亚洲天堂三级片 | 91在线无码精品秘 入口楼乃 | 日韩啪啪视频 |