Thoughts, stories and ideas.

DevOps 理念升级,ChatOps 概述及实践经验

如果一个团队不止关注眼下,也关注明天,那么显而易见他们应该做的两件事无非是:一,做领先于市场的事业;二,用更新更好的理念武装自己。在过去的许多年中,DevOps 逐渐成为了一个广受技术团队接受的工作理念,发展到今天,这个工作模式理应突破技术群体,发展为适应不同种类团队的方法模型,这也是 ChatOps 这个概念提出的背景之一。

我们试图在这里梳理 DevOps 与 ChatOps 的关系,介绍 ChatOps 的过去和现在,并且,试图介绍一些我们对 ChatOps 的尝试和经验。阅读这篇文章大致需要五分钟 :P

什么是 DevOps

DevOps 是来源于 Development 和 Operations 的一个组合词,顾名思义,是一系列过程、方法与系统的统称,旨在促进开发、测试和运维人员之间的沟通与协作。简单来说,是通过引入一系列的「工具」,通过三种不同角色的开发成员间的「协作」而实现的一种「自动化」的工作模式。这种工作方式带来的好处显而易见:

  • 实现持续快速交付
  • 能够降低人力成本

但很大程度上,DevOps 更多是指开发群体之间的一种协作模式(通常也在开发人员中实施),随着全行业的发展和人力成本的攀升,在团队所有角色间贯通的升级版「DevOps」逐渐登场,也就是我们将要重点介绍的 ChatOps。

ChatOps

ChatOps 的历史相对短暂,2013 年 GitHub 内部最早开始推行 ChatOps,希望能以聊天的方式更容易更快速的去完成 DevOps 承载的工作。

ChatOps 以聊天室,即沟通平台为中心,通过一系列的机器人去对接后台的各种服务,工作人员只需要在聊天窗口中与机器人对话,即可与后台服务进行交互,整个工作的展开就像是使唤一个智能助手那样简单自然。

在 GitHub 团队内部实现的 ChatOps 与一个叫做 Hubot 的机器人框架密切相关,Hubot 提供很多聊天机器人所需的基础设施,借助 Hubot 框架能比较方便的和自己编写的功能或自己的系统对接。目前,Hubot 已经发展出了较好的生态圈,有很多开源插件可以借用。

ChatOps 站在巨人的肩膀上发展,也为工作带来了显而易见的好处:

  • 公开透明。所有的工作消息都在同一个聊天平台中沉淀并公开给所有相关成员,消除沟通壁垒,工作历史有迹可循,团队合作更加顺畅。
  • 上下文共享。减少因工作台切换等对消息的截断,保证消息的完整性,让工作承接有序,各角色,各工具都成为完成工作流中的一环,打造真正流畅的工作体验。
  • 移动友好。只需要在前台与预设好的机器人对话即可完成与后台工具、系统的交互,在移动环境下无需再与众多复杂的工具直接对接,大大提升移动办公的可行性。
  • DevOps 文化打造。用与机器人对话这种简单的方式降低 DevOps 的接受门槛,让这种自动化办公的理念更容易的扩展到团队的每一个角落。

ChatOps 的实践经验

ChatOps 主要由四个部分组成,自动化的理念,一个沟通承载平台,一系列连接人与工具的机器人,一些后台工具和服务(基础设施)。

国外早期的工作沟通工具 HipChat,新秀 Slack 都是作为 ChatOps 承载平台的好选择,在中文的环境下,则可以选择 BearyChat(倍洽)等等。除上文介绍过的 Hubot 之外,还有一些比较成熟的机器人框架,比如 LITA、ErrBot 等。至于机器人后面对接的具体服务则更加数不胜数,以我们自己的团队举例,不仅为开发接入了 GitHub、Jenkins,也为产品运营接入了 Trello、Email 等。

除对接已有的产品,我们也使用 Hubot 框架对接了内部开发的一些具体的功能,如直接通过命令在聊天窗口查询待上线列表,实时了解 CPU 的使用状况等。

