智能软件工程 课件 Ch9-如何更好地支持系统运维_第1页
智能软件工程 课件 Ch9-如何更好地支持系统运维_第2页
智能软件工程 课件 Ch9-如何更好地支持系统运维_第3页
智能软件工程 课件 Ch9-如何更好地支持系统运维_第4页
智能软件工程 课件 Ch9-如何更好地支持系统运维_第5页
已阅读5页,还剩69页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能软件工程第9章如何更好地支持系统运维学习目标掌握基础设施即代码(IaC)的核心理念与实践方法学习Testinfra等验证框架的实际应用场景理解AIOps与现代运维工具体系的发展趋势9.1基础设施维护与验证系统运维在软件生命周期中的位置运维运维的战略价值1业务连续性保障确保关键业务系统持续可用,减少宕机时间2性能与用户体验通过持续监控优化系统性能,提升用户满意度3成本效益管理优化资源使用,降低基础设施和支持成本4业务敏捷性提升实现快速部署和响应变化的能力,支持业务创新运维阶段关键活动系统部署与维护监控与性能分析安全管理与应急响应持续优化与升级基础设施即代码(IaC)理念配置即代码将基础设施配置转化为可版本控制、可测试的代码声明式管理描述期望的系统状态,而非执行的步骤可重复部署确保环境一致性和可复制性2024年市场规模8.506亿美元2025-2034预测CAGR24.1%数据来源:GlobalMarketInsights,2025报告IaC全球市场规模“基础架构即代码”工具,适用于基础架构流程,如Terraform、CloudFormation等;“配置即代码”工具,用于配置管理,有Chef、Puppet、Ansible和SaltStack;“容器即代码”工具,用于应用程序容器化,只有Docker、Kubernetes等;“管道即代码”工具,用于持续集成和交付,如Drone.io和ConcourseCI。基于统一的Restful接口完成测试平台的管理IaC工具生态系统TerraformPuppetDockerCompose工具主要语言GitHubStars核心优势最佳应用场景AnsibleYAML59.4k无客户端、简单易用配置管理、应用部署TerraformHCL39.6k云平台无关、状态管理多云基础设施编排PuppetRubyDSL6.9k成熟稳定、企业级特性大规模复杂环境管理DockerComposeYAML30.2k容器编排简便、开发友好微服务与开发环境Testinfra用于编写服务器状态检查的Python框架,可以验证基础设施配置是否符合预期要求服务器状态验证验证服务运行状态检查系统配置正确性网络连接测试端口开放状态检查网络路由与DNS配置确认文件内容与权限服务间通信验证数据库检查数据库可连接性表结构与索引验证查询性能测试安全合规检查用户权限与认证配置防火墙规则验证加密配置与安全策略GitHubStars≈4.2k数据截至2025年10月技术亮点基于Python的pytest框架支持多种后端连接方式与Ansible集成良好可作为CI/CD流程一部分Testinfra实际演示(1)-基本环境搭建环境准备步骤1安装Testinfra使用pip工具安装Testinfra包及其依赖2配置测试环境准备测试目标服务器或容器环境3创建测试文件编写基本的Python测试脚本4执行测试运行测试并查看结果报告Testinfra实际演示(2)-验证服务器配置系统运维工具全景图配置管理•Ansible•Puppet•Chef•SaltStack容器编排•Kubernetes•DockerSwarm•OpenShift•Nomad监控与可观测性•Prometheus+Grafana•ELKStack•Datadog•DynatraceCI/CD•Jenkins•GitLabCI•GitHubActions•ArgoCD云管理工具•Terraform•AWSCloudFormation•AzureResourceManager•GoogleCloudDeployment部署工具详解与比较Jenkins灵活性易用性生态系统成熟的开源自动化服务器,拥有丰富的插件生态系统,适合复杂的CI/CD流程GitLabCI灵活性易用性生态系统与代码库紧密集成的CI/CD工具,配置简单,YAML定义流水线GitHubActions灵活性易用性生态系统直接集成在GitHub中的工作流自动化工具,丰富的marketplace动作部署工具能力对比工具选择建议小型团队/项目选择GitHubActions或GitLabCI,快速启动,低维护成本企业级应用Jenkins提供更强的定制能力和安全控制,适合复杂场景多云Kubernetes部署考虑ArgoCD或FluxCD等GitOps工具,实现声明式部署监控工具生态系统基础设施监控CPU、内存、磁盘等硬件指标网络流量与连接状态服务器与虚拟化平台健康状态PrometheusNagiosZabbix应用性能监控(APM)响应时间与吞吐量错误率与异常追踪代码级性能分析NewRelicDynatraceDatadogAPM日志管理集中式日志收集与索引实时日志搜索与分析异常模式识别与告警ELKStackGraylogSplunk可观测性金字塔追踪(Tracing)指标(Metrics)日志(Logs)请求流跟踪,分析分布式系统性能瓶颈可聚合的数值数据,适合趋势分析和告警详细的事件记录,用于深入调查问题全栈监控实践案例Prometheus+Grafana+Loki组合集成优势统一数据源管理,简化配置与维护关联分析能力,提高故障排查效率统一告警管理,减少告警疲劳构建统一监控体系基础设施云服务应用数据库指标收集(Prometheus/Telegraf)日志收集(Fluentd/Logstash)追踪收集(Jaeger/Zipkin)统一数据存储与处理统一可视化与告警平台(Grafana)构建步骤1需求分析与监控范围定义确定监控对象、关键指标和SLA目标2部署基础监控组件安装指标、日志和追踪收集器3配置数据存储与处理设置时序数据库和日志索引存储4建立可视化仪表板创建针对不同角色的监控视图5配置告警与通知设置告警规则、级别和通知渠道成功实施要点数据采集标准化统一的指标命名和标签体系告警噪音控制合理设置阈值,避免告警疲劳自动化响应集成将监控系统与自动修复流程连接持续优化迭代定期回顾并改进监控策略多云环境运维工具选择策略多云环境面临的挑战一致性管理跨云环境保持配置和策略一致性安全与合规统一的安全控制和合规审计性能监控跨平台统一监控与性能基准成本管理跨云资源优化与成本可视化多云运维最佳实践实施标准化的资源命名与标签策略建立集中化的身份认证与权限管理使用自动化政策执行确保安全合规多云管理策略抽象层策略使用云无关的抽象层工具,降低云厂商绑定TerraformPulumiCrossplane控制平面策略部署统一的多云控制平面,集中管理资源MorpheusDataServiceNowVMwareTanzu容器编排策略使用Kubernetes实现跨云应用部署与管理RancherOpenShiftAnthos主流云平台运维工具对比平台原生工具最佳实践AWSCloudFormationCloudWatch代码化管理IAM与安全组策略AzureARMTemplatesAzureMonitor利用策略即代码实现合规管理GCPDeploymentManagerCloudMonitoring集成KubernetesEngine简化容器管理阿里云资源编排云监控利用日志服务实现集中化日志管理9.2

