云运维的整体理念与实践_第1页
云运维的整体理念与实践_第2页
云运维的整体理念与实践_第3页
云运维的整体理念与实践_第4页
云运维的整体理念与实践_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

云运维的整体理念与实践

什么是运维?非运维人员眼中的运维工作非运维人眼中的运维运维人员眼中的运维工作运维人眼中的运维运维价值化运维不是某种职能运维也不是某种角色运维是通过一系列的规范化、工具平台化、数据驱跨部门合作等手段,从而确保用户价值的持续获得。运维价值化如今,我们的工作和生活都离不开数字化,无论是内联网、互联网还是物联网,都通过云计算、大数据、智能终端为我们提供各种服务。在数字化社会中,我们既提供内容,又消费内容,信息以前所未有的速度传播,应用不断地渗透到每个角落,每个人都无法离开。运维管理-作为数字化背后的支撑力量,普通民众可能不太清楚,但近年来运维的作用不断凸显,受到业内诸多人员的关注,正式高效、可靠、敏捷的运维,支撑数字化有条不紊的运转,让企业单位赢得数字化时代的成功。随着“互联网+”战略的深入,运维正在进入到下一个时代,将面临更加宽泛的领域、更加灵活的场景,根据广通软件研究院的分析,未来的运维管理将进一步融合互联网思维,侧重敏捷化管理,在数据中心、云上应用、物联网三个领域进行发展,并最终实现一体化、智能化的敏捷运维。云运维的背景挑战更少的设备维护需求更快的部署速度更大的承载能力更好的故障处理能力运维工作面临的挑战运维提升的阶段开发,运维的三大鸿沟DevOpsDevOps的核心,就是Dev用D的能力延伸到Ops,而Ops则把O的能力传递到Dev,两者相结合结合突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。大大减少数据中心在运维方面人力的投入节省运维费用支出实现业务的快速自动部署减少数据中心故障中断时间即使在数据中心规模不断扩大的情况下,使用敏捷运维的工具就可以完成自动化部署,不再需要增加运维人员,只不过在运维工具监控之中增加一些点而已提升数据中心的运营能力数据中心扩容在手指间就可以轻松完成,运维人员不再需要关心基础架构的实现,只需要在敏捷软件上做业务部署即可,底层资源调配,网络配置等均通过软件实现自动下发,自动互联互通;甚至可以做到全年无中断,敏捷软件能够在毫秒级的时间内发现异常,并自动执行切换动作,将业务转移到备用系统中,确保业务不受影响,敏捷软件还可以对故障进行自愈,尝试对故障进行隔离,为人员抢修故障设备赢得时间DevOps的优势Puppet公布的2016年DevOps调查报告中,根据全球4600位各IT公司的技术工作者的提交数据统计,得出高效公司可以完成平均每年1460次部署。与低效组织相比,高效组织的部署频繁200倍,产品投入使用速度快2555倍,服务恢复速度快24倍。在工作内容的时间分配上,低效者要多花22%的时间用在为规划好或者重复工作上,而高效者却可以多花29%的时间用在新的工作上。敏捷运维的概念来自于两个截然不同的技术阵营:一方面是敏捷开发者发现,虽然产品被很快设计出来,但部署却比较花费时间,手动部署和配置也会引入很多人为错误。此时,敏捷开发团队希望可以自动完成所有重复性的任务,当然也包括部署在内。另一方面来自于一些互联网公司,这些公司业务增长飞快,有时会在两个星期内就要增加上千台服务器,单纯人工的方式完成,耗费了大量人力,运维成本太高,这时他们想到了敏捷设计,希望将敏捷设计应用到运维当中,实现敏捷运维。敏捷运维与传统的人工运维管理完全不同,敏捷运维完全自律,按照设定好的程序去执行,确保所有一切内容都在控制之内,敏捷运维引入了自动化的东西,抛弃了手动操作。敏捷运维的概念DevOps的各种工具代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion构建工具:Ant、Gradle、maven自动部署:Capistrano、CodeDeploy持续集成(CI):Bamboo、Hudson、Jenkins配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRockGuardRail容器:Docker、LXC、第三方厂商如AWS编排:Kubernetes、Core、ApacheMesos、DC/OS服务注册与发现:Zookeeper、etcd、Consul脚本语言:python、ruby、shell日志管理:ELK、Logentries系统监控:Datadog、Graphite、Icinga、Nagios性能监控:AppDynamics、NewRelic、Splunk压力测试:JMeter、BlazeMeter、loader.io报警:PagerDuty、pingdom、厂商自带如AWSSNSHTTP加速器:Varnish消息总线:ActiveMQ、SQS应用服务器:Tomcat、JBoss、IISWeb服务器:Apache、Nginx数据库:MySQL、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、PivotalTracker敏捷运维试图将人们从复杂、繁重的工作中解决出来,通过软件自动化管理,满足数据中心的扩容要求,于是出现了很多敏捷运维的工具。很多人以为只要使用这些工具就是敏捷运维了,实际不是这样的。就像我们拥有了电脑,会使用电脑,但不一定会用电脑完成各种编程,输出很多的功能软件。电脑只是一个工具,我们需要通过给电脑一些指令,才能按照我们的意图完成。在敏捷运维中,软件工具就是这样的角色,必须要我们给予它各种处理业务的能力,它才能自动完成,只要我们设计好了未来数据中心故障、扩容、业务变更遇到的场景,赋予工具自动操作的权利,那么工具就会按照我们设计的程序去自动执行。为工具制定各种各样的自动执行脚本,是敏捷运维的关键,这些脚本关系到敏捷运维的可用性。尤其是在突发事件的处理上,大规模业务扩容上的表现。敏捷运维的定义短的反馈周期敏捷原则简单勇气透明承担责任沟通反应对技术优势持续关注敏捷原则:完全自动化的系统构建(并非只是启动服务器,而是重新构建一切)通过版本控制系统进行配置管理对监控和统计数据的广泛访问自愿的“坏了就换”机制优先使用从系统中自动抽取文档针对硬件随需而变的态度添加或者替换服务器并不是大事件敏捷运维听起来很美好。只要嵌入你的代码,确保它在服务器上构建,然后更新一个方法,就可以按照你的思路去完成自动运维这个说起来容易,实际做起来很难。现有的软件定义数据中心仍处于发展的初级阶段,还没有这样一种软件,可以对整个数据中心设备很好地以控制软件实现,因为数据中心里设备千差万别,相同设备软件版本不同,实现也会有差异,这样从软件上很难统一管理。即便可以管理,那么什么时候执行什么样的指令,敏捷软件工具自己不会去考虑,依然是由你来完成,这样就需要将所有可能出现的场景,业务的走向部署都需要考虑到,并通过软件脚本实现,设计得越充分,敏捷软件工具功能就越强大,当然如果依然出现了未知情况,敏捷运维也会失效。但是DevOps面临的问题运维团队

