vlambda博客
学习文章列表

自动化运维平台中配置管理、脚本管理及自动化发布的 10 个难点

本文内容由多位社区会员贡献。整理者:zjwy82,某银行系统架构师,参与多个大型企业级应用的规划、开发与实施,对于传统企业级应用的自动化集成与部署有良好的实践经验。


1、自动化运维平台建设中的配置管理起到什么作用?

配置管理范围很大,在自动化中,不同领域关注信息不一样,如应用关注服务,系统关注服务器,网络关注交换机火墙及IP。自动化的操作要保证正确性,就依赖配置准确,合理建模,一个操作与预期是否一致,所操作的对象要准就依赖配置信息,配置要管理自动化自动化的操作要保证正确性,就依赖配置准确,合理建模,一个操作与预期是否一致,所操作的对象要准就依赖配置信息,配置要管理自动化自动化的操作要保证正确性,就依赖配置准确,合理建模,一个操作与预期是否一致,所操作的对象要准就依赖配置信息,配置要管理自动化。


2、配置信息库应该如何设计,既可以涵盖自动化所需的数据,又不庞大而繁杂不好管理?

配置管理是很古老的话题,在做自动化时可采取小而全大集权的模式。小而全是指各专业领域建立自己的配置管理子库,管理自己所需的数据。大集权是指配置项标准集中管理,专业领域横向依赖的信息集中管理,各子库作为数据源,集中库作为信息交换源。

子库建设为各专业领域的自动化提供依据,在自动化场景中应用配置信息,使得配置信息的准确。


3、配置信息如何利用自动化来实现动态采集?

配置信息的自动化采集需要预先建立一些标准,如配置项标准、采集模板、采集时序等,配置项要根据不同的产品类型设定,例如操作系统要区分Linux、unix等;采集模板在配置项标准上根据不同要求扩展。有了标准采集,设定相应采集时序,对采集内容进行定期采集入库管理,建立配置信息的基线。例如我们每天采集相应信息,与上一个基线比对,差异情况推送给相应负责人进行确认,根据确认结果更新基线。配置的准确性还依赖于使用,在使用过程中发现配置采集的准确性问题,修订配置项标准和采集模板。


4、应用运维自动化中的脚本标准化怎么做?

应用运维涉及到各式各样的应用系统,不同技术体系的产品,在做一些标准化时可采取封装嵌套方式,比如服务启停,针对Windows、linux、unix不同平台都封装了标准的统一启停脚本,脚本内部嵌套各个子服务的启停脚本,将差异性内容包装在内。这样在自动化应用中,关注的是外层的标准脚本,内部脚本可以按需修改调整。


5、自动化运维的核心是做脚本开发吗?

自动化运维不仅仅是实现日常运维工作脚本化的开发与管理,而应从组织、文化、管理和技术几个方面建立一个系统性的能力框架体系,形成一种运维长效机制,为数据中心向运营转型提供支撑能力。


6、自动化运维中的脚本怎么管理?

自动化离不开脚本,脚本管理上可以集中式管理和分布式管理(放在目标对象上),集中管理的好处是能够统一控制版本,避免同一操作在不同目标对象上执行不一样版本的脚本。分布式管理能够确保自动化平台对目标对象失去管控情况下的替代手段。在自动化运维时建议集中管理,能够控制版本一致性,同时可以对历史版本统一管理留存,执行时将脚本下发到目标机,可以确保一次操作的完整时序。


7、自动化发布的设计时,如何保证安全性和正确性?

安全性和正确性是自动化的基本要求。实际上这个问题在手工操作时也一样存在,只是杀伤面不一样。

对于自动化发布而言,要原子化,即操作任务拆解,应遵循单元操作功能简单,可回滚,可重新调度,可验证,有验证的原则。

安全控制依赖于多个层面,一是用户权限,要和现有用户授权平台对接(至少权限数据对接,哪些用户可用,哪些服务可操作),二是对象一致即配置准确,所操作服务器严格控制,三是开发测试生产对接,做测试。


8、自动化发布时各应用开发和运维人员如何实时监控发布的详细情况?

自动化发布的目标是将应用服务按需求正确部署,传统情况下我们都是通过登录主机操作,能实时查看到输出结果,这样的操作有既视感,让操作人员心安。而自动化后怎么监控的问题会在初期困扰运维人员,我们通过将日志准实时采集展示在自动化平台上实现对后台运行情况的监控。同时也在自动化的步骤中增加验证步骤,将原有通过人观察结果判断的方式转换成自动化判断方式。

对于开发和运维人员,通过前端显示流程执行进度、状态及后台输出等信息来实现等效的手工操作观察。

自动化运维尤其是复杂多变的发布,虽说可通过状态等自动判断和验证等多种措施保证正确性,但模拟常规的查看后台运行状态等准实时监视是非常有必要的。其他应用系统有多种业务验证规则并有相应的业务人员检查,还需技术人员监控查阅后台服务情况,自动化运维系统是业务与技术合一的系统,开发技术人员往往对自己的编程过于乐观,测试也很难百分之百到位,运维实施过程中监控后台运行情况就很有必要。


9、对于使用自动化运维平台进行大规模变更,应建立什么样的审核制度进行风险控制?

变更是运维中最常实施的场景,大规模实施的风险控制也是我们所关注的点。在日常工作中,变更从发起需求到实施需要经过需求评估、方案制定与评估、变更方案验证测试、变更方案评审、生产实施几个阶段。自动化的实施在流程上各个环节依然需要具备,同时在技术上,采取分批试点验证后集中实施的方式。总结来说,一是前期准备充分,二变更流程审核,三是试点实施验证,四是规模实施。


10、为了满足需求,以及需求的不断变化,运维操作的拆解,需要拆解到什么样粒度?

对于自动化操作拆解粒度,实际上也是自动化建设过程中的标准化过程。对于应用的自动化而言,由于应用系统的差异性,完全统一的标准化存在难度。但也应遵循单元操作功能简单,可回滚,可重新调度,可验证的原则。

觉得本文有用,请转发或点击“在看”,让更多同行看到


 资料/文章推荐:



http://www.talkwithtrend.com/Topic/7085


下载 twt 社区客户端 APP

与更多同行在一起

高手随时解答你的疑难问题

轻松订阅各领域技术主题

浏览下载最新文章资料

自动化运维平台中配置管理、脚本管理及自动化发布的 10 个难点

或到应用商店搜索“twt”