AI love Container - download.anruichina.comdownload.anruichina.com/arc/techsummit/APP204.pdf ·...

34

Transcript of AI love Container - download.anruichina.comdownload.anruichina.com/arc/techsummit/APP204.pdf ·...

AI love Container

人工智能化的DevOps实践

许豪微软解决方案专家

徐磊LEANSOFT 首席架构师

STU 204

Microsoft Tech Summit 2017

微软技术暨生态大会

个人简介 3

徐磊

首席架构师

微软最有价值专家 MVP

Microsoft RegionalDirector

Certified ScrumMaster

Certified DevOps Master

徐磊

首席架构师 | 资深ALM顾问和解决方案专家 | 微软最有价值专家 | 大中华区域社区技术总监 | 认证

Scrum Master | 敏捷教练 | 超过10年的软件研发项目管理经验 | 曾任SSW中国研发中心总经理 | 认证

的 DevOps Master Trainer

项目经验

• 高级ALM/DevOps顾问, 中国农业银行,互联网金融项目

• 敏捷教练, 兴业银行,海外网银敏捷试点项目

• 高级管理顾问,中国移动南方基地,互联网研发基地外包管理改进

• 高级ALM/DevOps顾问,上海通用汽车有限公司,软件研发过程改进

• 高级ALM/DevOps顾问,上海汇众汽车,软件研发过程改进和ALM平台落地

• 高级ALM/DevOps顾问,中国人民保险公司软件研发中心,软件研发过程改进和ALM平台落地

• 高级ALM/DevOps顾问,斯伦贝谢中国研发中心,敏捷开发与ALM落地

• 高级ALM/DevOps顾问,京东商城,PMO管理系统与ALM系统集成高级ALM/DevOps顾问,

• 华为2012实验室(深圳),rDelta系统选型

• 高级ALM/DevOps顾问,百威英博,软件外包管理系统ALM落地实施

Speaker Introduction

内容

案例:DevOps实验室的持续交付流水线实践DevOps实验室简介

基于Azure, Team Foundation Server 和 Docker 的持续交付流水线

基于LUIS的自然语言识别在DevOps中的应用介绍一个新朋友给你:小维 @Viki

自然语言识别在DevOps中的应用价值

小维的技术实现

案例:DevOps实验室持续交付流水线实践

Microsoft Tech Summit 2017

微软技术暨生态大会

跨越繁琐直击价值

为什么要开发【DevOps实验室】

• 2008 年第一期实操课程

• 至今已经运作上百期,学员近千人

• 挑战

• 环境复杂,维护困难

• 目标

• 降低培训交付成本

• 原来需要3个人交付,现在1个人

强调实操能力建设

• 实操能力是IT人才的核心能力,市面上的大量技术培训都是口水课程,缺少实操能力

• 云环境是最佳的实操演练场

单步引导的重要性

• 动手过程首先要确保成功,否则用户就会丧失学习的信心

• 单步引导式文档让学员建立起“我能做到”的信心

• http://docs.devopshub.cn

自助化环境生命周期管理

• 实验是一种探索性行为,需要经常重新开始;

• 按需新建/重置/删除环境,随用随开,不用即可关闭;

• 节省云资源,随用随计费;

• 图1: 3月24日公开课 24人(准备时间1周,4套环境,5个工程师)

• 图2: 6月17日公开课 30人(准备时间3天,30套环境,2个工程师)

• 图3: 10月17日微软公开课 60人• 65套实验环境• 130台虚拟机(260个cpu core, 130个虚拟网络)• 50分钟内创建完毕• 1人完成培训交付

易用性

• 用户桌面是日常工作空间,不可能为了实验随意变动;

• 本地计算能力有限,无法满足大数据,AI,区块链等需要大规模计算的场景;

• 通过浏览器访问是任何用户都最熟悉的方式。

• 跨平台:满足Windows/Mac/Linux不同用户一致性的访问体验

聊天式运营@viki(小维)

• 自助式实验环境中遇到问题如何解决?

• 对环境后台的修改需要技术支持人员介入?

• 使用“小维”自动化运维机器人,这些问题都可以被妥善解决

操作手册

环境操作工具栏

RDP 远程访问

“小维”运维聊天室

SSH 远程访问

浏览器

操作手册

SSH 远程

RDP 远程

VNC 远程

Viki 小维

Docker 环境

Docs 容器 (markdown)

Xterm 容器(JavaScript)

Guac 容器(C++/Java)

Hubot 容器(JavaScript)

TFS git

Markdown

Infra As Code