以上内容整理自 ChatDay 沙龙深圳站,DevOps & ChatOps 专场,来自腾讯、听云及 BearyChat(倍洽)的四位嘉宾现场分享了工作方式升级,共同探讨 DevOps & ChatOps 的共性,并介绍了一些相关实践案例。

四个分享主题回顾:

  • 刘天斯/腾讯 《DevOps 持续改进之道》
  • 唐晓敏/倍洽 《关于 ChatOps 应用于团队沟通方式的讨论》
  • 许吉泉/听云 《追溯性能问题根源》
  • 夏天/倍洽 《ChatBots 实践分享》

以上内容可以移步 活动官方团队 浏览或下载,并在团队中实际体验 ChatBot 与 ChatOps 的工作方式 :P

Realm WorldTour 分享 | 基于 DataBinding 的 MVVM 框架

以下的主题内容来自@凯凯杨 在 2017 Realm WorldTour Beijing/Realm 世界之旅北京站上的分享。

我们到现场去和 Realm 的工程师与中国的资深用户、开发者们一起深入的聊了聊在使用方面的体会,当中分享的案例来自于 BearyChat(倍洽) Android 项目 的实战经验,既是与同行、同好的交流,也是我们内部对自己工作的一部分总结,在这两个层面上都有收获。

(熊们强烈要求此处要有凯凯杨的英姿)

这一次分享的重点:

  • MVVM
  • DataBinding
  • DataBinding 的不足
  • DataBinding + Flavor
  • Realm MVVM

MVVM

MVVM 是应用最为广泛的 Android 框架之一,在 Model-View-ViewModel 框架当中,ViewModel 即视图模型,介于 Model 和 View 之间,是直接服务于 View 的 Model,是改变 View 的变量集合,可以是对数据的进一步封装。

在本文最末附上的 PPT 当中对 MVVM 进行了一个简短的举例说明。

DataBinding

DataBinding 通常会和 MVVM 一起被介绍,让 MVVM 在 Android 上实现起来显得不那么别扭。可以这么说,DataBinding 是目前为止,在 Android 项目中实现 MVVM 的最佳方式,在使用 DataBinding 的过程中也会自然的产生一个 ViewModel。

同样,我们在这一部分举了一个例子说明 DataBinding 在这个过程当中都做了些什么,简单来说,引入 DataBinding 后大致可以给我们带来如下好处:

  • View 可以不再需要 id 和大量的 findViewById,从而也减少了大量的临时变量;
  • 让代码逻辑归逻辑,视图归视图,数据归数据

总体来说,基于 DataBinding 的 MVVM 会让代码更加整洁、干净和幽雅。

DataBinding 的不足

实话说……

