运维自动化的定义:数据-事件-流程

简介:

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

本文由优云运维社区热心粉丝符杰超整理而成,符杰超,现任熊猫tv基础架构部高级运维开发工程师。
全文2000字,阅读预计13分钟,纯干货。

随着互联网发展迅猛,不同的公司IT基础设施面临的增长和快速发展。从人肉维护,建设到半自动,全自动,由此产生的自动化体系/运维工具越来越多,目前大多数运维IT环境架构主要分为3种技术体系:
1)开源工具
2)自研发工具(更多的是包含和利用开源软件优秀的特性进行定制化开发)
3)从0自主研发,底层改造到应用层开发

开源的代表作有很多,比如:puppet,saltstack,Ansible,Nagios,Zabbix,cobbler,Docker,KVM,Openstack等主流开源软件。
自研:资产管理系统,发布系统,监控系统,配管系统,工单系统等。

总结:运维自动化已经是成熟的代名词了,无论从网上搜索,还是各大技术分享,都有很多不错的案例和实施过程。但也很多朋友觉得实施起来很困难,复杂,但是看似很简单。困难和复杂:想不通如何把重复性,不可规整/聚合,业务连接成一线枢纽。看似简单:因为有人/其他互联网运维团队实施出来了,实现的还不错,看似近在迟尺。先定义后实施,这个是关键点,想明白才去做,没想明白千万别去做,否则只有推翻重来或者坑越来越多。
定义分为三个层面:1.数据的定义2.事件的定义3.流程的定义
1.数据的定义:
一切的基石基于数据,第一步数据的纬度要设计好:
①.机房的定义:比如北京机房,上海机房,香港机房等
②.机器类型定义:私有云,公有云,物理机,公有云:ali,aws等细化纬度。
③.业务定义:比如官网业务,订单业务等纬度细化。
④.存储的定义:比如根据自家公司的业务和技术体系来设计:
比如哪些基础信息是需要的,哪些信息看似可要/可不要的,要做好取舍。
数据存储的信息一定要是展现出来有实际意义的,数据存储不在于多,而是在于价值,繁重的数据越来越多,如果定义很多可有/可无的数据存储,对于一个IT基础资产库来说,也是种负担。
数据的存储考量:唯一的,有价值的,可维护,可扩展的四个原则。
⑤.协同的定义:当拥有一份完整的IT基础资产库的时候,只是一份基石,基石铺垫好了,才有上升的扩建空间,数据的标准接入协同分为二部分:
1)内部的系统/资源(运维内部的系统)
2)外部的系统/资源 (业务,安全的系统)

内部系统/资源和外部系统/资源对资产信息库的对接关系策略纬度:
1.可增加/删除的,初始化类型数据系统/可移除的资源数据系统,比如:自动化装机系统
2.可获取的,获取的信息纬度哪些类型,比如:发布系统,监控系统(拿到资产信息库的业务类型,组,主机/IP信息等。
3.可查询的,单条件查询,多条件查询,连同条件查询,比如:安全审计系统,业务类型系统,对外/对内访问IP区分等。

2.事件的定义:
第一要点的数据定义已经设计好,有了完整规范的数据格式,来定义围绕基础信息库基石上扩展事件。
事件定义的逻辑方法论:事件设计-事件构建-事件交付-事件数据汇总
每个自动化操作都依据某个事件场景来实施,实施的策略很多,也需要平衡好优缺点。
1)数据的初始化录入系统,俗称:自动化装机系统
自动化装机系统初衷:
1.需要人工重复性操作
2.快速交付时间周期慢
3.技术提升优势不大
4.用事件根据场景来优化

自动化装机系统交付要点(根据不同主机类型来构建事件场景):
1.物理机类型(硬件层面:不同硬件厂商的类型,比如远程卡,BIOS初始化,RAID阵列自动划分,软件层面:cobbler)
2.公有云类型 (服务商的Api或者SDK接口)
3.私有云类型 (Openstack,Docker,KVM私有云规范的Api接口或者自己构造一份标准的接口).
4.从类型选择初始化配置-内部DNS数据接入-获取主机信息资源-启动新主机。
5.数据完整保存,方便以后分析和进一步优化。比如:成本的使用/扩展,业务方机器资源使用率,分析对该事件场景构建优化提升之处。

