关注我们获得更多内容

精彩预告:第八届数据技术嘉年华大会将于2018年11月16日~17日北京市朝阳区东三环中路61号富力万丽酒店盛大开启。本次大会邀请互联网领先企业的数据库专家,国产数据库的领军人物,云技术等领域的知名人士,围绕数据、智能、链接组织前沿议题,倡导以智能智慧算法应用,发掘数据价值,以技术将企业链接到未来的战略制高点


社区专属福利(99.9%的人不知道):一分钱全场通票等你抢

内容来源:2018 年 03 月 31 日,腾讯蓝鲸运营负责人杨文兵在“腾讯蓝鲸自动化运维沙龙(北京站)”行进行的《从0到1构建支撑企业自动化运维体系》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。

阅读字数:3434 | 9分钟阅读

摘要

身处云计算时代的海量运维,传统运维已经过时,企业需要有一套属于自己的自动化运维解决方案,蓝鲸在腾讯互娱内部沉淀了五年多的自动化运维体系建设经验,将从传统企业的运维痛点入手,结合 aPaaS 和 iPaaS 两个维度以及蓝鲸 PaaS 在腾讯运维中的最佳实践,给大家分享企业构建属于自己自动化运维体系的基本思路。

获取嘉宾演讲视频及PPT,扫一扫下方二维码即可。

  传统运维之痛

企业运维对象改变

早期企业中的运维基本上由人工手动来维护,后来相继出现了x86架构和虚拟机,虚拟化技术逐渐成熟后容器技术又开始兴起。到了现在运维正慢慢向更上层挺近,运维人员不仅要有基础的运维能力,还需要对应用逻辑本身有非常深入的学习和了解,比如程序架构、模块功能、进程、端口这些都需要涉足,甚至数据库和字段含义也要知道。总的来看云时代下对运维的要求会越来越高。

运维工具进阶之路

腾讯最初的运维团队诞生的时候,要管理的服务器并不多,大概仅有一二十台,当时运维操作都是在Termainal上进行,因此自动化程度较低,容易出现人为失误。后来随着业务量和服务器的增长,我们开始应用批处理脚本,不过众所周知脚本的管理难度很高,操作也较为复杂,最关键的是并发数低,因此后面又转移到了开源工具上。

当规模达到20万以上的时候,开源工具也很难满足需求了,必须要去做一些工具方面的建设。

目前行业中的自动化运维方案有两种,一种是直接购买,另一种是自建。购买方面Bmc、惠普、IBM、CA是主要的软件提供商,这4家几乎垄断了中国自动化IT运维系统90%的市场,他们的产品有两个特点,第一是“贵”,动辄就需要上千万;第二是基于此的流程自动化不方便,容易出现断点。

上图列出的就是传统软件交付后容易遇到的各种问题,简单来说就是被绑架了。对此的解决方案同样有2个,一是重新选择开发商,二是自主研发设计。这两种方案其实代价都非常高,比如造成原有IT资源的浪费、技术储备不足、建设周期长等。

目前最优的方案是PaaS,它的优势在于能做到免运维、全托管和服务集成。

上图左边是传统的业务架构管控,下方的黄色区域主要提供一些IaaS,基于此之上有两套管控体系,一套是常见的管控平台,另一套为容器管控平台,最上层就是一些业务在跑。不过这种架构的问题在于一旦管控体系挂了,下层的IaaS就会失控。

右边是蓝鲸的PaaS,它下方集成了众多的原子平台同时还能无缝衔接传统架构中已经建设好的管控体系和平台,往上层是iPaas和aPaas,这些能力被集成上去之后就能让运维或开发得以快速构建面向应用场景的SaaS。

 如何构建PaaS

PaaS根据定义来看可以分为2部分,一部分是aPaaS,拥有部署和运行托管能力;另一部分是iPaaS,负责服务的集成。

构建流程

PaaS的构建流程总结起来有5个步骤,首先要部署支撑所有自动化系统的运行环境;第二步是集成原子平台,实现企业内部不同平台之间的集成和交互;第三步是构建企业服务总线,实现各个不同平台团队提供的系统或平台的统一协议转换。

所有能力集成起来之后,需要有一个调度引擎,将必要的原子能力连接起立,以服务的形式提供出来。

最后是将所有的工具或者说SaaS呈现出来,提供快速开发平台,实现诸如快速构建自动化运维系统的能力。

App Engine可以托管所有的SaaS工具,它对外发布的社区版是基于虚拟机的,每部署完成一个工具就会生成一个虚拟机,不过这样也导致资源无法隔离,从而引发一些不必要的问题,所以企业版中我们采用了容器的方案,以实现资源隔离。

运维经常使用的通用能力系统被称为平台,一般这些平台在某个特定能力方面会更加深入,比如专门连接IaaS的管控平台、用来执行脚本和分发文件的通用作业平台。

