《景顯強-云原生落地實踐(GOTC深圳會場)(26頁).pdf》由會員分享,可在線閱讀,更多相關《景顯強-云原生落地實踐(GOTC深圳會場)(26頁).pdf(26頁珍藏版)》請在三個皮匠報告上搜索。
1、CNCF云原生專場景顯強 2021年08月01日本期議題:云原生落地實踐議題為什么要云原生云原生的知識體系云原生平臺的構建原則云原生應用落地的最佳實踐目錄為什么要云原生云原生的概念云原生定義云原生一種將軟件應用程序構建為微服務并在容器化和動態編排的平臺上運行它們的方法,以利用云計算模型的優勢。特點云原生關心的是如何創建和部署應用程序,而不是把應用放在哪里。(公有云、私有云、混合云)云原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式API等云原生是采用微服務開發模式,利用容器等技術,在云平臺上運行的方法為什么要云原生數字化轉型的基礎要素Development toolsOpera
2、ting system,application,and data platformsManagement and automation systemsTraditional N-tier appsCloud-nativemicroservicesISV packaged appsData,analytics,and AI/ML混合云基礎架構混合云基礎架構賦予上層應用無縫穿梭于云上云下的能力管理與自動化管理與自動化用最少的資源管理最多的組件云原生應用開發云原生應用開發將“創意”變為“商業價值的最快路徑SPEED敏捷STABLE穩定SCALE規模物理服務器虛擬化服務器邊緣計算設備私有云公有云1公有
3、云2公有云3自有數據中心跨多家公有云生產現場工具自動化平臺云原生能更好的支撐企業數字化轉型為什么要云原生為什么采用云原生企業數字化轉型的必然趨勢快速搶占業務市場互聯網大潮下推動快速上線、變更業務不間斷提供業務高效擴展業務業務在混合云下靈活遷移數字化時代的產物IT系統轉型的最佳選擇降本增效安全高效運行業務的動力驅使企業市場競爭壓力的驅使為什么要云原生云原生帶來的優勢核心收益業務交付敏捷平臺運維簡便平臺架構解鎖團隊能力提升加速業務交付速度采用敏捷開發,快速試錯和迭代,提升開發效率提高測試效率和場景覆蓋提高業務部署速度打破部門墻,開發創新提高業務變更擴展速度提高業務業務連續性和安全保障運維效率整體提
4、升縮短環境制備工期業務部署、升級、回退效率提升監控、告警全面可靠、及時發現隱患問題修復過程速度自動化程度提高普通運維工作釋放給平臺平臺架構靈活技術組件靈活選擇產品高度避免廠商鎖定設施靈活選擇業務實現微服務化組件管理松耦合團隊能力扁平度提高依靠平臺提高自助化水平避免單一方向人才依賴度過高釋放不必要工作壓力人員技能整體提升人員技能備份全面議題為什么要云原生云原生的知識體系云原生平臺的構建原則云原生應用落地的最佳實踐目錄云原生的知識體系CNCF的云原生技術棧趨勢開源技術中堅力量云原生的知識體系云原生體系模式體系的透視圖很復雜不同層次復雜程度各有不同每個層次需要各自不同的技能云原生的知識體系云原生的能
5、力模型26條云原生能力模型自動化工具云原生網絡API網關通用中間件提供方法微服務框架微服務治理云原生存儲容器運行時登陸認證計算平臺數據庫團隊能力APM日志監控告警消息事件開發工具開發語言鏡像編譯器CI/CD工具容器編排調度器服務發現和協調遠程調用框架服務代理和轉發安全管控鏡像倉庫體系龐大技術棧復雜開發模式的變革議題為什么要云原生云原生的知識體系云原生平臺的構建原則云原生應用落地的最佳實踐目錄云原生平臺的構建原則開源技術的選型如何選擇合適的開源工具集合?五年后還有哪些組件會繼續存在?繁亂的開源工具鏈如何有效集成?出現問題誰提供支持?選型困難能力存儲不足軟件生命周期如何保證工具的集成方式最佳實踐云
6、原生平臺的構建原則構建云原生平臺考慮的非技術因素現在已經不是用不用開源軟件的問題,而是怎么用好開源軟件的問題了。如果在使用了開源軟件以后,沒有持續的管理流程和平臺,會導致沒有辦法修復安全漏洞,導致數據丟失。開源軟件很好,但是要好好地用,需要開源治理。-某銀行云原生負責人云原生平臺的構建原則構建云原生平臺考慮的技術因素技術因素平臺升級故障恢復數據持久化數據同步業務彈性擴展應用市場性能分析服務治理登陸認證日志方案監控告警多集群管理混合云部署開發工具開發框架開發語言鏡像編譯器工具集成服務發現和協調平臺擴容DIY方案成熟的商業方案云原生平臺的構建原則基于CNCF自主研發的正確打開方式業界領先的100%
7、開源企業級多集群管理工具業界領先的100%開源企業級云原生平臺基于社區版自主研發的云原生平臺(自主知識產權)基于社區版自主研發的多集群管理工具(自主知識產權)先進知識轉化先進知識轉化100%自主研發云原生 Portal(自主知識產權)自主研發參照自主研發平臺備份重要系統承載(第三方兜底)雙循環交叉點+外循環基礎100%實現自主可控基于最優實現超越承載大部分生產系統內循環堅實基礎應用無縫漂移開放的云原生賦能為自主研發保駕護航參照平臺如何選擇賦能服務如何選擇?100%自主研發云原生套裝o先進性+演進性o開放性+可借鑒性o安全性+穩定性o先進性+權威性o手把手教o不需要一直投入云原生平臺的構建原則構
8、建原則省事省錢放心核心 原則1.運維管理復雜度低2.無需投入大量開發工作3.可計量,可運營1.安全可控2.功能成熟3.支持力度1.總體擁有成本2.建設成本、退出成本3.運維成本功能成熟體系完善基于成熟產 品開發自主可控議題為什么要云原生云原生的知識體系云原生平臺的構建原則云原生應用落地的最佳實踐目錄云原生應用落地的最佳實踐紅帽的云原生方案技術選擇OperatorEtcdcoredns3scaleCRI-OOVSCSIAnsibleK8sCephQuayIstioOpenShiftPrometheus+Grafana+其他監控集成AMQStreamsEFK+其他日志集成Jaeger認證多硬件廠商
9、設備StackRox其他10個維度安全加固HaproxyIngressnginxgrpcOCSOauthSsokeycloakDevOPS方案通用數據庫+中間件市場knative云原生應用落地的最佳實踐基于紅帽的云原生方案安全穩定的操作系統(或虛擬化)基礎Kubernetes物理服務器虛擬化服務器邊緣計算設備私有云公有云1公有云2公有云3自有數據中心跨多家公有云生產現場平臺服務業務負載服務開發者服務服務網格無服務器化微服務管理虛機容器化管理CI+CDAuto Build在線IDE平臺及服務監控用戶及權限管理日志及審計應用構建服務數據庫運行時服務應用及數據集成多集群管理自動化引擎企業級自動化資源
10、庫鏡像庫配置及自動化流程庫云原生應用落地的最佳實踐紅帽的云原生落地平臺部署邏輯架構CI/CD platformoc clientDev infrastructureTest infrastructureProd infrastructureEnterprise registry云原生應用落地的最佳實踐云原生試點應用選擇標準你在這結果 構建人們喜歡的應用 業務需求的響應速度。敏捷+穩定 技術聯合敏捷,CICD和DevOps 容器和Kubernetes 微服務,API,事件和功能 ServiceMesh和無服務器 現存應用新應用退役無需動作由新應用替換參考新應用重構分解為微服務發布API更換運行/
11、托管平臺構建云原生應用購買必要服務及軟件支撐云原生落地變更和規模設計采用模塊化,事件驅動,松耦合的架構 通過數字渠道以及IoT和Edge集成擴展市場范圍 利用商業流程自動化和AI/ML改善客戶參與體驗 商業驅動為數字經濟振興企業。提高客戶價值和經驗。使用軟件交付作為競爭優勢IT痛點 n 無法及時滿足對新應用和功能的業務需求。n 新應用程序與現有應用程序之間集成的復雜性。n 缺乏現代化開發,開發和運營技術和實踐的技能。從一個項目開始 整體向微服務轉型 事件驅動的應用程序集成 將AI/ML與智能應用程序一起使用 構建合適的應用程序 正確構建應用程序建立團隊合作 改善軟件交付性能 n 降低變更準備時
12、間n 提高部署頻率n 降低平均恢復時間 n 降低變更失敗率 使用商業平臺及服務業務組合 從為什么開始,向后工作 價值流和流程圖 事件風暴和影響圖 服務藍圖 IT和其承載的業務具有相同價值云原生應用落地的最佳實踐容器化應用的最佳實踐鏡像要盡可能的小-通過清理臨時文件,并避免安裝不必要的軟件包來構建小尺寸鏡像。這減少了容器的尺寸,構建時間和復制容器鏡像的網絡傳輸時間。支持任意用戶ID-避免使用sudo命令或要求特定用戶名運行你的容器。標記重要的端口-雖然可以在運行時指定端口號,然而使用EXPOSE命令在運行的時候指定,則可以讓鏡像的使用者更輕松。云原生應用落地的最佳實踐容器化應用的最佳實踐為持久數
13、據使用卷-在容器摧毀之后還需要保存的容器數據的,必須將數據寫入一個數據卷。設置鏡像元數據-以標簽和注釋形式存在的鏡像元數據可以使您的容器鏡像更加實用,從而為使用您的容器的開發人員提供了更好的體驗。使主機和鏡像同步-一些容器應用需要容器在某些屬性(如時間和機器ID)上與主機同步。云原生應用落地的最佳實踐容器化應用的反模式有時候一些同學會嘗試從他們對其他技術的經驗中引入實踐。p 不要將整個操作系統托管在一個容器中p 不要浪費額外的資源p 在容器內運行SSH服務器通常不是一個好主意p 在創建鏡像之前,使用.dockerignore 刪除日志,源代碼等p 解壓縮所有已下載的工件后,將其刪除p 不要為開
14、發,測試,類生產,生產環境使用不同的鏡像,甚至不同的標簽p 不要將關鍵數據保留在容器中p 不要將安全憑證存儲在Dockerfile中云原生應用落地的最佳實踐容器化應用的反模式p 不要將 registry 用作其他類型數據的通用存儲庫p 不要在容器內托管多個服務,例如:不要將服務和 MySQL 托管在同一個容器中p 創建具有穩定依賴性版本的Dockerfile,最新版的并不一定是最好的p 將SSH守護程序放入容器中可能導致容器基礎結構發生未記錄的,無法追蹤的更改。p 不要依賴容器的 IP 地址來啟動容器通信,創建服務p 不要使用 P 發布所有端口,請使用 p 發布特定端口。否則您將面臨安全風險p 不要以 root 用戶身份運行容器p 不要在容器之間創建依賴關系,例如:應用程序和數據庫p 不要在 Dockerfile 中使用等待腳本讓容器以特定順序啟動THANKS