大数据BC-HadoopBC-HugetableBC-RDB…………..IT支撑咪咕统一信息平台网络性能管理能力开放平台…………..云计算BC-ECBC-EBSBC-Onest…………..苏研的主要产品分三类,分别有大数据,云计算,IT支撑。产品种类繁多,规模大,项目数量多,运维团队面临巨大挑战DevOps能力融合的4大核心实践OpsDev实践2:将开发嵌入到IT运维中(应用端到端的管理)实践3:向开发中加入生产反馈(可视化监控和运维)实践1:将开发延伸至生产中(持续集成和交付)实践4:将It运维嵌入至开发(运维分析)实践1:持续集成和交付持续编译持续代码检查持续测试持续部署持续报告持续集成体系建设1制定基本构建流程2加强代码自动验证环节3加强单元测试环节4加强自动化测试环节5加强自动部署环节实践1:持续集成和交付持续集成的重要要素:1.统一的代码库。2.CI服务器3.自动化测试和构建的脚本4.Slaves解决方案:Jenkins+Git实践1:持续部署的运维目标1、运维角色完全撤出部署事务,变成审核者。2、平台必须由研发+测试+运维共同建设、运维最好主导。3、运维角色转变的第一步。实践1:持续部署的业务目标实践1:快速部署-Docker技术容器并不包含一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的。将应用程序及所有程序的依赖环境打包到一个容器中,容器可以运行在任何一种Linux服务器上。这大大地提高了程序运行的灵活性和可移植性。虚拟机是操作系统级别的资源隔离,容器本质上是进程级的资源隔离容器技术实现发展最快和最有代表的是开源Docker技术。Docker是PaaS提供商dotCloud(后改名为DockerInc)

