




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
及运维解决方案白皮书Copyright2022北京星汉未来网络科技有限公司版权所有,保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形前言 11DevOps概述 21.1持续集成&持续部署 3 4 8 1.2.1指标系统 21 2企业评估模型 26 262.2研发团队规模 272.3质量与稳定性要求 2.4服务治理标准化程度 273典型企业型态效维工具链推荐 28 283.2中型腰部公司 303.3大型头部公司 32结语 35前言今天的中国互联网,正加速从消费互联网向产业互联网转型,数字化变革逐渐渗透到工智能,大数据等先进技术为代表,新的云原生基础设施已经就绪并将继续演进,同实现和交付的时长。相应组织要围绕这一目标构建配套工程系统体系以及团队协作模韧性主要指确保系统稳定,安全运行。弹性主要指系统能随业务负载实时适配支撑能基于以上问题,本白皮书致力于为企业提供DevOps工程效率效维)工具说明及全景图,并结合典型中国互联网研发场景,提出适配不同体量和阶让计算像电一样随需使用1星汉未来星汉未来DevOps是Development和Operations的组合词。它是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠,把敏捷开发部门和运维部门之间的围墙打通,形成闭环。在DevOps的流程下,运维人员会在项目开发期间就介入到开发过程中,了解开发人员使用的系统架构和技术路线,从而制定适当的运维方案。而开发人员也会在运维的初期参与到系统部署中,并提供系统部署的优化建议。完整的DevOps生命周期一般包括以下六个阶段:其中持续集成,持续部署,持续监控三个环节属于工程效能和运维领域,是本白皮书主要关注点。星汉未来星汉未来持续集成&持续部署是在代码提交后自动检测、拉取、构建、测试和部署的过程,包含单元测试:单元测试(UnitTesting),是指对软件中的最小可测试单元进行检查和验打包构建(镜像构建):借助自动化工具,将已更新到托管平台的代码转换成可用于生集成测试:集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。集成测试一测试及提高测试效率的过程。自动测试的一般定义为:各种测试活动的管理与实施,包括测试计划、设计、开发、执行和评估这几个步骤,各个步骤分别又有不同的自动性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者预览部署:预览即从线上环境负载中摘除单一实例,进行新版本的部署,并顺序完成灰度部署:在接收到预览部署完成并通过的指令后,从线上环境中选取一定比例(运维与研发约定值)的服务实例,进行新版本的部署,并观测相关运维指标。持续集成可以帮助开发人员更加频繁地(有时甚至每天)将代码更改合并到共享分支或"主干"中。一旦开发人员对应用所做的更改被合并,系统就会通过自动让计算像电一样随需使用—3—星汉未来运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这让计算像电一样随需使用—4—让计算像电一样随需使用—5—/pr面向软件开发者的基于Git的在线代码托管服务,是具备安全管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能的云端代码仓库,旨在解决软件开发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。5用户+500M存储空间以内免费体验,超额后按需或按套餐计费。阿里云云效Codeup云效代码管理云效代码管理Codeup覆盖项目管理、代码管理、测试管理、持续集成、制品管理、发布管理的Devops—站式研发管理平台。基于Git的代码托管服务,主打企业级托管,因此在管控和安全层面做了不少加强,由于在国内,访问速度相比GitLab、GitHub快不少。CODING是面向软件研发团队的研发协作管理平台,发展方向和上面阿里云一样,也星汉未来代码托管组件对比华为CodeHub阿里Codeup企业级支持企业级,收费企业级,免费企业级,免费企业级,收费需要搭建受企业控制表1代码托管工具对照表让计算像电一样随需使用—7—1.1.2集成流水线功能上更侧重于Cl。Jenkins支持各种运行方式,可通过系统包、Docker或者通过流行的CI&CD工具。为了适配云原生,又推出了JenkinsX,JenkinsX更适合在GitLabCl/gitGitLab已经内置了GitLabCl,只需在Kubernetes中安装部署Gi让计算像电一样随需使用—8—Zadighttps://githZADIG图11Zadig图12SonarQube让计算像电一样随需使用Drone是一个基于Docker容器技术的可扩展的持续集成开源引擎,用于自动化测试完全控制其构建环境并保证隔离。开发者只需在项目中包含drone.yml文件,将代Walle让用户代码发布终于可以不只能选择Jenkins,它支持各种web代码发布,语言上支持php、java、python、go等代码的发布、可通过web来一键回滚。Walle是一个可自由配置,人性化,高颜值,支持git、多用户、多语言、多让计算像电一样随需使用集成流水线组件对比开源/商业性开源/商用自托管/本地部署自托管/本地部署自托管/本地部署自托管/本地部署内置CI/CD内置功能内置功能内置功能统一持续集成,易于操作WebUI构建内置在传统的系统部署中,服务运行在一个固定的已知的IP和端口上,如果一个服务需要调用另外一个服务,可以通过地址直接调用,但是,在虚拟化或容器化的环境中,服务实例的启动和销毁是很频繁的,服务地址在动态的变化,如果需要将请求发送到·服务注册一存储服务的主机和端口信息;·服务发现一允许其他用户发现服务注册阶段存储的信息。服务发现的主要优点是可以无需了解架构的部署拓扑环境,只通过服务的名字就能够使用服务,提供了一种服务发布与查找的协调机制。服务发现除了提供服务注册、目让计算像电一样随需使用Consul包含了分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。Consul用Golang实现,因此具有天便部署,与Docker等轻量级容器可无etcd/etcd-io/etcd想要实现真正的服务发现功能,etcd还需要和其他工具(比如registrator、confd等)协同完成服务自动注册和更新。让计算像电一样随需使用—12—星汉未来ZooKeeperGitHub-apache/zookeeper:ApacheZooKeeper图17ZooKeeper务,主要用于AWS云中,用于中间层服务器的发现、负载平衡和故障转移。它在让计算像电一样随需使用—13—Nacoshttps://nacos.io/zh-cnhttps://github.Nacos提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos支持传输层(PING或TCP)和应用层(如HTTP、MySQL、用户自定义)的健康检查。对于复杂的云环境和网络拓扑环境中(如VPC、边缘网络等)服务的健康检查,Nacos提供了agent上报模式和服务端主动检测2种健康检查模式。Nacos还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。让计算像电一样随需使用星汉未来传输层(PING/TCP)应用层(HTTP)自定义健康检查多数据中心语言支持基于DNS和服务发现;原生SDK;独立Agent大部分增量;自身监控安全已支持已支持已支持已支持已支持eureka的替代使用无无1.支持Dubbo让计算像电一样随需使用星汉未来星汉未来服务的稳定性离不开监控系统的保驾护航。监控系统为服务稳定运行提供数据可视化,异常报警,异常定位,故障追踪等能力;同时监控系统还为服务持续优化升级提供依监控系统有三大基石,指标,日志,分布式追踪。指标体系聚焦于故障发现环节,服务以数字形式评估出服务QPS,成功率,延迟,容量等关键指标,搭配报警系统可以保证当核心指标异常时及时通知开发/运维人员。除了核心指标外,服务还可以将各模块/阶段的瓶颈点,外部依赖指标量化,建立更加完善服务状态概览,以便服务开发/运维人员块度定位异常,根因分析。指标系统优势是日志系统用于记录服务内发生的各类事件。日志系统聚焦故障定位环节,与指标系统相比日志系统具有更强的描述性,但也伴随着更大的存储空间和计算存储资源要求。的错误,和错误原因以日志形式记录下来,以便在故障定位和复盘时恢复异常现场环分布式追踪系统用于分析服务调用关系,在微服务盛行的今天,服务之间调用关系原来越复杂,微服务之间相互影响也更加难以定位和排查。分布式追踪系统聚焦于故障定位环节,与指标体系和日志体系不同,分布式追踪系统可以提供服务之间依赖拓扑,让计算像电一样随需使用Open-Falcon/open-falcon/falcon-plus类监控场景。Open-Falcon提供了开箱即用的监控软件,Open-Falcon内置了让计算像电一样随需使用—17—图22Nightingale开箱即用的特性之外,还解决了指标存储性能问题,高可用问题。增加了用户管理等相对于Open-Falcon,Nightingale更加成熟,几乎覆盖了Open-Falcon的所有优点,开箱即用,指标完善,同时增加了缓存能力,支持定制存储,对于不太想做太多定制CAT/dianpingCAT是基于Java开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。CAT作为服务端项目基础组件,提供了Java,C/C++,Node.js,Python,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。CAT很大的优势是它是一个实时指标实时性很高是CAT的优势,开放性强,是业务打点很好的选择。CAT具有多租户管理能力,同时CAT具有将数据归档的能力降低了系统存储资源压力。CAT也内置了让计算像电一样随需使用让计算像电一样随需使用19星汉未来指标系统组件对比API接口良好良好良好良好良好多家国内公司在使用使用范围厂背书高可用,高性能;标存储查询;容易容易容易容易容易上手难度简单易用简单易用简单易用有一定简单易用亮点即用即用服务冗余度保持;础指标;让计算像电一样随需使用201.2.2日志系统ELKhttps:/Logstash和KibanaElasticsearch是一个搜索和分析引擎。Logstash是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如Elasticsearch等“存储库”中。Kibana则可以让用户在Elasticsearch中使用图形和图表对数据进行可视化ELK以其简单易用,已经成为日志系统的标准配置。让计算像电一样随需使用Jaeger/图26JaegerJaeger是Uber开源的分布源于Google的Dapper和Twitter的Zipkin,从2016年开始该系统在Uber内部得到Jaeger一般使用HBase存储调用信息,当数据量较大时,存储容易成为瓶颈SKyWalking/图27SkyWalkingSkyWalking的核心是数据分析和度量结果的存储平台,通过HTTP或gRPC方式向SkyWalkingCollector提交分析和度量数据,SkyWalkingCollector对数据进行分析和聚合,存储到Elasticsearch、H2、MySQL、TiDB等其一即可,最后我们可以通过SkyWalkingUl的可视化界面对最终的结果进行查看。SkyWalking支持从多个让计算像电一样随需使用—22—星汉未来分布式追踪组件对比OpenTracing兼容是是客户端支持语言中中实现方式-代码侵入性高中trace查询中低表5分布式追踪组件对照表让计算像电一样随需使用23Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。Grafana可以认为是多种数据源的代理,Grafana提供丰富的视图能力。可以将MySQL,ClickHouse,Prometheus,InfluxDB等数据源注册到Grafana,用户就可使用Grafana强大的视图功能。相对于其他时序数据视图软件,Grafana优势突出,用户接受能力也更高,大中小型公司都适用。星汉未来整个工程效率&运维工具全景图如下所示:tt让计算像电一样随需使用25DevOps成熟度是评估效维工具选择的首要参考维度。不同企业DevOps发展阶段不可以快捷发现DevOps流程中的阻塞点和风险点。自动化一方面是取更低门槛甚至是一站式的工具,功能可以比较单一,主要注重价值流的流转效率。能成熟运用各种DevOps实践的企业,适合根据自己实际,按需求选让计算像电一样随需使用-26星汉未来效维团队的人员规模,影响了Cl/CD及监控工具链的选择。我们把20人以下的效维团队定义为中小团队,20至百人以上定义为大型团队。正常来说,效维团队的规模也同比研发团队的规模。对于中小团队来说,选择学习曲线低,能快速搭建且有较完备社区或官方服务提供后续支持的工具为主,容忍功能相对单一。大型团队因为有较充足的人力及技术实力,有条件选用有一定上手成本,但功能全面且支持深度定制甚至重业务对运维服务质量的要求,也深度影响效维工具链的选择和搭建。比如金融业务,对稳定性和精确性有极高的要求,并且面临外部强合规性的监管,效维质量要求较高。而其它类似推荐的业务,即使出现问题也只是降低客户体验,比如展现相关度不高的针对于效维质量要求较高的项目,工具链的选择倾向于功能覆盖率较全,有大厂背书或业界口碑,历史bug率不高的工具,整个的效维流程的时延以及效企业的服务治理标准化程度也会影响了效维工具链的选择。服务治理标准化包括硬件准化程度较高的企业,效维工具功能可以相对比较聚焦,不需要覆盖各层级多种标准导致的技术复杂度。标准化程度较低的企业,效维工具的体系和结构会比较庞杂,甚让计算像电一样随需使用—27—星汉未来公司特点初创型小微公司中小研发团队规模+质量与稳定性要求不高+治理集中度高+DevOps成熟度低中型腰部公司中小型研发团队规模+质量与稳定性要求高+治理集中度不高+DevOps成熟度低大型头部公司大型研发团队规模+质量与稳定性要求高+治理集中度不则,运维能力有限。QQ(锁像管理)服务发现。让计算像电一样随需使用28星汉未来●推荐使用GitLab代码管理,GitLab具有开源、高效、稳定、社区庞大的优点。目前Kubernetes已经成为了云原生的标准服务部署平台,它大大减少了运维人员工作负担。在团队人数较少时采用Kubernetes,不仅节省人力、服务部署升级效率高,还具有强大的系统可扩展性。基于BridgX搭建的运维系统可扩展性更高;心指标为服务自动扩缩容提供更高的可扩展性,同时CudgX兼容Prometheus生集器上报的监控数据,转存到时序库(可以支持Prometheus、M3DB、VictoriaMetrics、Thanos等),并提供告警规则、屏蔽规则、订阅规则的配置能力,提供监控数据的查看能力,提供告警自愈机制(告警触发之后自动回调某个webhook地址或者执行某个脚本),提供历史告警事件的存储管理、分组查看的规模较小时采用,既不会浪费太多运维时间,又能保证服务质量,还可以保证系让计算像电一样随需使用采用此种监控方案总结如下:。使用Nightingale+CudgX此模型适合于业务稳定性要求较高的企业,此时企业一般有稳定的服务和客户群体,APISIX(四/七层负载均衡)监控/报警/弹性服务支持LVS(四层负载均衡)NGINX(七层负载均衡)(决策支持)(服务指标)(服务发现与注册)(基础指标)像管理)(日志系统)GitLab(代码管理)代妈管理图31建议工具链让计算像电一样随需使用30星汉未来●推荐使用GitLab代码管理,原因为GitLab是企业级的开源代码托管软件,生态非常成熟,成熟稳定,社区庞大,使用简单。同时搭配Jenkins提供易于用户操作时支持物理机和容器化部署。对于服务质量要求较高,代码发布,服务更新应该有完善的灰度到全量更新流程,并且当核心指标异常时,应该阻断变更,SchedulX配合CudgX可以实现金丝雀发布,变更阻断,动态扩缩容等功能,最大程度上保证服务质量。在服务质量要求较高的场景下,部分服务可能由于网络或者资源隔离的原因,希望将服务部署在独立的物理机中,SchedulX既支持Kubernetes又支持物理机部署。采用SchedulX服务部署流程描述如下:●推荐使用CudgX+Nightingale+ELK+Jaeger+Grafana搭建监控系统。基于CudgX建立业务指标体系,具有高可用,高性能,高扩展性的特点,同时搭配SchedulX可以完成变更阻断和服务自动扩缩容,大大提供服务稳定性。基于基于ELK完成日志收集,服务异常时快速定位故障环节,降低故障影响。基于Jaeger搭建分部署追踪系统,快速定位系统瓶颈点,定位故障服务。基于让计算像电一样随需使用—31—CPU/Memory/网卡等)监控;3.3大型头部公司此模型企业内各服务和组件都趋于成熟,此时企业业的运维团队,需要完善的DevOps平台来保障复杂的微服务体系下的服务质量。企业更关注于系统平台化,将各类组件分门别类组合成为系统平台,并搭建CMDB管理此模型下平台化成为主题,各组件有独立部门负责(Consul,Nacos,Etcd,Z监控平台分布式追服务部署平台图32建议工具链让计算像电一样随需使用星汉未来●推荐服务部署平台包含:代码托管,持续集成,服务部署,变更阻断,灰
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年艺术生联考专项考试试卷及答案重点
- 2025年心理学入门知识测试题及答案
- 2025年甘肃省中考语文试卷真题(含标准答案)
- 2025年舞蹈艺术与表演技巧期末考试试题及答案
- 2025年无人机技术应用与管理考试试卷及答案
- 2025年数字媒体艺术专业考试试卷及答案
- 2025年农村经济与管理考试试卷及答案
- 2025年编程语言与软件开发能力评估试题及答案
- 2025年电气工程及其自动化专业考试试卷及答案
- 2025年甘肃省武威市民勤县收成镇选聘专业化管理村文书笔试参考题库及答案详解一套
- 山东电动伸缩雨棚施工方案
- 新媒体营销技术与应用PPT完整全套教学课件
- 第5章红外教学课件
- 卡氏肺孢子虫肺炎
- 大足县某水库除险加固工程施工组织设计
- 基于单片机数字电压表电路设计外文文献原稿和译文
- JJG 1149-2022电动汽车非车载充电机(试行)
- 2023版浙江评审卫生高级专业技术资格医学卫生刊物名录
- GB/T 1689-1998硫化橡胶耐磨性能的测定(用阿克隆磨耗机)
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- 江苏省金陵中学2023学年物理高一下期末调研试题(含答案解析)
评论
0/150
提交评论