技术培训|运维工程师的逆袭——云资源的管理与维护



  • Cg-4WVVIbniINlF2AAJb88t6bvsAAC8hgEecQgAAlwL422.jpg

    主题:运维工程师的逆袭——云资源的管理与维护

    时间:6 月 28 日 20:00 —— 21:30

    地点:QingCloud 技术分享群,文末有二维码。

    讲师:

    施炳文 (1).jpg

    施炳文 QingCloud系统工程师

    施炳文(Steven),青云系统工程师,负责控制台,通知系统,告警系统等功能的研发。 对技术的方案与选型持开放态度,关注新技术的发展,关心代码的质量与美感,坚信通过技术的力量可以给人们的生活带来质的改变。

    本期内容介绍:

    当企业随着业务的扩展,使用的资源越来越多的时候,如何高效的去管理一个或数个庞大的资源集群。使运维工作变得更加容易简单,灵活?一套优秀的云资源自动化管理工具,可以体现出云计算在企业级解决方案中相对于传统运维的巨大优势,云资源分组归类,隔离与授权,使用最高效的运维工具(监控告警,自动伸缩)等, 提升企业的 IT 运维效率。

    提问福利:

    赞助图书.jpg

    帖子下方提出问题并被采纳的同学将有机会获得技术图书一本,数量有限,赶快来提问吧~

    • 感谢华章图书提供赞助的《跟老男孩学 Linux 运维》
    • 感谢博文视点Broadview提供赞助的《PaaS 实现与运维管理》

    往期技术分享:

    报名方式:

    报名请扫描小编二维码,发送暗号: 听课 ,小编将会拉你进群:



  • 我今天的演讲主题是《运维工程师的逆袭》。

    大家可能都知道,传统运维,在工程师的体系里是相对比较苦逼的工种。因为运维工程师操作的是线上系统,平时压力特别大,需要24小时维护系统正常运行。一般来说平时老板和领导根本看不见,只有哪天系统挂了,老板才会突然想起运维工程师。

    传统运维中的那些坑

    我以前有一些朋友做运维工作,其中有一个特别好的朋友在新浪做了四、五年运维工程师,现在正在自己创业。我们交流时,他说现在做运维和以前做运维完全是两个时代的事情,现在做运维工作,相对以前变得非常的容易,不只是运维,现在整个创业起步都比以前更容易。

    具体体现在几个方面:

    • 一是相对容易融资,只要东西做得靠谱一点;
    • 二是现在创业是轻资产的模式,最大的资本投入是人,只要有人就可以。甚至不需要租办公室,办公室、办公设备可以由第三方创业服务商提供租赁,财务,法务,人力等工作也有专业的外包团队来解决。
    • 三是IT运维模式的改变,也是今天的话题。

    现在创业团队中的运维不需要像以前一样,在做一个产品之前,就要先买一、两百台服务器。这个数量对大公司来说不是特别大的数字,但是对于一个初创企业来说,这几百万的投入也许就决定着生死。

    而且,服务器买来以后还需要进行繁琐的配置。我的朋友经常自己编译新版本的FreeBSD。

    想象一下,把100台服务器放在面前,挨个装操作系统。100台服务器,装操作系统就要一个下午或者更长的时间。装完后把这100台服务器放在机房里,挨个塞到机架上,插上网线、电源线、硬盘,把机器跑起来。是不是很辛苦?但是即使是这样,也没有结束,当产品真正上线后需要做的事情更多。

    比如A部门做了一个产品,它需要一些服务器,给他分配了1-10号服务器。过一段时间,B部门也需要服务器部署产品,那11-20号归B 部门,这些都得记录下来。

    但是,当公司的业务规模随着产品的发展越来越大,开发人员越来越多,产品线越来越长,甚至运维团队本身也有老人离职,有新员工入职,资源的管理会变得异常复杂,特别艰难。

    最后可能会出现什么情况呢?

    • 第一, 每个部门使用的资源控制和管理变得很困难 。
    • 第二, 有时候同一台服务器可能被多个团队共用,上面跑不同的业务,拎出一台服务器,谁在使用这台服务器,上面跑了什么业务,没法清楚的记录。

    想象下,假如公司出现一台设备,不知道是做什么用途的,该怎么办?
    正常情况,肯定会跑到公司沟通群里喊:“谁在使用这个设备?”但大部门情况下都不会有人回复,因为运维工程师都不知道哪个机架上的服务器跑什么业务,业务部门更不知道了。

    云时代的运维

    2012年后云计算的兴起,运维工程师不再是以前的状态,现在大家坐在办公室里喝着咖啡,顺便就把运维的活给完成了。

    那么如何智能化的管理云计算资源?
    一是如何做资源的分组隔离与授权;
    二是提供什么样自动化运维工具,让大家更方便的处理这些资源。

    下面我们先来谈一谈资源的分组隔离与授权: 标签,子帐号和资源协作。

    标签


    标签比较容易理解,给一部分资源绑定一个标签。比如A团队用了10台服务器,给这10台服务器绑定一个标签。B团队用另外的服务器,给它绑定一个标签。还可以给同一个资源绑定多个标签从而实现资源的多维度管理。比如说有一些资源用来做测试,给他绑定测试环境的标签,有些资源是线上环境,给它绑定生产环境的标签,还有其他预发布等另外维度的标签。这些标签都在云系统中记录,永远不会丢失,不会出现之前的管理混乱问题。

    子账号


    子账号也是一个给资源做分组的工具。这个工具为什么一定要提供出来?刚才的标签可以做分组,但是它的功能只是局限于本身一个账号体系下的资源做维度 上的划分。子账号则适合一个相对比较大的公司,它有多个部门,包括A部门、B部门、C团队、D团队,他们分别负责单独的产品线,他们需要自己单独管理资源,这种情况下可以给他开一个子账号,让他自己创建和管理资源。从公司的角度来说,子账号之间资源完全隔离,但可以共享主账号的余额和资源,只要给主账号充足够的钱既可,子帐号自己就不需要关心充值等问题。后期还可以通过订单导出来预估每个部门每个月大概花多少钱,用了多少资源。

    资源协作


    资源协作是刚提供的新功能,这个功能会把资源管理的权限更细致化。
    适合什么场景呢?同样是公司的两个部门,平时大家你干你的,他干他的。如果有一天需要相互合作,A部门有一个任务,B部门的某个同事可能更擅长,需要他帮助完成。A部门把相应的资源授权给他,他在上面做开发部署,当他完成后,把给他的权限收回。这是一个协作的过程,所有的资源仍然管控在A 部门名下。
    另外一种场景:比如公司跟外包团队合作,可以把资源部署在公司自己的环境下,授权给外包团队来管理。

    上面谈到我们如何管理资源。下面我们来谈一谈青云提供的几种自动化运维工具,包括监控告警,自动伸缩,定时器还有完全开放的API。

    监控告警


    作为一个工程师,我们平时关心的更多的是这些资源的状态。服务器并不是放在机房就没事了,服务器跟人一样,它也会坏、生病、闹脾气,需要时刻监控它的状态。一般部署完资源还要给它写一套相应的监控程序,不同的公司会根据不同的需求写监控程序,然后根据监控得来的数据调整和优化系统。如果是传统的IT公司,都曾经开发过自己的系统。以前运维部门都有运维开发的岗位,一帮小伙伴每天写代码,开发自己的监控系统、告警系统。如果用云计算的话,云计算提供的服务都是统一的标准,青云QingCloud作为云计算服务提供商,直接帮助大家把这个事做完了。

    青云提供统一的监控告警,通过这个监控告警就可以了解服务器状态。在青云,所有服务在发布之前都会给它加相应的监控告警。青云认为:作为负责任的工程师,必须100%实时了解资源、服务器的状况,不管它是好是坏。所有的IaaS资源、PaaS资源都必须有监控,不同的资源监控指标不一样。比如主机,一般我们比较关心它的CPU、内存、硬盘有没有写满,如果是数据库,可能更关心数据库的连接数是多少,公网IP关心进出流量的带宽是多少等等。我们提供的监控告警也有很多其他更细化的配置,为大家提供更多的选择。

    另外,不管是有2、3台服务器,或者50-100台服务器,并不需要挨个去配置告警服务,我们支持同一监控告警策略,可以批量绑定到相同的资源上。

    如果后面需要调整监控指标,只需要改策略,点击修改后,所有绑定的资源都会得到相同的更新。如果其中某些资源被删了,不用担心监控策略会出现问题,因为它会自动做解绑。我们还提供了监控告警的历史记录。为什么要提供这个功能?因为并不是仅仅需要知道告警就可以了,在一段时间之后,可能需要根据一周或是一个月的告警历史做分析,分析这些服务器会在什么时间点,因为哪个监控的指标发生告警。通过分析这些数据,就可以知道资源瓶颈容易出现在什么地方,然后做相应的调整。

    自动伸缩


    接下来是一个大家更感兴趣的话题,那就是自动伸缩,因为它可以帮大家节省非常多的钱。如果是传统的IT运维,一开始需要提前预备资源。假如有一家提供某某服务的公司,平时的业务量10台主机就可以扛得住。但是有一天公司的运营部门或是市场部门做推广、抢购等线上活动,用户量会突然上升,到时候可能需要30台主机。此时需要的30台主机,一般上线之前就会提前购买放在机房,平时10台主机开机,应付平时的压力。等到活动开始时,打开另外20台主机,30台主机一起上,有时候可能会出现30台主机都不够用的情况。


    但是在云上就不需要这么做了,只要根据当前的需求,需要多少台主机就申请多少台主机,如果需要5台主机就申请5台,绑定自动伸缩的策略,明天搞活动的时候,流量会上涨,伸缩策略会自动根据流量上涨的情况添加所需要的主机,比如流量上涨10Mbps,自动加2台主机,如果流量还上涨再加2台,如果还不够再加10台。自动伸缩策略的存在让云计算相对于以前的资源储备方式从经济上看更有价值,不需要为了很多不必要的资源提前买单,也节能环保。

    自动伸缩的原理是通过监控告警搜集到相应的数据,然后根据相应的告警策略做触发。同样支持历史操作记录,可以根据历史操作记录看以前自动伸缩的状况。自动伸缩可能成功,也有可能失败,失败的原因可能是资源不足,也可能是服务器内部问题,不管是什么情况,只要出错都会发通知给工程师。青云目前提供自动伸缩的方式,尽量以最简单的方式提供给大家。只要大家在控制台上点两下鼠标,配置几个伸缩参数就可以了。事实上青云系统会根据自动伸缩的策略在后端生成一个Python脚本,青云有专门的服务器运行脚本,帮助大家做自动伸缩。未来青云可能会考虑支持让用户自己上传脚本,一些高级用户平时遇到的情况跟普通用户不太一样,他有特殊的伸缩需求,支持上传脚本,可以让他的伸缩策略变得更加灵活。

    定时器

    定时器,是自动化运维提供的第三个工具。定时器需要什么场景呢?以前做运维工程师的时候,做得最多的就是备份。每周、每天备份,每小时备份核心数据。工程师特别讨厌人工操作,因为能用代码、脚本实现的,为什么要用人工?所以青云提供定时器功能,只要配置好时间周期,它可以定期执行操作或者触发一些行为。再举个场景,假如有一个测试服务器,但是测试服务器可能不是每天都会使用,只有上班的时候才会跑。所以可以配置一个定时器,早上8点半上班,配置早晨8点25分自动开机,晚上6点半下班,晚上6点35分自动关机。这台测试服务器每天只开8个小时,也就是上班时间。甚至不用管它,因为它会自动开关机。每天8小时,相对于之前开机24小时,可以节省掉三分之二的钱。

    API

    接下来谈到 API,如果我们上面提供自动化运维的工具依然不能满足运维的需求,那么可以试一下我们提供的300多个Public API。通过300多个公开的API,基本上可以管理和操作青云所有的资源。我以前做过前端工程师,青云的控制台100%基于API实现,如果觉得它不好用或是有自己偏好,完全可以自己根据API写一个控制台。CLI和SDK是Public API的封装,通过这两个东西可以让API用起来更加简练。官方提供Python版本的SDK,例如像创建主机这种操作,只要调用库中的一个方法就可以。

    很多公司或是技术能力比较强的公司,一般以前都有自己的运维系统,也可以通过API的方式把青云和自身的运维系统做融合、对接,在运维系统上操作,底层控制青云的资源。
    上面这些讲解,主要是想把我们对于自动化运维的理解分享给大家,如果大家有想法,欢迎和我们交流。
    以上就是我分享的内容。



  • 1、针对云资源的运维,作为运维工程师需要掌握哪些脚本语言,有什么好的建议 @Felix-IBM
    2、如何高效的利用运维工具,在现有的网络中,即不会增加过多的数据的同时,能够高效监控云资源。 @开心绿茶



    1. 对于linux 脚本语言的学习有没有好的学习资料推荐?
    2. 学习linux 是从使用开始学习还是从底层系统开始呢?


  • 1、青云在云资源管理方面相对于其他厂商或openstack有何特点和优势?
    2、作为云运维人员在云上管理时需要具备何种关键能力才能更好的运营维护?



  • @Arron

    请教下 施炳文老师,对于云资源的运维,基础工作之一就是采集租户下的所有虚拟机、物理机或者容器的性能数据,如cpu\内存\磁盘\网络\中间件等等,比如采集粒度可能是1分钟或者更短,随着监控对象越多,可能面临上千台虚拟机或者几万个容器,这个性能数据入库量可能达到上千万–上亿或者更多的数量级。

    请教下青云的性能数据库的架构,比如对于企业私有云云平台,性能库采用是否分布式数据架构,用于不同规模的用户,可横向扩展的数据库资源,以满足监控数据的历史记录的高效查询。



  • 云计算资源都虚拟池,如何故障定位和排除,自动化运维管理本身如何保障可靠性?;运维如何满足客户的安全审计要求?



  • 请教下 施炳文老师,怎样更好整合云资源到现有的运维平台中。


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待