发布系统,运维日常支持工作占到百分之50%或者更多。代码发布也是运维考核的和支持最重要的一项日常工作。
发布环境常用的包含:local,beta,demo,gray,online等
发布的代码类型:混合型居多。
通常情况下,人肉支撑的耗时,重复性,自检成功/失败发布,排查故障周期很长。尤其是对于重要业务平滑,耗时的情况更多。
而发布系统满足重要的三个因素:
1.自动无损平滑发布(支持多种负载均衡策略,发布代码不重启服务策略,环境组主机流量自动切换)和可视化实时过程/结果查看。
2.稳定,并行的构造多环境/多业务发布,即使某个业务出问题,对于整个发布平台/其他业务发布也是无感知,无影响。
3.权限,安全隔离,完整的审计功能,让研发自助的发布。
4.数据的完整保存,分析目前业务发布测试/迭代,资源调度率,发布时间点,全年发布优化指标等。
总结:以上就举2个事件场景构建的案例,一切事件构建皆为场景,场景的价值在于数据是否帮助/量化,改进业务层面/运维层面的持续增长/交付。

3.流程(一切入口,规范,从流程抓起)
为什么最后才是流程,因为在没有数据做基础铺垫,事件场景构建,一切谈流程都是空话,虚拟的。

流程基于实施的要素:
1)基于一切数据+事件的入口配置
2)流程不在于复杂,在于易用,快捷,可塑造。
3)源地址-目的地址全部过程保存,可追踪。
自动化价值:
1)价值性产出:站在业务/团队角度去思考,不追从完美产品方案,只选择合适的产品方案,同时在一定程度上做好取舍。
2)从小而做到细,从细扩展到大,才是本质。
3) 自动化产出一切为数据,对数据定义要设计好,宁愿设计周期长些,也不要盲目实施。