开源的一个基于LXC的高级容器引擎,源代码托管在Github上,遵从Apache2.0协议开源。Docker核心在于实现应用与运行环境整体打包以及打包格式统一VirtualMachineDocker实践1:持续部署-基于容器技术服务器操作系统应用IT基础架构发展阶段1:裸机时代基础架构利用率低每台服务器上运行一个应用程序:避免一个应用程序中的漏洞影响同一服务器上其他应用程序典型的x86

服务器部署平均达到的利用率仅为总容量的10%

到15%(美国国际数据集团(International

Data

Corporation,

IDC)

报告)物理基础架构成本日益升高为支持不断增长的物理基础架构而需要的运营、维护成本稳步攀升。大多数计算基础架构都必须时刻保持运行,因此耗电量、制冷和设施成本不随利用率水平而变化。管理成本不断攀升服务器数量太多难以管理,新服务器和应用的部署时间长,硬件维护需要数天/周的变更管理准备和数小时的维护窗口。

故障切换和灾备困难:兼容性差。系统和应用迁移到新的硬件需要和旧系统兼容的硬件系统。服务器操作系统应用操作系统虚拟机操作系统应用虚拟机操作系统应用虚拟机云平台服务器操作系统IT基础架构发展阶段2:虚拟化时代以虚拟化技术为基础,以虚拟机为单位,将资源提供给用户。提高资源利用率将一台高性能的服务器虚拟成多个虚拟机,在物理上虚拟机共享宿主服务器的硬件资源,而逻辑上各自独立,可在各虚拟出的服务器上运行不同的应用,各司其职,互不干扰。降低管理、运维成本简化服务器的部署、管理和维护工作,降低管理费用通过从物理基础架构抽象应用使数据中心资源管理和调度更敏捷,是对传统数据中心资源管理模式的变革核心技术计算虚拟化、SDN、OpenStack管理代表公司亚马逊aws、VMware、微软azure、阿里云、华为等服务器应用操作系统应用应用服务器操作系统资源统一管理、调度IT基础架构发展阶段3:以应用为中心时代以分布式应用为核心场景,主打应用生命周期管理。保证应用程序和服务易发布、易扩展,始终能获得所需要的资源。问题虚拟机构成的集群仍然难以运维,对于每个虚拟机的维护也并非容易,用户遇到的问题和直接维护物理机集群基本相似用户需求应用能够获取资源,快速启动,服务可以无限扩展(不在乎怎样运行及运行在哪),服务失败时能被自动检测并修复,应用易于迁移。数据中心操作系统:Datacenter

Operating

System(DCOS)目标整合数据中心资源,进行虚拟池化,开放诸如CPU、内存和I/O这些基本资源而不是虚拟机。就像操作系统将PC的处理器和RAM放入资源池,使其可以为不同的进程协调分配和释放资源核心技术容器集群资源管理、容器代表公司:Google、Mesosphere、Facebook、Twitter等。yelp使用mesosphere大大提高了数据中心的性能;yelp每天运行大约1700万独立测试,启动100万个容器。分布式“系统”Mesos的结构(1)Master、Slave、Zookeeper、FrameworkMaster通过zookeeper实现选举机制,一个N个节点的zookeeper集群可以在ceil(N/2)个节点失效情况下正常工作。Zookeeper分为竞争者和观察者模式:master既是竞争者也是观察者,slave都是观察者,寻找当前主master并与之通信。Master负责给各个不同的框架分配资源并管理任务的生命周期Slave节点负责利用已有资源执行框架下发任务Framework分布式应用程序(比如marathon),包括组件:框架调度器和执行器。Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核,能够简化在一堆共享服务器池中运行任务的复杂性。