Coffee Script

TFS CI/CD

Docs Jobs

Env Jobs

Azure云平台

Ops Jobs

Labs Env (独立虚拟网络)

Machine Machine

Paas Object

【DevOps实验室】技术架构

Labs 容器(asp.net core)业务系统

调度

DevOps实验室的持续交付实践

• TFS 精益看板• 用户故事

• Bug

• 测试

• TFS 持续集成• 自动完成docker镜像生成,推送至私有镜像仓库(Harbor)

• 自动生成部署配置文件 docker-compose-template.yml

• TFS 持续部署• 测试环境:Azure 香港数据中心(全球版)

• 生产环境:Azure 背景数据中心(世纪互联版)

讲师工作流

讲师

编辑实验手册• reST/Markdown 格式• Visual Studio Code• Edit Plus• Notepad ++• 记事本• 任何编辑器

Git库 –文档

版本化的文档管理

编辑环境编排文件• Azure – Resource Manager• 其他云

• Chef• Puppet• DSL

Git库 –环境编排

版本化的环境管理

自动化引擎TFS Build / Jenkins异步事务队列

Docs Jobs

Env Jobs

HTML

云环境

1名讲师可以独立完成上百个环境的创建,运营,销毁!大幅降低培训交付成本!

学员工作流

学员

课程列表

• 大数据入门课程• Ai入门课程• 区块链进阶课程

文档库

• 大数据实验手册• Ai实验手册• 区块链试验后手册

云环境库

• 单服务器环境• 多服务器环境• Hadoop集群• 机器学习集群

启动实验选择课程

运营支持团队

• 通过聊天室提供实时技术支持

“小维”

• 通过聊天室提供云环境自动化操作支持

每个学员都可以获取独立的实验环境,自主管理。大大提升培训体验!

演示:DevOps实验室

Microsoft Tech Summit 2017

微软技术暨生态大会

内容

案例:DevOps实验室的持续交付流水线实践DevOps实验室简介

基于Azure, Team Foundation Server 和 Docker 的持续交付流水线

基于LUIS的自然语言识别在DevOps中的应用介绍一个新朋友给你:小维 @Viki

自然语言识别在DevOps中的应用价值

小维的技术实现

微软认知服务

From faces to feelings, allow your apps to understand images and video

Hear and speak to your users by filtering noise, identifying speakers, and understanding intent

Process text and learn how to recognize what users want

Tap into rich knowledge amassed from the web, academia, or your own data

Access billions of web pages, images, videos, and news with the power of Bing APIs

使用微软认知服务的应用

微软小冰

microsoft.com/cognitive

微软自然语言识别 LUIS& 小维 @viki

Microsoft Tech Summit 2017

微软技术暨生态大会

1代小维 2代小维

2代小维

executeLUIS = function(msg, input, adapter, robot) {var inputCommand, url;inputCommand = input.text.split(" ").slice(1);if (!inputCommand) {

return;}url = "https://southeastasia.api.cognitive.microsoft.com/luis/v2.0/apps/q=";url = url + encodeURI(inputCommand);robot.http(url).get()(function(err, res, body) {

var intention, json, query, result, score, sender, target;if (err) {

console.log(err);}json = JSON.parse(body);query = json.query;

intention = json.topScoringIntent.intent;score = json.topScoringIntent.score;

}

POST

Intent

score

演示:LUIS 语言识别服务集成

Microsoft Tech Summit 2017

微软技术暨生态大会

演示:DevOps实验室 + LUIS

Microsoft Tech Summit 2017

微软技术暨生态大会

动手实验:基于Docker的DevOps流水线搭建

11月1日(周三)下午 16:30 实验室3 11月3日(周五)上午 11:00 实验室1

更多信息和资源

Azure 中国官网站: https://www.azure.cn 最新产品与解决方案信息

中国区 Azure 官方文档: https://docs.azure.cn 提供产品服务文档,开发人员指南,代码样例和 SDK 下载

Azure 在线培训: https://school.azure.cn 提供面向场景的项目搭建教程,Azure 专家大咖专栏,和网络直播课程

Microsoft 云科技公众号 (ID: MS_CEChina) - 最新行业资讯、产品介绍、案例分享

Azure 云技术支持公众号 (ID: VNET_AzureSupport) - 由世纪互联运营的 Microsoft Azure 公有云平台技术支持

Microsoft 云科技公众号 Azure 云技术支持公众号

中国区 Azure 官方文档 Azure 在线培训

DevOps 公众号,中国最大的DevOps公众号 (ID: devopshub)