相关文章
|
17天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
17天前
|
监控 安全 搜索推荐
简化工作流程!邮件自动化如何助力Workplace操作高效化?
电子邮件在现代职场中扮演核心角色,不仅是通信工具,更是企业运营的关键。自动化驱动的电子邮件提高了效率,用于需求生成、流程管理和交易审批等。电子邮件自动化分为营销、事务性和操作性,各有特定触发器和目标,但也带来收件箱管理挑战。通过过滤、优先级设定和规则管理,收件人可更有效地处理自动化邮件。随着数字化转型,电子邮件将继续影响客户旅程和企业内部流程,未来的系列文章将进一步探讨这一主题。
20 1
|
4天前
|
监控 数据挖掘 API
京东商品API接口:电商数据自动化的钥匙
京东商品API接口为电商领域带来了巨大的便利和潜力。通过本篇文章,读者应该能够了解如何使用京东商品API接口,并通过示例代码学习如何实际调用API获取商品数据。 随着技术的不断发展,京东商品API接口将继续为电商自动化、数据分析和市场研究提供支持,帮助商家和开发者在竞争激烈的市场中保持领先。我们鼓励读者继续探索和学习,充分利用京东商品API接口带来的机遇。
|
4天前
|
安全 数据管理 测试技术
网络安全与信息安全:防范漏洞、加强加密与提升安全意识深入探索自动化测试框架的设计原则与实践应用化测试解决方案。文章不仅涵盖了框架选择的标准,还详细阐述了如何根据项目需求定制测试流程,以及如何利用持续集成工具实现测试的自动触发和结果反馈。最后,文中还将讨论测试数据管理、测试用例优化及团队协作等关键问题,为读者提供全面的自动化测试框架设计与实施指南。
【5月更文挑战第27天】 在数字化时代,网络安全与信息安全已成为维护国家安全、企业利益和个人隐私的重要环节。本文旨在分享关于网络安全漏洞的识别与防范、加密技术的应用以及提升安全意识的重要性。通过对这些方面的深入探讨,我们希望能为读者提供一些实用的建议和策略,以应对日益严峻的网络安全挑战。 【5月更文挑战第27天】 在软件开发周期中,自动化测试作为保障软件质量的关键步骤,其重要性日益凸显。本文旨在剖析自动化测试框架设计的核心原则,并结合具体案例探讨其在实际应用中的执行策略。通过对比分析不同测试框架的优缺点,我们提出一套高效、可扩展且易于维护的自动
|
16天前
|
运维 资源调度 监控
构建高效自动化运维流程的策略与实践
【5月更文挑战第15天】 在现代IT基础设施管理中,自动化运维已成为提高效率、确保稳定性和快速响应变化的关键。本文将探讨构建高效自动化运维流程的策略与实践,重点在于如何通过一系列切实可行的步骤实现从人工密集型到自动化驱动的转变。我们将讨论工具选择、流程设计、最佳实践以及持续改进的重要性,旨在帮助读者构建一个既灵活又可靠的自动化运维环境。
29 3
|
17天前
|
监控 前端开发 jenkins
Jenkins在前端项目持续部署中的应用,介绍了Jenkins作为自动化部署工具的基本概念和流程
【4月更文挑战第29天】本文探讨了Jenkins在前端项目持续部署中的应用,介绍了Jenkins作为自动化部署工具的基本概念和流程。前端持续部署涉及代码提交、构建、测试和部署四个步骤。实现过程中需配置代码仓库、构建、测试和部署任务,安装相关插件并确保环境一致性。注意事项包括代码质量控制、环境一致性、监控预警和安全管理。通过Jenkins,可提升前端开发效率和质量,但需不断学习以应对技术发展。
|
17天前
|
机器学习/深度学习 人工智能 供应链
【专栏】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化
【4月更文挑战第29天】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化。具有灵活性、易用性、高效稳定和智能学习等特点。广泛应用于财务、人力资源、客服和供应链等领域,未来将与AI深度融合,跨平台应用,行业定制化,并构建完善生态,助力企业效率提升和创新。
|
17天前
|
存储 运维 监控
提升数据中心效率的关键策略:自动化运维流程
【4月更文挑战第20天】随着企业对数据处理和存储需求的不断增长,数据中心的效率成为了优化的焦点。在本文中,我们将探讨自动化在数据中心运维中的应用,并分析其如何显著提升操作效率、降低成本以及提高服务水平。通过案例研究和最佳实践的分享,读者将获得实施自动化运维流程的实用指南,以支持其在不断变化的技术环境中保持竞争力。
|
17天前
|
运维 Prometheus 监控
构建高效自动化运维流程的策略与实践
【4月更文挑战第13天】 在现代IT基础设施管理中,自动化运维已成为提升效率、确保稳定性和快速响应变化的关键因素。本文将详细探讨构建一个高效自动化运维流程的战略规划、关键技术选型以及实际执行过程中的最佳实践。我们将通过具体案例分析,展示如何整合配置管理工具、持续集成/持续部署(CI/CD)管道、监控告警系统以及日志分析平台,来形成一个协同工作的整体解决方案。文章的目标是帮助运维团队构建出能够适应不断变化需求的自动化框架,实现运维工作的标准化、系统化和智能化。
|
17天前
|
小程序 前端开发 持续交付
小程序全栈开发中的CI/CD流程与自动化部署
【4月更文挑战第12天】本文探讨了小程序全栈开发中的CI/CD流程和自动化部署,强调其在提升开发效率和代码质量上的重要性。持续集成和持续部署确保了代码的频繁集成与快速迭代。实践中,利用构建工具、测试框架和部署工具实现自动化,并借助代码审查工具保证代码质量。同时,注意安全性、性能和团队协作,以实现小程序的稳定运行和优质用户体验。
http://www.vxiaotou.com