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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 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管理系统等也都有相应的实现,由于篇幅所限,这里就不贴图介绍了。

相关文章
|
2天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
5天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible入门与实践
【10月更文挑战第21天】在现代IT基础设施的管理中,自动化运维已成为提升效率、降低错误率的关键。Ansible,作为一种简单而强大的自动化工具,正被广泛应用于配置管理、应用部署和任务自动化等领域。本文将引导你了解Ansible的基本概念,通过实际案例展示如何利用Ansible简化日常运维工作,并探讨其在现代IT运维中的应用价值。无论你是新手还是有经验的系统管理员,这篇文章都将为你开启Ansible的高效之旅提供指导。
|
6天前
|
SQL Java 数据库
Spring Boot与Flyway:数据库版本控制的自动化实践
【10月更文挑战第19天】 在软件开发中,数据库的版本控制是一个至关重要的环节,它确保了数据库结构的一致性和项目的顺利迭代。Spring Boot结合Flyway提供了一种自动化的数据库版本控制解决方案,极大地简化了数据库迁移管理。本文将详细介绍如何使用Spring Boot和Flyway实现数据库版本的自动化控制。
9 2
|
8天前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
37 2
|
11天前
|
运维 自然语言处理 开发者
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
37 3
|
12天前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
12天前
|
机器学习/深度学习 人工智能 机器人
智能废物管理系统:城市垃圾的自动化处理
【10月更文挑战第24天】智能废物管理系统利用物联网、大数据、人工智能和自动化机器人等技术,实现城市垃圾从分类、收集到处理的全过程自动化,提高处理效率,优化资源配置,提升居民参与度,降低运营成本,推动城市可持续发展。
|
12天前
|
运维 监控 安全
高效运维管理:提升系统稳定性的策略与实践
【10月更文挑战第13天】 本文探讨了高效运维管理的关键策略和实践,旨在帮助运维团队提升系统的稳定性。通过分析常见问题,提出具体的解决方案,包括监控与告警、自动化工具的应用、故障排查与恢复、性能优化以及安全防护等方面。通过这些策略和实践,可以帮助企业构建一个稳定、可靠且高效的IT系统。
54 1
|
4天前
|
运维 安全 Devops
DevOps实践:持续集成与持续部署(CI/CD)的自动化之路
【10月更文挑战第22天】在软件交付的快速迭代中,DevOps文化和实践成为企业加速产品上市、保证质量和提升客户满意度的关键。本文将通过一个实际案例,深入探讨如何利用持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)实现软件开发流程的高效自动化,包括工具选择、流程设计以及问题解决策略。我们将一起探索代码从编写到部署的全自动化旅程,揭示其对企业运维效率和产品质量所带来的深远影响。
|
8天前
|
运维 监控 jenkins
运维自动化实践:利用Jenkins实现高效CI/CD流程
【10月更文挑战第18天】运维自动化实践:利用Jenkins实现高效CI/CD流程