核心实现DRF算法:用户无法通过夸大自己的需求;只能拒绝或接受Mesos提供的资源(Offer)。Mesos的结构(2)框架调度器在mesosmaster上进行注册。Mesosmaster从slave节点获取资源offer,调用分配模块决定将这些资源分给哪个框架。框架调度器从Master接受资源offer。当接受到资源offer后,框架调度器会检查offer是否合适。如果合适,接受该offer并向master返回一个需要在slave上运行的的执行器列表。Slave节点分配所请求的资源并运行任务执行器,任务执行器在slave节点上运行框架下的任务。框架调度器接收任务运行成功或失败的通知。基于Mesos的资源分配MarathonMesos集群可以混合运行来自Marathon的不同类型的任务Marathon基于Mesos的任务调度为动态调度,即每个任务在执行之前是不知道将在哪一台服务器上执行和绑定哪一个端口9台服务器(灰色)组成的Mesos集群上混合运行各种Marathon调度的任务,其中一台服务器坏掉以后,这台服务器上的任务就受影响,Marathon可把任务迁移到其他服务器上,实现容错Marathon是基于Mesos来做任务调度,Mesos仅负责分布式集群资源分配,不负责任务调度。使用Mesos来管理Docker实践1:持续部署-苏研DCOS系统

BC-EC(openstack)自动化部署工具-FuelOpenStack安装非常困难,困难主要来自于:开源项目,系统本身开发时间短,不够稳定,bug多。配置自由,灵活度高,很难将所有的配置项都试全。Fuel是Mirantis公司开发的一个开源的OpenStack套件,具有以下优点:安装简便:全部通过图形界面操作。配置灵活:支持Redhat和CentOS,支持Ceph开源存储软件。稳定可靠:已经在多家公司商用。Mirantisfuel从下载,可以下载iso文件。实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-FuelFuel并不是一个大的整体,它由几个独立的组件组成。部分是Fuel特有的,部分是第三方服务UI

一个用JaveScript写的页面应用,主要还是用bootstrap框架Nailgun

提供REST

API

以及部署数据管理。

Astute

Nailgun任务的执行者。Cobbler

提供快速网络安装系统Mcollective

一个构建服务器编排和并行工作执行系统的框架OSTF

Openstacktestingframework,提供健康检查实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-FuelFuel并不是一个大的整体,它由几个独立的组件组成。部分组件是Fuel特有的,部分是第三方服务UINailgunAstuteCobblerMcollectiveOSTF一个用JaveScript写的页面应用,主要还是用bootstrap框架。核心服务,提供REST

API

以及部署数据管理。核心服务,Nailgun任务的执行者。提供快速网络安装系统。一个构建服务器编排和并行工作执行系统的框架。Openstacktestingframework,提供健康检查。实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-Fuel实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-Fuel实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-Fuel实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-Fuel实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-Fuel实践1:Fuel自动部署

BC-EC(openstack)自动化部署工具-Fuel实践1:Fuel自动部署实践1:持续部署-H-Control系统实践2:实现用户操作的可视化实践2:苏研-OP系统运用自动化运维作业工具,将日常重复性的运维作业内容固化,实现自动化备份、自动化分析报表等功能,提高运维效率,使运维人员有时间开展系统优化提升工作。固化日常运维工作将备份、分析报表等重复性、机械性的日常运维作业固化;自动化运维作业工具使用自动化运维作业工具,将固化的运维工作改为由系统自动处理;系统优化提升运维人员将节省下来的时间,用于系统优化提升工作;1.如何落实运维流程?2.如何提高运维技能?数据备份分析报表数据恢复自动化运维作业功能模块实践2:实现运维的自动化与可视化工具一:Ansible基于Python研发。糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端。批量维护工具介绍(1)、连接插件connectionplugins:负责和被监控端实现通信;(2)、hostinventory:指定操作的主机,是一个配置文件里面定义监控的主机;(3)、各种模块核心模块、command模块、自定义模块;(4)、借助于插件完成记录日志邮件等功能;(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。实践2:实现运维的自动化与可视化工具二:SaltstackSalt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。Salt底层采用动态的连接总线,使其可以用于编配,远程执行,配置管理等等。Salt的拓扑使用简单的server/client模式批量维护工具介绍实践2:实现运维的自动化与可视化实践2:苏研-HControl产品实践3:构建立体化的监控体系进程业务巡检1)基础设施:包括IDC网络设备及X86服务器,这些设备的监控都是基于厂家的实现2)基础服务标准化:是指CPU、Mem、Disk及系统openfile等通用服务的监控;3)服务进程:各组件服务进程;4)基于业务提炼的监控项:组件基本进程的监控并不能满足监控需求;5)重要UI的监控6)业务巡检实践3:构建立体化的监控体系停机费用成本=部署频率*版本迭代失败概率*平均修复时间*断电的金钱损失实践3:云计算监控Cloud

