关键词:
自动化
基础平台
DevOps
应用视角
根因分析
摘要:
随着移动互联网爆炸式增长发展给金融行业带来了巨大的冲击和挑战,被迫考虑转型和调整。为了适应金融行业不断变化的业务需求和访问量而开始对传统应用架构进行分布式改造、微服务改造,实现持续集成/部署/交付/测试、支持弹性伸缩、灰度发布、蓝绿部署等能力,而DevOps自动化运维平台恰恰可以很好的支撑上述需求。按照DevOps的三步走,即应用CMDB、自动化调度引擎、CI/CD与应用监控去建设Paa S(Platform as a service)平台将有助于实现这些目标。第一,现行的配置管理大多未深入关注基础资源,缺少应用层面的视角,其模型动态性不足,且常常为具体场景设计得过于复杂,而在IT架构的策略思维上显示不足。这种情况使得开发、测试与运维之间的协作变得困难,难以针对应用系统、技术架构和部署架构进行有效拆分,也未能实现配置信息在不同环境间的参数化管理。本研究采用面向对象的建模方法,针对业务系统间因技术架构和部署结构差异所面临的问题,提出了一套解决方案,以实现应用与环境之间的解耦合。此举不仅消除了在开发、测试和生产环境中应用发布、运维工具和系统巡检的差异,在多个数据中心及混合云环境中轻松配置应用,并支持持续交付。同时,利用应用CMDB确保了各平台数据一致性的维护。第二,为了使原子化工具面对复杂的运维事务有贴合度,而不仅是处理简单运维场景,本文通过开发调度编排引擎,将一个个原子化工具进行自由组合、逻辑编排与链接,中间原子化工具的输入则是来自上一个逻辑原子化工具的输出,以适应金融行业复杂多变的运维事务场景,如行情切换、转分期对账、扩容与缩容等。在为不同的运维人员在执行统一运维活动时,提供规范和可靠的保障以及效果和质量的一致性。第三,由于之前传统部署方式耗时太长导致无法适应银行业务更新,出现业务去适应匹配技术的现象,为此本文结合DevOps理念实现的CI/CD方法对比传统部署和发布,可减少至人天数为191.835人天。以单台IDM认证模块两次不同部署场景为例。首次安装时,手工是8h,自动是38s;更新时,手工是20min,自动是6s。此模块共有11个环境,21台服务器,每次测试环境迭代发生8次部署,生产环境每次迭代产生一次发布。传统部署是20min*(18*8+3)≈49h,自动部署是6s*(10*8+1)≈8.1min。总之,设计出适用于金融行业DevOps自动化运维系统平台,对IT服务资源进行有效的管理、运维场景和发布部署自动化,并呈现资源关系拓扑可视化、数据分析可视化和对外接口开放等能力,能够为资源变更影响分析、资源故障分析提供科学辅助决策功能。