一个通用应用运维管控平台的设计实现
服务管理功能也是很有用的功能。
本文引用地址:https://www.eepw.com.cn/article/201807/383696.htm到此位置,整个配置管理工具的功能介绍也完成了,具体的实现方式可以有两种实现方式:
1、基于过程的实现方式(主动)
基于过程的实现方式,就是所说的的配置变化,通过中心触发的方式实现,服务器上所有的配置变化都是主动的而不是被动的,可以通过SSH的方式,也可以通过Agent的方式来实现。可以使用Ansible、fabirc的API或者salt的daemon,也可以自研daemon的方式实现。
2、基于结果的实现方式(被动)
基于结果的实现方式是指整个操作并不关心过程,也不是主动触发的,而是被动触发的,这种方式是基于Agent的实现方式。 运维人员对某台服务器的某个配置设置一个最终的状态,Agent获取这个最终状态后执行相应的操作,只要Agent满足条件需求,那么这台服务器最终所呈现的结果就是我们配置的结果,Puppet就是这种理念设计的,当然也可以自研。
总结:
整个运维管控系统还是比较大的系统,每一个子系统的功能的很复杂,而且还需要结合使用,整体的架构是分布式的,多种开源软件与自研系统结合的方式实现,大体功能和架构如上面所述,具体的实现上肯定会有很多细节需要攻克的。
PS: 这个功能和架构设计参考了腾讯的蓝鲸系统,并结合了Ansible、saltstack和puppet的理念,综合而成,而且其中的部分功能已经实现完成。
关于作者:
赵新宇,UCloud平台架构部,资深专家工程师,DevOps架构师。曾任新浪微博高级数据库工程师,唯品会资深数据库工程师。从事数据库、运维、自动化开发、中间层开发、系统架构设计等工作。
评论