Master实践3:云计算监控Cloud

Master通过Ganglia采集物理机的性能指标通过Ceilometer采集虚拟机的性能指标实践3:云计算监控Cloud

Master实践3:大数据监控H-Control实践3:大数据监控H-Control云时代日志的特点系统规模大单个资源池服务器规模100+以上业务模块多单个控制节点服务进程超过20个日志量大100台服务器规模资源池,每天日志量达到3000w条日志数据之间相互关联SLA要求比较高云平台承载的业务越来越多,对平台稳定性要求越来高如何在灾难性事件发生时,能够做好相应的准备如何在第一时间捕获到错误动态如何针对不同的业务逻辑建立保障措施如何利用关联性挖掘有价值的信息实践4:日志的集中化管理IT系统信息服务器网络设备存储设备操作系统应用软件用户行为用户行为业务信息从ITOperationManagement(ITOM)到ITOperationAnalytics(ITOA)大数据技术应用于IT运维,通过数据分析提升IT运维效率

• 可用性监控

• 应用性能监控

• 故障根源分析

• 安全审计Gartner估计,到2017年15%的大企业会积极使用ITOA;而在2014年这一数字只有5%实践4:IT运维分析日志管理系统的进化日志1.0数据库日志2.0Hadoop或者NoSQL日志3.0实时搜索引擎实践4:日志的集中化管理日志没有集中处理登录服务器,使用脚本或者命令查看日志被删除磁盘满了删日志黑客删除日志,抹除入侵痕迹日志只做事后追查没有实时监控、分析使用数据库存储日志无法适应TB级海量日志数据库的schema无法适应各种各样的日志格式无法提供全文检索Hadoop批处理,不够及时查询慢数据离线挖掘,无法做在线分析Storm/SparkHadoop/Storm/Spark都只是一个开发框架,不是为日志管理设计的,需要大量开发NoSQL不支持全文检索对日志实时检索、分析日志实时搜索分析引擎快日志从产生到搜索分析出结果只有几秒延时大每天处理TB级别的日志量灵活可搜索、分析任何日志云环境日志管理的实践—目标功能实时数据采集存储+索引查询/关联搜索实时告警图表展示实时动态的采集日志数据,可以动态的监控到整个环境的运行状态,一旦有紧急情况发生,可以第一时间掌握信息。集中管理来自多个集群的海量日志,对抓取的日志存储并建立索引,可以快速的在海量信息中找到感兴趣的部分。运用简单的搜索语法在集中管理的海量日志中查找所需信息,根据关键词一键查找多个集群中关联的信息。根据实时采集的日志数据,分析日志信息的特征制定告警,对系统出现的错误做到第一时间的掌控,同时根据特定业务特征,实现危险状态的预警。能对各字段进行统计,值分布,总数,平均数等,提供多样化的图表支持,柱状图,饼图,折线图等。利用自研的BC-Logmanager对非结构化日志的采集、分析为开发/运维人员提供精准分析、多维度图表展示、实时报警、数据管理、离线处理和数据过滤等功能。实践4:日志管理软件Log-Manager云环境日志管理的实践—数据流程图数据库文本文件数据流采集客户端采集客户端采集客户端中间数据存储实时分析离线分析数据挖掘监控报警分布式索引结果可视化实践4:日志管理软件Log-Manager云环境日志管理的实践—系统结构图数据库应用系统文件InputTcp/UdpInputKafkaInputGelfInput检索搜索引擎元数据数据库Output监控系统自定义报警分析系统其他集成监控工具dashboard报表报警机制Journal机制访问控制数据处理实时计算ServerWebInterface可视化搜索配置新增功能增强功能数据推荐数据分析集群管理Flume实践4:日志管理软件Log-Manager苏研IDC研发测试区实践苏研自有IDC已投入使用,稳定运行近一年时间。研发测试区100台物理机运行着BC-EC,支撑着研发部近2000台研发用虚拟机的运作,三台控制节点上每天会产出500G左右的日志数据。……控制节点抓取客户端消息队列ZookeeperZookeeperZookeeperServer+Web+数据库搜索引擎搜索引擎搜索引擎抓取客户端抓取客户端消息队列实践4:日志管理软件Log-Manager

温馨提示

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

评论

0/150

提交评论