除开基础通用平台外,一些周边团队可能也建设了很多系统,对于这些我们可以将它对接起来,构建更强大的PaaS能力。

企业服务总线是为了对接下方各种原子平台,比如服务注册、权限控制异常处理、安全监控等。当然最重要的还是协议转换,将下方不同语言不同协议的原子平台的能力适配成统一协议。

集合起来的各原子平台能力将通过调度引擎进行编排,比如发布和扩容,除开会涉及到运维操作外,还有非常多的周边系统需要去做。

有了调度引擎之后就能够提供模板,让运维在模板中通过引擎编排场景中的操作。

对于游戏开区相信大家都不陌生,这背后涉及到了非常多的系统,包括和公司的流程相关联。在没有调度编排的情况下,一般一次开区需要耗费4到5个小时。

有了编排后就能实现一键自动开区,同时还能在这之前添加数据决策,通过大数据平台采集相关数据,当检测到数据达到某一标准后进行无人自动开区。

最后就是构建快速开发平台。有过开发经验的朋友应该都了解,传统的开发模式流程相对繁琐,在应用开发之外,还要做环境构建、日志追溯、监控告警、代码部署。

而在基于PaaS的开发模式下开发者就只需要做开发之前的需求梳理和正式的核心代码开发。

应用开发主要分为前端和后端,发布工具的前端开发让运维人员去做显然不合适,因此我们提供了一个前端的样例库,能够轻松的拖拽生成页面。后端则是基于python的坚果框架,就语言来说对运维人员比较友好,并且还封装了大量的公共组件。

上图是前面提到的前端方面的工具,叫做前端魔盒,可以看到这里提供了非常多的可视化布局的组件。这样就能让运维专注于SaaS流程拼装,大大降低了构建成本。

以上就是蓝鲸自动化运维系统的全貌,最下层是IaaS管控平台;第二层集成了大量的原子平台,包括自己构建的和对接第三方的;第三层为集成平台,也就是前面提到的快速开发的部分;最上层是根据不同应用场景衍生的各种SaaS。

 蓝鲸PaaS在腾讯运维中的实践

图中是腾讯内部通过蓝鲸构建的一些平台和实践,涵盖运维、开发、自助工具等多个部分。

我们内部还有一个专门的蓝鲸桌面平台,其内有超过500多的SaaS,当需要用到某个工具的时候可以直接在这上面添加。

最初的SaaS大多用于针对自身的业务痛点,后来随着不断的扩展逐渐形成了一个系列,比如与王者荣耀相关的发布、扩容等各种功能。

但是运维的能力毕竟有限,既然大家都在做发布和扩容,那么显然也能做成通用的形式。

这些SaaS可以给各种岗位提供服务,比如产品的运营数据展示、开发方面的CI/CD,测试工具等。

案例

故障自愈属于基础运维部分,针对运维的一些告警首先会对接该系统中。因为具体的业务问题只有相关负责人员才了解,因此我们也为运维人员提供了根据不同的业务流程编排套餐的能力。

上图是CI/CD中的CD部分,传统的非容器类发布模式都是通过它来做,从最开始提交发布单到最后完成发布结单都会在这上面通过模板编辑好。

另外需要注意的是我们内部所有正式对外业务的发布不是运维人员在做,而是由专门的外包团队负责。因为很多游戏都是在凌晨发布,我不希望因此耗费正式运维的精力。

上图是用户体验类的工具,它会针对业务中用户的每个环节进行数据分析,通过大数据、数据视图展示信息,并关联自动化机械执行的流程形成闭环。

蓝鲸智云,开放永不止步

目前蓝鲸已对外开发社区版,并会逐步将现有平台打包到这个版本中,包括底层管控,配置平台、作业平台、集成平台现已在社区版中。

同时我们还将内部的一些通用SaaS和脚本放入到了应用市场中,以供用户直接下载使用,类似于google商店的应用场景。

社区版2.0中内置了配置平台和作业平台,并且配备集成平台以支持社区用户的定制开,还提供API和开发样例。

社区版3.0开始对外开放一些SaaS,比如监控、治愈,以及和合作伙伴联合开发的平台功能。社区版4.0的改进主要在CMDB和网路管理这块。

转载自:IT大咖说。

投稿:有投稿意向技术人请在公众号对话框留言。

转载:意向文章下方留言。

更多精彩请关注 “数据和云” 公众号 。


资源下载

关注公众号:数据和云(OraNews)回复关键字获取

2018DTCC , 数据库大会PPT

2017DTC,2017 DTC 大会 PPT

DBALIFE ,“DBA 的一天”海报

DBA04 ,DBA 手记4 电子书

122ARCH ,Oracle 12.2体系结构图

2017OOW ,Oracle OpenWorld 资料

