什么是 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 相结合的方式

相关文章
|
存储 数据采集 运维
阿里巴巴DevOps实践指南(二十四)| 智能运维
智能运维( AIOps )是依托于阿里巴巴 DevOps 经验沉淀而来的智能化运维平台,通过运维大数据的积累,以及算法团队多种算法的校对,我们将运维提升到新的高度,通过 AI 来帮我们查看数据、判断异常、决策运维操作,形成监、管、控一体化的运维平台。
阿里巴巴DevOps实践指南(二十四)| 智能运维
|
消息中间件 Kafka 流计算
Flink读取Kafka报Error sending fetch request
实时计算Flink读取消息队列Kafka,flink日志中出现Error sending fetch request (sessionId=1510763375, epoch=12890978) to node 103: {}. org.apache.flink.kafka.shaded.org.apache.kafka.common.errors.DisconnectException: null
12707 3
Flink读取Kafka报Error sending fetch request
|
NoSQL 数据可视化 关系型数据库
推荐几个好用的redis可视化工具
推荐几个好用的redis可视化工具
16717 1
|
12月前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
268 1
|
11月前
|
机器学习/深度学习 人工智能 运维
智能运维:AI驱动的IT运维革命###
【10月更文挑战第21天】 随着数字化转型的深入,智能运维(AIOps)正逐步成为企业IT管理的核心。本文将探讨AI技术如何赋能运维领域,通过自动化、智能化手段提升系统稳定性和效率,降低运营成本,并分享实施智能运维的最佳实践与挑战应对策略。 ###
793 1
|
11月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在IT基础设施管理中的应用
【6月更文挑战第24天】本文将深入探讨人工智能(AI)如何革新传统IT运维模式,提升效率与响应速度。通过分析AI技术在故障预测、自动化处理和安全防护等方面的应用实例,揭示其对现代IT基础设施管理的深远影响。文章旨在为读者提供一个关于AI赋能运维领域的全面视角,同时指出实施过程中可能遇到的挑战与对策。
434 5
|
存储 运维 监控
运维(24)-运维技能知识图谱
运维(24)-运维技能知识图谱
1935 1
|
12月前
|
NoSQL 关系型数据库 Redis
高可用和性能:基于ACK部署Dify的最佳实践
本文介绍了基于阿里云容器服务ACK,部署高可用、可伸缩且具备高SLA的生产可用的Dify服务的详细解决方案。
|
机器学习/深度学习 分布式计算 大数据