A/B测试A/B测试有些东西需要Sense,但大部分东西是可以用Science来做判断的A/B测试(ABTest)

是将用户分成不同的组,同时在线试验产品的不同版本,通过用户反馈的真实数据来确定哪一个方案更好A/B测试特点先验性:采用流量分割与小流量测试的方式,先让线上部分小流量用户使用以验证设计,再根据数据反馈来推广到全流量,减少产品损失并行性:同时运行两个或两个以上版本的试验完成对比分析,而且保证每个版本所处的环境一致的,避免流程周期长的问题,节省验证时间科学性:基于统计的数据来做出决策,避免主观或经验的错误决策A/B测试中的常见挑战样本数量不足,无法得出统计学上显著的结论解决方案预先进行样本量计算延长测试时间以获取足够样本选择高流量时段进行测试流量分配不均,导致数据偏差解决方案使用哈希算法确保一致性分流实施会话粘性策略采用专业A/B测试工具干扰因素影响,测试结果的准确性解决方案控制变量法,每次只测试一个变量多重验证不同时段和场景长期监测排除临时性异常A/B测试流程产生实验想法评估实验优先级设计和开发实验分析数据应用结果A/B测试在系统运维中的应用运维A/B测试流程1明确测试目标确定需要优化的关键指标(如响应时间、资源利用率)2设计实验方案定义版本差异、采样策略和流量分配比例3实施与监控部署测试环境并收集性能数据4数据分析与决策统计分析结果并确定最优方案5全面推广与验证将最优配置推广到全部环境运维A/B测试应用场景基础设施配置•服务器资源分配•负载均衡策略•缓存参数优化部署策略测试•蓝绿部署•金丝雀发布•流量分片测试数据库优化•索引策略比较•查询优化方案•分片策略测试自动伸缩策略•扩缩容阈值测试•冷启动优化•成本效益分析案例研究:缓存策略优化测试场景对比两种不同的Redis缓存配置方案在高并发环境下的性能表现测试结果方案B将响应时间降低了27%CPU利用率降低了15%每分钟可处理请求增加了32%ABTest其他应用场景灰度发布:技术&算法迭代功能优化:界面模块、样式风格、交互方式等内容优化:推广海报、落地页、内容模块、文案等运营优化:运营策略、沟通话术等A/B测试平台设计A/B测试SDK实验配置动态分发:实现针对场景标识+用户分流标识的一致性哈希算法,根据场景的实验流量配置,进行实验配置的动态分发上报ABTest数据:请求日志、业务自定义日志以及监控日志基于ABTest埋点规范生成前端埋点标识:abTraceId(请求唯一标识)和bcm(请求结果标识)、事件标识(曝光view、点击、收藏、转发等)等追踪标识,用以透传到前端埋点来追踪用户行为A/B测试平台功能ABTest元数据管理,包括应用、场景与实验的创建、编辑,以及配置的发布等。ABTest接入的开发和测试支持。用户可以方便地查看完整可用的接入示例代码,可以输入分流用户标识进行测试,以及查询实时日志等。实时报表和离线效果报表。实时报表包含实时请求、点击(率)、转化率、千次曝光转化等相关指标数据,及其对比分析异常监控和告警。平台实时监控SDK上报的ABTest请求数、失败数和延迟时间等数据,一旦发现异常即发出告警A/B测试:桶、层、流量概念解释场景:对应业务场景,场景之间完全独立桶:圈定了特定的用户流量,即不同的桶之间流量是互斥的。它从属于场景,一个场景可以有多个桶层:一类实验的集合,从属于场景,一个场景可以有多个层,处于同一层的各实验之间流量互斥,处于不同层的各实验之间流量正交,各实验流量之和为总流量实验:用来验证某个决定请求处理方式的功能或策略的一部分流量,通常用来验证某个功能或策略对系统指标(如PV/UV,CRT,下单转化率等)的影响流量:指所有用户请求流量正交:不同层之间流量分配方式完全独立,不会互相影响,符合MECE基于OpenResty的多层分流模型终端MurmurHash算法终端唯一标识请求URIApp,H5,小程序版本A版本BRedis实验策略地1~5051~100URI匹配具体微服务后端具体服务程序网关Cookie协议ABTest