PRELECTION ,大讲堂讲师课程资料

近期文章

删了库之后,不要着急跑路

一道面试题看数据库性能和安全的方方面面

Percona发布XtraBackup for MySQL 8.0

独立发布的Oracle严重CVE-2018-3110公告

Oracle宣布云上正式上线自治事务处理数据库

为什么看了那么多灾难,还是过不好备份这一关

从0到1构建支撑企业自动化运维体系相关推荐

  1. 如何从零构建你的自动化运维体系?——从制度到技术

    前记:所谓干一行爱一行,人生处处是<围城>这是人性,但在改变那一刻之前,自应全心全意研究本行,全心投入,不计回报,用心在当下,写到体系就像是前面所有博客的一个帽子,现在把他总结整理出来,希 ...

  2. 基于 Bitbucket Pipeline + Amazon S3 的自动化运维体系

    1 前言介绍 随着自动化运维水平的提高,一个基础的运维人员维护成百上千台节点已经不是太难的事情,当然,这需要依靠于稳定.高效的自动化运维体系.本篇文章即是阐述如何利用 bitbucket pipeli ...

  3. 从零搭建一个自动化运维体系

    作者简介: 胥峰,著有畅销书<Linux运维最佳实践>.译著<DevOps:软件架构师行动指南>,资深运维专家,有 11 年运维经验,在业界颇具威望和影响力.2006 年毕业于 ...

  4. 企业自动化运维ansible

    自动化运维工具ansible 运维自动化发展历程及技术应用 云计算工程师核心职能 Linux运维工程师职能划分 自动化动维应用场景 文件传输 命令执行 应用部署 配置管理 任务流编排 企业实际应用场景 ...

  5. 小团队如何从零构建一个自动化运维体系

    自动化运维是指将日常运维中大量的重复性工作,小到简单的日常检查.配置变更和软件安装,大到整个变更流程的组织调度,由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现"零延时&q ...

  6. Linux集群和自动化运维

    Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技 ...

  7. 企业级自动化运维方案设计及Saltstack、Ansible等5种工具比较分析--云平台技术栈08...

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的服务器自动化配置! 来自:公众号talkwithtrend 1.企业运维现状与发展趋势 随着企业信息化的不断发展,运维人员需要面对 ...

  8. 系统封装工具_去工具化/脚本化理解,自动化运维落地最佳实践之业务/架构/模型/方法...

    本文转载自:互联网运维杂谈 近年来后端IT也呈现更复杂的形态,底层IT架构逐渐开放平台化.云化,上层应用微服务化等等,虚拟化.云平台.容器PaaS和云原生框架都进入到IT运行环境中,而传统业务依然运行 ...

  9. 自动化运维saltstack(资源)

    2019独角兽企业重金招聘Python工程师标准>>> 简介 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp ...

最新文章

  1. GO随笔-单元测试-基础测试
  2. 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?...
  3. 修改Windows AD的LDAP查询限制
  4. 电脑刚开机显示正在锁定计算机在怎么回事,电脑开机一直停留在诊断自动修复界面怎么回事...
  5. MFC中小笔记(四)
  6. 湖北经济学院的计算机是否强,graphics-ch11-真实感图形绘制_湖北经济学院:计算机图形学_ppt_大学课件预览_高等教育资讯网...
  7. 浪漫情人节|C语言画心型
  8. MySQL 启动故障 处理 小记
  9. linux rc.local权限,Linux开机启动rc.local不执行分析
  10. 适合转HTML5大前端的5类人!有你吗?
  11. MATLAB Primitive Types
  12. git HEAD detached from origin 问题的解决
  13. 动态定义控件时事件触发的总结
  14. nvme分区选mbr还是guid_小白也会装系统 固态硬盘Win10热门主板Bios设置教程NVME和SATA...
  15. “kuangbin带你飞”专题计划——专题十五 数位DP
  16. matlab BP神经网络入门
  17. c语言编程if语句的用法,if句子用法(C语言中,if语句的用法)
  18. 【子衿技术】DBA进阶之路
  19. PGSQL分组取最新
  20. 最新百亿量化私募名单

热门文章

  1. linux 线程就绪态_动手使用Linux就绪的Dell XPS 13开发人员版
  2. linux如何配置网络设置_如何在Linux中配置网络
  3. 访问 JSON 对象的值
  4. es6 Promise.all()方法
  5. 深度学习笔记(17) 误差分析(二)
  6. 堆积密度怎么做_长尾关键词怎么优化?这样布局关键词排名效率高
  7. java中常见的编译错误的是_编译时JAVA最常见的错误有哪些
  8. python中with的用法简单来说_Python中with的用法
  9. pytorch查看loss曲线_pytorch loss总结与测试
  10. c语言xuanzeti1,c语言选择题库1