运维前线:一线运维专家的运维方法、技巧与实践1.6 运维自动化系统的实现

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

1.6 运维自动化系统的实现


挑战自动化的极致场景(可视化),是运维人员对极致的追求。极致的自动化是运维事务全流程的自动化,运维事务全流程自动化是包含了一次应用完整交付所涉及的所有资源的自动化能力,比如说DNS资源、负载均衡资源、数据库资源、服务器资源、配置资源等。下面将列举几个典型的运维自动化系统以供大家参考。

1.6.1 DNS管理系统

DNS是Web形态下的一个重要入口,用户服务的访问严格依赖于这个服务入口。现在一般被称为GSLB(全局服务负载均衡调度),目前是CDN服务中的重要服务节点。实现的目标都是要解决运维从哪里来,到哪里去最快,当目标机房发生故障的时候,如何把服务调度走。

在移动APP大量应用的今天,DNS协议的缺点已经逐渐暴露出来了,DNS解析时间长,另外还经常会被劫持。因为有端的控制,现在逐渐开始走HTTPDNS的服务,通过HTTP服务的方式获取域名对应的IP地址,此时由DNS平台直接对外提供HTTP服务。在有端App的情况下,还可以借助端的数据挖掘技术,识别非权威DNS域名是否存在被劫持的情况。系统需要保持和业务的与时俱进。

这里还需要注意一个问题,内部DNS能否统一管理?理论上是可以的,把单个机房当作单个的view,不过我不建议将两个场景耦合在一起,尽管这样能够实现统一管理。

系统Demo如图1-7所示。

 

图1-7 DNS管理系统

1.6.2 CMDB管理系统

CMDB管理系统的建设这里就不展开介绍了,感兴趣的读者可以关注微信公众号“互联网运维杂谈”,并参阅《运维平台之CMDB系统建设》一文。

系统Demo如图1-8所示。

1.6.3 名字服务中心系统

“名字服务中心系统”的概念最初来自于Zookeeper,该系统结合实际情况,实现了名字服务中心。把程序接口之间的调用抽象成单个服务之间的调用,在服务中心实现调度的统一注册、鉴权、ACL、容灾容错控制。将其看作线上服务最核心的系统,一点也不为过,并且它还是收益最大的系统,可直接替换掉DNS、LVS,降低线上系统对运维系统的依赖性。

系统Demo如图1-9所示。

 

图1-8 CMDB管理系统

 

图1-9 名字服务中心系统

1.6.4 持续部署管理系统

持续部署是应用升级的核心系统,该系统每个月都承担着大量的变更。在系统规划之初,我们就给它设定了清晰的业务管理目标:持续交付的一部分,实现图1-10中的4个维度管理目标;也设定了具体业务的运维目标:升级所有的包和配置,且让业务运维彻底退出业务的变更流程。具体如图1-10所示。

系统Demo如图1-11所示。

持续部署系统是持续交付系统的核心(持续集成、持续测试、持续部署、持续反馈),它是产品发布到达生产环境的关键步骤。在这个平台的建设上,运维人员应该将它作为突破的第一个点。在该平台搭建完成之后,运维就可以从日常的部署事务中解放出来了。

 

图1-10 持续部署管理系统示意图

 

图1-11 发布系统

1.6.5 运维调度管理系统

运维调度平台又称为调度编排系统,编排是一种场景化的运维能力封装,是对复杂运维事务的封装。我们在平时的运维过程中能够看到很多复杂的运维场景,比如说容灾切换、故障处理、服务迁移等。这些场景,很多时候都不是单一的动作就能够完成的,往往需要借助多种运维能力组合,如图1-12所示。

在图1-12中,我们把Ops自动化调度下面的服务支撑层分解为三部分:工具平台OpsStore,用来编写日常的运维工具;外部服务,用于公共API对外提供封装;Ops发布,用于提供代码持续部署服务。

一个完整的自动化调度平台应具备能够对接一切服务的能力,例如通过配置管理来初始化内核、通过OpenStack来初始化资源、通过DNS来获取全局调度服务、通过存储来获取存储的服务,甚至还可以通过公有云API来获取外部公有云的资源服务能力,如图1-13所示。

 

图1-13 自动化调度平台示意图

还有数据库运维管理平台、分布式Cache管理系统等也都有相应的实现,由于篇幅所限,这里就不贴图介绍了。

相关文章
|
15天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
37 3
|
19天前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
42 4
|
5天前
|
监控 Devops 持续交付
掌握 GitOps:实现 DevOps 自动化的现代方法
【10月更文挑战第19天】GitOps 是一种基于 Git 仓库管理应用配置和集群状态的现代化 DevOps 方法,通过自动化工具实现声明式配置和持续部署。本文介绍了 GitOps 的核心概念、优势、挑战及实施的最佳实践,帮助团队提高部署效率和系统可靠性。
|
12天前
|
机器学习/深度学习 人工智能 机器人
智能废物管理系统:城市垃圾的自动化处理
【10月更文挑战第24天】智能废物管理系统利用物联网、大数据、人工智能和自动化机器人等技术,实现城市垃圾从分类、收集到处理的全过程自动化,提高处理效率,优化资源配置,提升居民参与度,降低运营成本,推动城市可持续发展。
|
12天前
|
运维 监控 安全
高效运维管理:提升系统稳定性的策略与实践
【10月更文挑战第13天】 本文探讨了高效运维管理的关键策略和实践,旨在帮助运维团队提升系统的稳定性。通过分析常见问题,提出具体的解决方案,包括监控与告警、自动化工具的应用、故障排查与恢复、性能优化以及安全防护等方面。通过这些策略和实践,可以帮助企业构建一个稳定、可靠且高效的IT系统。
54 1
|
15天前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
37 1
|
17天前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
35 1
|
18天前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
40 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
18天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
39 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
19天前
|
存储 运维 监控
高效运维管理:从基础架构优化到自动化实践
在当今数字化时代,高效运维管理已成为企业IT部门的重要任务。本文将探讨如何通过基础架构优化和自动化实践来提升运维效率,确保系统的稳定性和可靠性。我们将从服务器选型、存储优化、网络配置等方面入手,逐步引导读者了解运维管理的核心内容。同时,我们还将介绍自动化工具的使用,帮助运维人员提高工作效率,降低人为错误的发生。通过本文的学习,您将掌握高效运维管理的关键技巧,为企业的发展提供有力支持。