headerMfw_project跨平台、语言的ABTest网关OpenResty是一个基于Nginx与Lua的高性能Web平台,用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关/cn/

OpenResty分流模型的优势非OpenResty方式OpenResty方式sdk接口,跨语言跨平台成本高headermap透传,不区分语言、平台20ms-100ms,偶有超时1ms-2ms,无超时侵入业务代码无代码侵入同步阻塞,影响业务异常自动降级产生二次流量无二次流量MurmurHash算法参与算法的Hash因子有设备id、策略id、流量层id。MurmurHash用来实现正交和互斥实验的分流,因为有两个明显的特点:快,比安全散列算法快几十倍变化足够激烈,对于相似字符串,比如说「abc」和「abd」能够均匀散布在哈希环上互斥:指两个实验流量独立,用户只能进入其中一个实验。正交:正交是指用户进入所有的实验之间没有必然关系A/B测试数据流A/B测试评价A/B测试优秀实践采用流量拦截分发的方式,摒弃了原有接口的形式,对业务代码没有侵入,性能没有明显影响,且不会产生二次流量采用流量分层并绑定实验的策略,更精细直观地去定义分流实验数据传输:通过在HTTP头部增加分流信息,业务方无需关心具体的实现语言监控体系用户画像等精细化定制AB统计功效支持置信区间、特征值等通过

AARRR

