什么是 ChatOps | 学习笔记

简介: 快速学习什么是 ChatOps

开发者学堂课程【阿里云 ChatOps 实战什么是 ChatOps】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/536/detail/7283



什么是 ChatOps


内容介绍:

一、工作流程与步骤

二、GitHub Workflow

三、ChatOps

四、实现过程


一、工作流程与步骤

钢铁侠的智能管家系统 J.A.R.V.I.S 能够独立地思考并且帮助主人处理事务,J.A.R.V.I.S 会自动对数据进行查询并分析数据,生成所想要的内容,带来了自动化。

在传统的流程中,重启一台 VM 需要先打开终端,并且通过 SSH 登录到 VM,在这个过程中如果没有得到认证,还需要输入密码,登录成功后,需要执行 reboot 命令,等待命令成功后再次通过 SSH 登录到 VM,输入密码,完成后续操作。此过程需要七步操作。

在 ChatOps 的流程中,重启一台 VM 需要先打开聊天框,如果与其他团队已经进行沟通则可以省略这一步,然后输入重启口令,等待执行后查看返回信息。而此过程相对于传统流程更加简单,只需要四步操作,但此时是一直与其他团队进行沟通的,第一步可以忽略不计,所以实际的操作只有三步。


二、GitHub Workflow

GitHub 的工作大量依赖于智能机器人和 ChatOps:

60%的员工在家远程办公,新员工入职培训便是查看其他人聊天,感受别人是如何工作的。

使用机器人执行各种运维脚本,将所有需要重复、操作繁琐的事情交给机器人来完成。

在聊天工具中和同事沟通、运维、查看监控等,所有相关人员都可以看到具体的情况。


三、ChatOps

(1)含义

ChatOps 是以聊天的方式来完成具体的运维工作,以聊天室和沟通平台作为中心,通过一系列的机器人去对接后台的服务,工作人员只需要在聊天窗口中与机器人进行对话,就可以与后台的工作人员进行交互。整个工作的展开类似于使用智能助手一样简单自然。

(2)困境

目前的部署方式的问题所在:

1、人力成本越来越高

2、运维相关工作枯燥乏味:靠工程师手动通过 SSH 或者第三方工具来部署服务的方式枯燥乏味,容易出错。

3、运维相关工作部署时间较长,还需要全程守候

(3)优势

1、ChatOps 的优势在于透明、高效、移动友好、任务自动化。

2、透明

当工作依赖于 ChatOps 时:

所有的沟通、具体的场景、上下文都在沟通过程中共享,过程透明,任何一个人都可以通过查看历史记录来快速切换进入相应的场景,以此来简化沟通压力,降低沟通成本。

整个操作的过程透明,沟通相关方明确,可以快速找到各部分的负责人。

整个流程的进度透明,各相关方可以合理安排进度。

3、高效

当工作依赖于 ChatOps 时:

沟通的成本降低,所有相关方可以参与流程,更加高效。

减少场景的切换,降低场景切换的成本,无需在终端、浏览器、聊天工具中不断切换。

新人可以通过查看聊天记录来快速切换场景,了解在什么样的场景下使用什么样的命令,同时由于将大量的命令都封装在机器人简短的命令中,新人可以快速地进入状态。

4、移动友好

当工作依赖于 ChatOps 时:

聊天工具提供了移动客户端,只要手机在手,可以在任何时间,任何地点进行运维。

5、任务自动化

当工作依赖于 ChatOps 时:

将单调、容易出错的任务切换为机器人自动执行,降低出错的可能。

改进持续交付的流程。

机器人执行的命令由团队内部的专家编写,为每一个操作者赋予专家的能力。


四、实现过程

1、ChatOps Workflow

ChatOps 是一个完整的工作流:ChatOps 主要由 DevOps Team(DevOps 团队、ChatRoom(聊天工具)、Bot(机器人)、Infrastructure(基础设施)四个部分组成。

ChatOps 源自于 DevOps 团队在聊天室中对机器人的操作,机器人会根据命令对基础设施进行对应的操作并获取反馈,获取反馈后,通过聊天工具反馈给 DevOps 团队,DevOps 团队根据反馈继续执行各项工作。在此过程中,最重要的在于选择聊天工具及机器人,对于基础设施可以通过编程来实现。

2、聊天工具

Slack:国外强大的团队协作聊天工具,提供丰富的接口。BearyChat (倍洽):国内的类似 Slack 的产品。

Rocket.Chat:开源免费的聊天工具,可以在企业内网部署。

dingTalk(钉钉):阿里巴巴旗下的企业沟通工具,支持的机器人不完善。

3、Bot

目前市面上有较多的 Bot 机器人能够帮助我们构建 ChatOps 工作流

Hubot: Hubot 是 Github 开源的高度自定义化的机器人且基于 JavaScript/CoffeeScript 的编写。

LitaLita 是基于 Ruby Lita.io 开源的机器人

Err:基于 Python 的机器人框架

4、最后选择的是倍洽与 Hubot 相结合的方式

相关文章
|
11月前
|
运维 前端开发 Cloud Native
SREWorks云原生数智运维工程实践-SREWorks 介绍篇-一看就会的SREWorks快速入门-开发运维应用
SREWorks云原生数智运维工程实践-SREWorks 介绍篇-一看就会的SREWorks快速入门
127 0
|
11月前
|
运维 Kubernetes Cloud Native
|
11月前
|
运维 Cloud Native
SREWorks云原生数智运维工程实践-SREWorks 介绍篇-一看就会的SREWorks快速入门-总结
SREWorks云原生数智运维工程实践-SREWorks 介绍篇-一看就会的SREWorks快速入门
|
11月前
|
Web App开发 监控 机器人
语雀质量体系与自动化
语雀质量体系与自动化
200 0
|
运维 容灾 安全
|
存储 移动开发 机器人
ChatOps 在阿里云上的实战应用 | 学习笔记
快速学习 ChatOps 在阿里云上的实战应用
193 0
|
运维 监控 Kubernetes
如何开发ChatOps
如何开发ChatOps
如何开发ChatOps
|
运维
|
开发框架 运维 监控
你真得了解”运维开发“吗?
第一个层面,浅层意义,是指“运维工具的开发”。曾经确实如此,例如在HP(Service Manager)和IBM(Tivoli)等国外企业级解决方案为王的时代。那时,实施一套运维工具集,就像在实施SAP的ERP,全过程从咨询到落地实施,不但复杂得很,而且各位运维管理人员、运维工程师就像小学生那样好学(bei dong),毕竟领导说了,上运维系统就要走“固化-僵化-优化”的正路,但理想与现实的鸿沟,还是如此鸿沟
492 0
你真得了解”运维开发“吗?
|
Web App开发 运维 监控
应用运维——《应用智能运维实践(试读版)》
应用运维保障是软件全生命周期管理过程中的关键环节。软件系统开发上线后,要达到预期的设计目标、稳定服务于目标场景,全靠运维保障支撑。
应用运维——《应用智能运维实践(试读版)》