目前还无法做到在 Menu 中使用 DataBinding :(

DataBinding + Flavor

通过配置 Flavor,我们可以构建出不同的变体。同样举例说明借助 Flavor 我们可以实现:

  • 配置不同的打包参数
  • 合并 AndroidManifest
  • 替换 drawable 以及 asset 文件
  • 合并 values 文件

Realm MVVM

Realm 完全可以作为 MVVM 中的数据层: Model,不过在 ViewModel 中使用 Realm 时需要注意多线程的问题:

  • 同一个 Realm 对象不能跨线程使用
  • 如果你完全依赖 Realm 的自动更新,那么一定要注意判断 isValid(),尤其是在 Realm 对象会被删除的情况下

一点总结

囿于篇幅限制,本文省略了分享中的相关案例演示,可以加入我们的 活动团队 进入 #2017Realm北京 讨论组下载凯凯杨本次分享的完整 PPT,在 #2016ChatBot北京 讨论组中还能发现我们 ChatBot 主题沙龙中的分享资料(这是一个彩蛋),后续我们也将在活动团队中更新更多线下活动分享内容。

技术沙龙邀请 | 解密 chatbot 人工智能聊天机器人 第二期

「2016 年最火的行业方向不是 VR,而是对话交互/对话机器人(bot/chatbot)。Google 发布了 Gmail 和 Allo 上的智能回复功能,并收购了美国最大的 bot 创建平台 api.ai。Microsoft 推出了自己的语言理解平台 LUIS 以及 Bot Framwork。Facebook 的 bot 创建平台 wit.ai 进行了大规模的改版以便提升机器人的智能性,其 Messenger 上对话机器人数量已超过 3 万。原 Siri 团队研发的 bot 平台 Viv 还未发布就已被三星收购。Amazon 推出了自己的语音交互系统 Lex,以丰富 Echo 的使用场景……」


这些,只是对话交互时代到来的序曲。

 

很多人认为 2016 年是 bot 元年,不仅是各类产品层出不穷,就连相关的技术研究也有井喷之势。那么,真如大家所说,bot 需要集齐 NLP、IR、ML、RL 和 DL 等这些技术才能实现么?

11 月末我们在北京组织了一场有关于 chatbot 的线下沙龙,邀请了爱因科技 CEO 王守崑老师,LeanCloud 云引擎开发工程师安龙,和我 chat 后端工程师韩元波一起,和到场的朋友们分享了有关 chatbot 的一些概念和应用场景,现场氛围十分活跃。

我们打算将这场沙龙延续下去,这一次,我们请到了百度度秘技术负责人之一谢剑、阿里 IDST 人机对话系统高级算法专家李永彬、腾讯微信 chatbot 项目负责人林芬和图灵机器人 QA 负责人魏晨前来分享,他们将为我们打开 bot 技术的神秘大门,和我们一起窥视 AI 时代对话交互的源驱动力。

【活动信息】

2017 年 1 月 7 日      13:30 - 17:30
北京市海淀区丹棱街 5 号 微软大厦 1 号楼 一层故宫会议室 


【嘉宾介绍】

李永彬

分享主题:《自然语言理解》

阿里巴巴高级算法专家,2007 年清华大学自动化系硕士毕业,目前任职于阿里云——IDST——智能语音对话交互部门。 2011 年加入阿里巴巴,一直专注在自然语言处理方向,2014 年之前先后从事中文分词、淘宝 query 分析、情感分析、问答系统等方向的工作。
2014 年开始专注在人机对话系统的研发,负责自然语言理解方向,并开发了对话管理的早期版本。

林芬

分享主题:《chatbot 系统若干问题讨论》

2009 年中科院计算所博士毕业后进入腾讯工作至今,目前在腾讯微信模式识别中心工作。
主要从事自然语言处理方向的研究,包括语义分析、搜索系统、问答系统和对话系统。目前主要负责微信 chatbot 项目。

谢剑

分享主题:《语音对话交互系统技术概述和探索分享》

百度资深算法工程师,武汉大学人工智能方向硕士,曾先后在阿里云、微软stc 实习,在百度负责过凤巢客户流失预测、客户细分等;商业知心广告检索触发、交互变现;基于垂直领域知识图谱的搜索相关性优化等技术方向。 现为度秘算法团队技术负责人之一,负责对话式交互系统的算法优化。 

魏晨

分享主题:《Question Answering Systems》

于 2012 年获得硕士学位。硕士期间在数据挖掘领域发表了 2 篇会议论文,1 篇 ISF 期刊,负责了 Springer 图书中的 1 章并出版了 1 本书。 曾经是美国政府特邀访问学者,并曾被科英布拉大学邀请作为 Named-Entity Recognition 方向的研究员。 先后就职于联想、新加坡南洋理工大学,从事文本挖掘领域研究。目前,在图灵机器人工作,研究兴趣包括问答系统等。

【活动流程】

欢迎你到现场与我们一起沟通交流,点击 链接 填写相关信息即可完成报名。

同时,欢迎你提前点击加入 chatbot 沙龙团队,在线上与其他参会同好更多交流。现场分享的同时,我们也将在团队中创建现场抽奖专用 channel,为到场的大家抽送出我们的一些小心意。

期待与大家见面:)