模型评估实验对北极星指标的影响AARRR分别代表:Acquisition/获取、Activation/激活、Retention/存留、Revenue/收益、Referral/推荐。AARRR模型把控产品整体的成本/收入关系,用户生命周期价值(LTV)远大于用户获取成本(CAC)与用户经营成本(COC)之和就意味着产品的成功A/B测试优秀实践-续提升平台易用性:支持完备的ABTest元数据管理、应用级的角色和权限、实验的商家id或者用户分流标识的白名单系统优化:多级缓存、优化SDK性能、实现SDK配置自动化和透明化、优化一致性哈希算法支持分别针对Java和Node端的示例代码,包括引入代码库、初始化、获取实验配置以及前端埋点等。支持测试、预发、生产等不同的应用环境。支持输入分流用户标识获取实验配置,以测试和还原A/B分流结果。支持实时日志明细查询,查询条件包括日志类型、实验以及以及分流用户标识等。需要关注ABTest接入成本与易用性、ABTest数据价值A/B测试Dashboard120.9NoFeatureY27%SatisfactionImprovement153.8FeatureY加权满意度成绩78%NoFeatureY6.60%OffvsOn85%FeatureY(正面)满意比例147.3FeatureXOff5.5%SatisfactionImprovement154.4FeatureXOn85%FeatureXOff2.3%OffvsOn87%FeatureXOn(正面)满意比例A/B测试的实践指南改进的A/B测试流程核心提示:将A/B测试纳入DevOps流水线,实现持续改进。每次测试保持变量最小化,确保结果可解释性。A/B测试工具矩阵流量分流工具NginxSplitClientsEnvoyProxyIstioServiceMesh数据收集工具Prometheus+GrafanaDatadogAPMElasticAPM分析与统计工具JupyterNotebookRStudioPython+Pandas集成平台OptimizelyLaunchDarklySplit.io用户体验度量模型谷歌GSM模型,从产品或功能的目标(Goals)出发,来分析这些目标会转化为哪些信号(Signal),再根据这些信号最终建立适用的、具体的度量指标(Metric)传统的网站UX衡量指标PULSE:Pageview(页面浏览量)、Uptime(在线运行时间)、Latency(延迟)、Seven-dayactiveuser(周活用户数)、Earning(收益)。以用户为中心的指标体系HEART:Happiness(愉悦度)、Engagement(参与度)、Adoption(接受度)、Retention(留存率)和Tasksuccess(任务完成度)……用户体验度量指标9.3监控告警系统版权所有©️仅限于教学使用监控告警系统的构成基础设施监控:指的是对各种IT系统基础设施进行监控,可以监控CPU、内存和磁盘等资源使用情况和网络通信情况。中间件监控:包括数据库中间件、MQ(消息队列)、Web服务器等系统的监控应用监控:是指对企业自己开发的业务应用的监控业务监控:如一段时间内的用户访问量、交易金额、订单数量等的监控用户体验监控:如用户从客户端访问时的卡顿率、加载时长等。监控告警系统的三个核心模块数据收集:根据监控系统自定义的内容从分布式系统中的各个节点采集信息数据。数据处理:对收集来的原始数据进行整理,包括数据过滤、聚合处理,传输并存储到监控系统数据库中。有的监控系统将监控数据保存在MySQL中,有的监控系统将数据保存在MongoDB、OpenTSDB,、InfluxDB等时序数据库中。数据应用:包括对数据的展示、检索、告警等应用场景。把处理后的数据在监控面板上以曲线图、饼状图、仪表盘等方式直观的展示出来,同时根据事先设定的阈值和报警规则监控各项指标和数据的状态,当某个监控项符合告警规则,系统通过邮件、短信等形式通知研发和运维人员,达到告警的目的。日志分析的作用通过对行为日志进行分析获得大量有价值的用户数据,比如用户访问APP时使用的终端硬件信息、软件版本信息、位置信息、行为数据等,帮助企业有效地改善产品的用户体验和提升转化率通过日志分析监控系统运行状态,检测异常,辅助开发或运维进行问题定位ElasticStack日志分析解决方案调用链分析调用链分析也被称为分布式链路追踪,把每次请求的调用路径完整的记录下来,还原调用链各个环节的依赖关系并记录请求与响应的性能数据,实现对系统性能的监控以及故障的快速定位目前已经形成了比较成熟的调用链分析和应用性能监控解决方案,包括Zipkin、Jaeger、Skywalking、ElasticAPM、Pinpoint等Skywalking架构SkywalkingUI界面:分布式系统的服务调用关系拓扑图SkywalkingUI界面:链路追踪指标监控Google针对分布式系统提出了在服务层面需要监控的4个黄金指标,分别是延迟、通信量、错误和饱和度,成为通用的系统监控指标。延迟(Latency):记录用户服务请求的响应时间,通信量(Traffic):监控当前系统发生的请求流量,用于衡量服务的容量需求。错误(Errors):监控当前系统发生的错误请求数量,衡量错误发生的速率。饱和度(Saturation):监控能够影响服务状态的受限资源的利用率,比如CPU的使用率、内存使用率、磁盘使用率等。Prometheus架构Prometheus结合Grafana实现微服务监控可视化监控系统解决方案-数据收集Filebeat+Logstash组合Telegraf+InfluxDB数据采集与初步存储监控系统解决方案-数据处理与存储采用InfluxDB+Elasticsearch组合,完成数据的存储与分析监控系统解决方案-数据展示Grafana+InfluxDB+Elasticsearch可视化方案Kibana+ElasticStack深度集成展示综合组合方案基于ElasticStack的全链路监控方案Prometheus+Grafana+InfluxDB指标监控优化方案Skywalking+Elasticsearch+Kibana分布式系统监控方案9.4安全性监控版权所有©️仅限于教学使用安全监控与审计身份认证、授权、访问控制与审计的持续强化入侵检测与实时响应整体检验与安全态势感知数据在传输过程中的保密性和完整性安全生成、存储和使用管理系统中的密钥安全性管理则对系统硬件、软件和网络环境的全方位防护现代运维面临的安全挑战复杂攻击手段多阶段攻击难以用传统规则检测海量安全告警大量低价值告警导致真正威胁被忽视内部威胁检测识别异常内部行为的困难性DevOps速度安全控制需跟上快速部署节奏统运维安全监控与审计框架智能安全监控异常检测:通过对安全数据进行建模,利用机器学习算法可以自动检测出与正常模式不同的异常数据威胁预测:利用机器学习算法对历史安全数据进行分析,可以建立安全威胁预测模型恶意软件检测:人工智能和机器学习技术可以通过对恶意软件的特征进行学习,实现对恶意软件的自动检测智能安全监控的增强方案智能安全监控架构服务器网络数据库云服务日志收集SIEM遥测数据AI安全分析引擎智能告警威胁调查自动响应AI增强的安全监控方案行为分析与异常检测建立用户和系统的行为基准,识别偏离正常模式的活动异常检测算法行为图谱基准对比智能威胁狩猎主动搜寻潜在威胁,而非仅依赖被动告警威胁情报集成模式识别自动化调查自动响应与修复针对已知威胁模式自动执行缓解措施安全编排自动隔离自愈系统AI增强前后效果对比威胁检出率+68%误报率-82%响应速度+92%安全团队效率+75%智能安全监控的案例360安全大模型实现了自动化告警研判、攻击链路绘制、威胁情报比对等功能,支持实时分析安全事件并生成处置建议

