实际案例
下面以元鼎在某金融行业客户交付的实际案例为例,简单介绍一下通过标准运维实现应用发版的设计过程。为了演示方便,这里对发版过程进行了一些简化:
以上发版流程简单来说,就是运维人员从开发人员那里拿到包,分发到应用服务器对应的位置,然后执行解压、重启等到一系列操作。
虽然以上操作貌似简单,但是设想一下,如果发版是在凌晨两点进行的呢?如果每天待发版的系统有数十套之多呢?纯手工按照文档一步一步操作,稍不注意,可能就会出错且效率极低。虽然对于一些简单的场景,可以通过写一些脚本,来简化操作。可是,如果脚本的健壮性不好,或者人为误操作,传错了包等问题,还是会存在很大的安全风险。
可能经验丰富、水平较高的运维工程师,会想到通过Ansible、Puppet等开源的自动化运维工具来操作。但这些工具对初学者还是有一定的门槛,操作界面的友好程度也不足,无论是Ansible的Playbook语法,还是SaltStack的State语法,都需要学习成本,某些情况下甚至要研究源码。
如果使用蓝鲸的标准运维,运维人员可以通过可视化的图形界面,利用标准运维强悍的跨系统编排能力,来串连碎片步骤从而提高发布效率,极大的降低人员误操作的风险。流程的整个编排过程非常容易上手,一次编排,多次使用。开发人员即便不熟悉CI/CD 工具,仍可直接使用平台提供的多种流水线模板,来创建符合自身业务需求的流水线,满足不同工作场景和特有的业务需求,大幅度提高工作效率。
先看下最终流程编排的效果:
设计过程
过程说明:
将包在测试环境部署,验证通过后,将测试包,流转到到生产环境的仓库。到了发版时间,运维人员点击,新建任务,执行即可。
通过(shell、python、bat、perl)脚本,验证此次发版包的信息,名称、MD5、时间等信息,如果信息不匹配,发送告警通知后暂停,等待相关人员介入。
通过作业平台,分发文件到多个主机,如果由于未知原因造成分发失败,可以发送告警通知后暂停,等待相关人员介入,也可以执行“重试”操作。
编写部署脚本,进行小批量部署,如果有一台部署失败,便会发送告警通知,然后暂停,等待相关人员介入或者跳过。
检验试部署无误后,便可以进行大批量部署。同样的,如果某一台因为意外情况发版失败,便会告警通知。
发版结束后,会发送通知信息,通知管理员此次发版结束。
可以看到,通过标准运维编排固化后的发版流程,具有以下特点:
整个流程执行过程中,每一步操作如果失败,都会及时触发告警,运维人员可以快速定位故障;
通过图形界面实时展示任务执行状态,直观地感知当前任务的进度;
运维人员可以选择执行发版操作的节点,比如只更新部分主机;
避免登录服务器,降低人为误操作风险;
用户在任务记录页面,可以追溯之前的任务执行情况;
用户可以选择上面的流程模板创建出一个轻应用,这个轻应用可以在蓝鲸PaaS的应用市场中打开或添加到桌面,对使用人员而言,轻应用只需要关注一个流程模板的参数填写和任务操作,由于页面足够的简洁和友好,一个非技术人员也可以通过轻应用执行任务,这也就是标准运维提供的自助化服务之一。
标准运维为用户提供了“职能化中心”功能,可以让运维将业务日常标准化的发布、变更等工作交给职能化人员(业务操作员,负责实施运维工作中常规性、重复性的操作)来操作,让业务运维有更多时间和精力去优化和提升业务的质量和体验。
可以对其进行二次开发。比如支持定时自动发版等,开发自己适用的标准运维插件,实现真正的无人值守。
5总结
以上只是一个简化后的发版流程,用户可以在以上示例的基础上,轻松扩展和定制满足自身需求的任意场景,包括:
运维场景:发布、变更、开区、扩缩容,资源交付、容灾切换等执行类操作
其他场景:监控告警、配置管理、开发工具、企业IT、办公应用、其它
更多产品了解
欢迎扫码加入云巴巴企业数字化交流服务群
产品交流、问题咨询、专业测评
都在这里!
2022-11-23 15:38:23
2022-11-23 16:21:16
2022-11-22 16:03:39
2022-11-23 16:37:22
2022-11-22 11:10:52
2020-04-14 17:43:44
甄选10000+数字化产品 为您免费使用
申请试用
评论列表