你有双重福利待查收

双十二紧接着圣诞打折季,因为买买买而感觉很热闹的十二月。为此我们也为所有用户团队准备了两重福利活动,期望会和更多伙伴一起升级工具,让效率更进一步。

每充值 200 元可额外获得 20 元 BearyChat 礼品券

2016 年 12 月 12 日 0:00 至 2016 年 12 月 31 日 24:00,在此活动期间,为团队进行充值,每满 200 元即可获得我们额外赠送的 20 元礼品券一张,礼品券数量上不封顶。

活动支持支付宝及对公转账两种支付方式,对公转账请记得与我们邮件确认哦 :)

例如:A 团队在 12 月 12 日当天使用支付宝为团队充值 400 元,充值成功后 24 小时内,A 团队创建者将收到总额为 40 元的 BearyChat 活动专享礼品券推送,礼品券在有效期内随时支持兑换至团队余额,用以支付升级至 BearyChat 高级版后的团队账单。

邀请新团队注册,分享邀请注册专享礼品券

2016 年 12 月 12 日 0:00 至 2017 年 2 月 28 日 24:00,在此活动期间内,通过团队专属邀请码成功邀请新团队注册后,邀请团队与被邀请团队都将获得价值 100 元的专享礼品券一张。作为邀请方的团队最多可获得三张礼品券。

具体参与形式:

1. 使用团队专属邀请码邀请用户创建新团队。

邀请码为各团队自有域名,如某团队地址为 name.bearychat.com,则邀请码即为「name」。    

2. 提醒被邀请团队的创建者填写「新注册团队使用问卷」。

新团队创建成功后,团队创建者将收到由 BearyChat 小助手发送的「新注册团队使用问卷」。请提醒被邀请团队创建者将邀请码填写至问卷相应位置。    

3. 查收「邀请注册礼品券」并及时完成兑换。

邀请码经后台识别确认后,我们将向双方团队创建者各赠送一张价值 100 元的「邀请注册礼品券」。请在礼品券有效期内完成兑换充值。

我们试图抓住这一年仅存的小尾巴,再一次感谢在过去的这一段日子里和我们一起耕耘与成长的朋友们,「因为有你们」和「为了有你们」,我们才会变得更好。

最后一个小小的展望:全新的 BearyChat 即将正式与所有用户见面,如果你想立刻体验,欢迎加入 feedback 用户支持团队 尝鲜 :)

BearyChat x 石墨 | 聊聊你在使用的「利器」

工具和灵感,都是利器。

当二者来自不同领域、不同类型的创造者手中时,才会迸发出更多的可能性。

好工具帮助工作,BearyChat 始终与国内外好用的工具合作,期待帮助大家提升工作效率。这一次,我们集成了在线协作文档石墨,从现在开始,你可以在 BearyChat 中使用石墨文档了。

无论身处何时何地,你都可以在石墨文档上与他人共同实时编辑同一文档、表格;

无论工作多么繁杂,你都可以用 BearyChat 把这些信息汇集,实时交流、讨论;

当穿梭在利器中时,分享、学习各种工具利器的使用方法,会让我们的思维灵感更加活跃、工具体验更加丰富,

那么,不妨分享一下你的「利器」,告诉我们你的故事^^

活动参与方法:

(1)撰写文章,在石墨文档「分享」中添加成员,共享给官方邮箱:myteamliqi@163.com

(2)文章内容可以按照如下线索来填写:

  • 介绍一下你自己和所做的工作。
  • 你都在使用哪些硬件?
  • 软件呢?
  • 你最理想的工作环境是什么?
  • 你平时获得工作灵感的方式有哪些?
  • 推荐一件生活中的利器给大家。
  • 你最理想的协作工具是什么样子的?

(3)我们会筛选出惊艳的文章内容在利器网站上展示,并奉上 BearyChat 与石墨文档共同准备的精美礼物一份^^

点击这里可以查看利器展示模板。