腾讯安全威胁情报Agent基于混元大模型,支持自然语言查询威胁实体(如IP、域名、CVE),结合BinaryAI引擎实现端到端威胁研判

微软SecurityCopilot结合GPT-4与专有安全数据,可自动分析恶意脚本、生成安全事件报告,并辅助威胁狩猎

……9.5智能运维版权所有©️仅限于教学使用AIOps前沿技术与应用AIOps(人工智能运维)将AI技术应用于IT运维,通过机器学习分析海量运维数据,实现自动化异常检测、根因分析和智能决策智能化运维AIOps核心优势自动化异常检测智能根因分析预测性维护自我修复能力AIOps转型路线图1评估与规划明确业务目标,评估当前状态,建立转型路线图2数据准备整合数据源,建立数据湖,实施数据治理3试点项目选择高价值场景实施小规模试点4能力扩展基于试点经验,逐步扩展AIOps应用场景5持续优化迭代改进模型,扩展自动化范围机器学习模型异常检测算法、时间序列分析、聚类分析知识图谱基础设施关系建模、依赖分析、智能根因推理自然语言处理日志分析、事件关联、智能自动化工单处理自动化编排自动修复流程、智能策略执行、自适应资源调度AIOps关键技术组件市场与应用全球AIOps市场规模2024年市场规模53亿美元2025-2034预测CAGR22.4%数据来源:GlobalMarketInsights,2025报告实际应用案例智能告警降噪将告警噪音减少75%,提高响应效率机器学习自动根因分析将故障平均排查时间缩短63%知识图谱容量预测资源利用率提升20%,成本降低15%预测分析自动修复常见问题自动化修复率达90%自动化编排智能运维系统AIOps落地挑战与应对策略数据质量与集成问题数据不一致、不完整、格式不统一,难以提供可靠的AI训练基础应对策略建立统一数据湖实施数据质量检查机制标准化数据收集流程技能缺口团队缺乏AI/ML专业知识,难以开发和维护AIOps解决方案应对策略跨部门合作(运维+数据科学)有针对性的技能培训采用低代码AIOps平台工具整合难度现有工具碎片化,与AIOps平台集成复杂应对策略使用开放API和集成中间件分阶段实施策略优先整合关键系统建立智能反馈机制监控收集关键指标分析识别趋势与问题行动实施改进措施验证评估改进效果反馈机制实施框架1数据收集层设计选择适当的监控工具与指标设计数据采集策略与频率确保数据质量与完整性2分析处理层构建实现异常检测算法建立趋势分析与预测模型设置智能告警阈值3响应执行层开发设计自动化响应流程集成事件管理与工单系统建立人工干预升级机制4持续优化与进化定期回顾反馈机制有效性改进算法与响应策略扩展反馈覆盖范围反馈机制的核心

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论