标准运维简介:
标准运维,拥有可视化的图形界面,并进行任务流程编排和执行的系统。可以执行发布、变更、开区、扩缩容等执行类操作。让用户可以将业务日常的运维工作交给产品和职能化人员执行,实现业务的发布、变更等工作自助化。【官网地址】
蓝鲸智云,简称蓝鲸,是腾讯游戏运营部“腾讯智营”下的子品牌。它是一套基于PaaS的企业研发运营一体化技术解决方案,提供了一个完整的研发、运维、运营的PaaS技术平台。平台提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统;是腾讯游戏运营部沉淀多年的技术运营支撑体系,承担着数百款业务线上运营的使命。【官网地址】
简而言之,蓝鲸是一款自动化运维工具,标准运维是蓝鲸平台其中的一个官方应用。
背景:
今天以企业中最常见的应用发版为例,简单介绍一下标准运维的使用。
对于日常的发版,运维人员从开发人员那里获得到包后,首先需要分发到服务器,然后放到对应的位置,然后执行解压、重启等到一系列操作。
平时还好,如果是在凌晨两点的时候呢?想着这么一堆操作,又累、又困、又饿,稍不注意,这个月的绩效可能就没了。对于一些简单的场景,可以通过写一些脚本,来简化操作。可是,如果脚本的健壮性不好,或者人为误操作,传错了包等问题,还是存在很大的安全风险。
对于一些有水平的运维工程师,会通过Ansible、Puppet等开源的自动化运维工具来操作。可是,剧本的编写并不简单,另外出现了意外情况,排查起来也会很麻烦。并且一个小小的发版,还要动用公司的骨干人员,岂不是杀鸡用牛刀吗!可是如果交给公司的实习人员,万一数据库再被搞没了,公司岂不是要黄。另外对于一个初出茅庐的实习生,小试牛刀,便搞垮的一个数据库,传出去,名声也不好。
蓝鲸的标准运维可以极大的降低人员误操作的风险。前期编写好流程之后,便可以调用该流程。流程的编写,也很简单,只要会写脚本,很容易上手。看示例:
简要说明:
- 将包在测试环境部署,验证通过后,将测试包,流转到到生产环境的仓库。到了发版时间,运维人员点击,新建任务,执行即可。
- 通过(shell、python、bat、perl)脚本,验证此次发版包的信息,名称、MD5、时间等信息,如果信息不匹配,发送告警通知后暂停,等待相关人员介入。
- 通过官方的文件分发组件,分发文件到多个主机,如果由于未知原因造成分发失败,可以发送告警通知后暂停,等待相关人员介入,也可可以手动执行“重试”操作。
- 通过脚本,进行小批量部署,如果有一台部署失败,便会发送告警通知,然后暂停,等待相关人员介入或者跳过。
- 通过脚本,检验试部署无误后,便可以进行大批量部署。同样的,如果某一台因为意外情况发版失败,便会告警通知。
- 发版结束后,会发送通知信息,通知管理员此次发版结束。
- 如果出现意外,每一步操作,都会及时触发告警,方便定位故障。
- 通过任务流程图,可以清晰的确定目前的进度。
- 可以选择执行发版操作的节点,只更新部分主机。
- 可以将该流程设成轻应用,将操作权限付给个别人员。
- 可以对其进行二次开发。比如支持定时自动发版,开发自己适用的标准运维插件,实现真正的无人值守。
- 避免登录服务器,降低人为误操作风险。
注意:感兴趣的同学,可以在该站点下载【https://bk.tencent.com/download/】蓝鲸智云社区版。
注意:这只是一个简单的发版操作,应用变更发版、应用一键部署、数据库巡检、服务器巡检等工作,都可以通过标准运维来操作。