《何文強-云原生應用交付探索與實踐.pdf》由會員分享,可在線閱讀,更多相關《何文強-云原生應用交付探索與實踐.pdf(54頁珍藏版)》請在三個皮匠報告上搜索。
1、云原生應用交付探索與實踐主講人:何文強領域驅動設計啟發下的AI視覺分析引擎構建主講人:戴 昊演講嘉賓介紹何文強 騰訊云 CODING 高級解決方案架構師騰訊云大學 CODING DevOps 認證課出品人騰訊云云原生技術實戰營(燎原社)初創成員精通敏捷精益、DevOps、云原生等方法技術在泛互、金融、政務等行業具有豐富的數字化轉型經驗目錄CONTENTS云原生應用交付發展與演進1234云原生應用交付問題與挑戰云原生應用交付探索與實踐云原生應用交付未來發展趨勢云原生應用交付發展與演進1公有云發展與演進Amazon Web Service(AWS)Google App Engine2008Micr
2、osoft AzureTencent Cloud201020162006AliYun200920112017IBM CloudOracle CloudHuaWei Cloud云原生發展與演進微服務服務網格聲明式API不可變基礎設施容器微服務DevOps持續交付容器Pivotal 2015年對云原生的定義:云原生包含了一組應用的模式,用于幫助企業快速,持續,可靠,規?;亟桓稑I務軟件。云原生由微服務架構,DevOps 和以容器為代表的敏捷基礎架構組成。CNCF 2018年對云原生的定義:云原生技術有利于各組織在公有云、私有云和混合云等新型動態環境中,構建和運行可彈性擴展的應用。云原生的代表技術包
3、括容器、服務網格、微服務、不可變基礎設施和聲明式API。云原生發展與演進dotCloud 公司開源DockerdotCloud 公司 更名為“Docker”Docker Swarm 發布收購收購 Fig 項目,改名為 Compose2014成立 CNCF 基金會Docker 公司開源 libContainer,改名 runC基于 runC,建立 OCI 標準201520172013Google 宣布 Kubernetes 誕生201420162020SIG-Node 將 kubelet 調用容器運行時接口抽象,名為 CRIDocker 公司捐贈 containerd 給社區SIG-Node 正
4、式宣告將于 Kubernetes 1.22 版本刪除內置在 kubelet 的 dockershim2023鏡像倉庫切換從k8s.gcr.io切換到registry.k8s.io應用交付發展與演進物理機部署1950s-虛擬機部署1990s-容器部署2014-應用交付發展與演進容器物理機虛擬機云原生應用交付問題與挑戰2問題與挑戰(一):技術架構與部署效率背道而馳在云原生技術領域,微服務被廣泛采用。隨著微服務數量的增多和業務系統架構復雜性的上升,微服務應用部署效率急劇降低,與部署目標期望產生巨大鴻溝問題與挑戰(二):K8s應用與K8s交付工具失衡脫節Kubernetes技術已跨越鴻溝,進入主流市場
5、,被企業廣泛采用;以GitOps為代表的云原生應用交付工具技術還處于創新萌芽期,不能有效支撐Kubernetes應用的規?;桓?。The Gartner Hype Cycle for Software Engineering 2022問題與挑戰(三):云原生紅利與團隊認知負荷摩擦加劇代碼掃描云原生技術生態繁榮,新理念新工具層出不窮,導致IT團隊認知負荷急劇上升,身心疲憊,不堪重負持續集成持續部署流水線配置灰度發布金絲雀發布DevOpsGitOpsIaC代碼掃描JenkinsSonarqubeDockerKubernetesArgoCDHelmSonaruqbeDecSecOps內建質量自動化測
6、試制品倉庫Harbor可觀測性監控服務網格IstioRolloutPrometteus供應鏈安全漸進式發布DockerfileSCAGit平臺工程Spinaker質量門禁持續交付功能開關YamlPodServiceIngressResourcesDeployment測試左移Envoy分批部署人工審核容器安全Dapr版本控制問題與挑戰(四):組織筒倉下的傳統運維模式日薄西山組織筒倉容易造成團隊孤島、流程割裂、數據隔離。以職能和以資源為核心的傳統運維模式已無法滿足以應用為核心的云原生應用交付要求問題與挑戰(五):聚焦局部指標的傳統監控體系失效告警概況排障剖析依賴分析預測未來監控可觀測性傳統監控體系
7、聚焦在告警和概況等局部指標上,被動監控且視角割裂,工具孤島嚴重。面對紛繁復雜的微服務應用,傳統監控缺少排障、剖析、依賴分析等可觀測能力監控可觀測性關注點關注系統可用性關注業務可靠性性質被動監控主動發現視角系統資源視角業務應用視角范圍局部指標系統行為問題與挑戰(六):Kubernetes 漸進式交付支持不足ServicePod v1Pod v1Pod v1Pod v2Deployment v1Deployment v2app:my-appapp:my-appversion:v1app:my-appversion:v2Service1Pod v1Pod v1Pod v1Pod v2Deployme
8、nt v1Deployment v2IngressService2app:my-appversion:v1app:my-appversion:v2app:my-appversion:v1app:my-appversion:v2Kubernetes提供Service和Ingress級別的灰度,但Service級別灰度粒度粗,Ingress級別缺少漸進發布能力和DAG編排能力,無法進行有節奏的、按批次的、安全可控的交付https:/ 落地實踐價值(一):OAM價值優勢多云管理,廠商中立關注“應用”,而非“資源”關注點分離,無縫對接平臺工程配置透明化版本化,高效集成GitOps基礎設施自服務,輕松實
9、現IaC統一應用可觀測,低成本適配可觀測工具關注業務連續性,支持靈活發布策略探索(二):GitOps進行應用配置管理GitOps 是一種管理由 Kubernetes 提供支持的云原生系統的現代方法。它利用策略即代碼的方法來定義和管理現代應用程序堆棧的每一層基礎設施、網絡、應用程序代碼和 GitOps 管道本身。核心原則聲明式版本化且不可變自動拉取持續協調實踐(二):GitOps 落地實踐實踐(二):GitOps 落地實踐價值(二):GitOps 價值優勢提高生產力:縮短反饋回路,加快“平均部署時間”增強可靠性:Git能力實現穩定且可重現的回滾方便安全審計:Git記錄所有變更相關的詳細信息一致性
10、和標準化:所有操作需滿足Git的標準規范改善開發者體驗:開發者熟悉Git,上手成本低探索(三):IaC實現基礎設施資源自服務基礎設施即代碼(IaC)工具允許使用配置文件而不是通過圖形用戶界面來管理基礎設施。IaC 允許通過定義可以版本控制、重用和共享的資源配置,以安全、一致和可重復的方式構建、更改和管理基礎設施。實踐(三):IaC實踐-運維人員-資源模板實踐(三):IaC實踐-研發人員-資源申請實踐(三):IaC實踐-研發人員-資源申請實踐(三):IaC實踐-運維人員-資源審批實踐(三):IaC實踐-研發人員-資源使用實踐(三):IaC實踐-研發人員-資源使用價值(三):IaC 價值優勢提高一
11、致性,減少“配置漂移”縮短交付周期,加快產品服務的上市時間實現穩定、可擴展的環境,降低人為錯誤風險更好的知識能力沉淀和組織資產傳承降低成本并提高投資回報率探索(四):平臺工程降低研發認知負荷平臺工程是設計和構建工具鏈和工作流的學科,這些工具鏈和工作流為云原生時代的軟件工程組織提供自助服務功能。開發人員可以根據自己的喜好選擇合適的抽象級別來運行他們的應用程序和服務,而不需要了解復雜的流程和技術知識反類型 F:Ops 嵌入開發團隊團隊拓撲:現代工程組織實踐(四):平臺工程實踐 運維專家制定和維護模板,產品研發可以借助模版,輕易地獲得云上云下資源,把應用運行在 K8S 或虛擬機上,把變更發布到數據庫
12、中OrbitK8S VMs Infra Database 運維專家產品研發模版管理實踐(四):平臺工程實踐-運維人員-創建服務模板實踐(四):平臺工程實踐-研發人員-使用服務模板實踐(四):平臺工程實踐-運維人員-創建運維插件實踐(四):平臺工程實踐-研發人員-使用運維插件實踐(四):平臺工程實踐-運維人員-創建IaC模板實踐(四):平臺工程實踐-研發人員-使用IaC模板價值(四):平臺工程價值優勢降低開發團隊的認知負荷,消除操作復雜性為組織當前和未來的需求提供適應性和可擴展性提高知識流程技術的可重用性,避免重復造輪子集中化管理,提升流程規范的一致性和標準化提高開發團隊生產力,促進組織績效提升
13、探索(五):統一可觀測平臺告警概況排障剖析依賴分析預測未來監控可觀測性監控可觀測性關注點關注系統可用性關注業務可靠性性質被動監控主動發現視角系統資源視角業務應用視角范圍局部指標系統行為控制理論中的可觀察性(observability)是指系統可以由其外部輸出推斷其其內部狀態的程度。實踐(五):可觀測實踐價值(五):可觀測平臺價值優勢更全面動態的感知系統真實行為更快更可靠的問題發現、問題定位與問題解決更強的系統行為預測能力更安全的系統運行環境更好的了解復雜系統的交互行為和依賴分析探索(六):DAG 編排漸進式交付漸進式交付,也可以稱為漸進式推出或分階段推出,是一種軟件開發實踐,允許您逐步向用戶推
14、出新功能以限制對最終用戶的影響并獲得反饋以進行改進。漸進式交付建立在持續交付的概念之上,并包含部署策略,例如 a/b 測試、藍綠部署、環形部署和金絲雀部署。藍綠部署環形部署金絲雀部署實踐(六):漸進式發布實踐探索(六):漸進式發布價值優勢更安全的交付應用更低的發布風險更強的業務連續性更高的客戶滿意度更高的協作效率更快的反饋循環云原生應用交付未來發展趨勢5發展趨勢(一):ChatOpsChatOps 是一種關聯模型,可將人員、工具、流程和自動化連接到一個透明的工作流中。發展趨勢(二):FinOpsFinOps 是一種不斷發展的云財務管理學科和文化實踐,通過幫助工程、財務、技術和業務團隊協作制定數
15、據驅動的支出決策,使組織能夠獲得最大的業務價值。發展趨勢(三):云原生安全云原生安全是一種將安全性構建到云原生應用程序中的方法。它確保安全是從開發到生產的整個應用程序生命周期的一部分。云原生安全旨在確保與傳統安全模型相同的標準,同時適應云原生環境的特殊性,即快速的代碼更改和高度短暫的基礎設施。TLSSASTSCA端口限制動態探測攻擊容器漏洞掃描鏡像簽名和執行禁止特權用戶沙箱技術內核安全Kubernetes API 訪問限制Kubelet 訪問限制Etcd 保護日志審計RBAC證書輪換特性限制數據加密發展趨勢(四):Kubernetes跨云融合架構Clusternet(Cluster Internet)是一款可以幫助您像訪問 Internet 一樣簡單地管理數以百萬計的 Kubernetes 集群的開源插件。無論集群是在公共云、私有云、混合云還是在邊緣運行,Clusternet 都可以讓您像是在本地運行一樣管理/訪問它們,無需為每個集群安裝不同管理工具。THANKSK+峰會北京站官網AiDD峰會北京站官網