【作者】Bryan 某国有大型银行资深架构师
一、业务方面
二、技术方面
云计算、大数据、人工智能等新兴技术使用进入深水区,分布式架构应用日渐广泛,DevOps、AIOps等新研发运维模式扩大推广。业务和技术的改变均带来极大的运维挑战:
1)分布式架构加剧运维复杂性
分布式微服务架构的推广使得交易链条变长,系统和应用各环节间的依赖关系错综复杂,仅单一环节故障就可能拖垮多个系统。从主机下移到开放平台后,裸金属、虚拟机、容器等物理资源数量呈现指数级增长。这使得监控节点增多且复杂、参数配置繁多且易出错。
2)信创设施稳定性有待时间检验
从各种异构CPU到操作系统,再到各类中间件,信创设施正在从外围系统逐步推广到核心业务系统。但各类产品之间及其自身的兼容性和稳定性的生产运行时间较短,尚未经过高并发、大数据量等各种复杂业务场景的验证,组织级信心还有待提升。
3)系统业务连续性要求更高
应用架构变化和基础设施升级给系统业务连续性带来挑战,运维工作正处于能力提升和爬坡的关键阶段。外部监管部门的运维要求不降反升,提出了更高的RTO和RPO的业务连续性要求。
4)新技术能力体系建设尚需时间
三、应对方案
面临数字化转型和信创带来的运维挑战,企业应建立以用户为中心的理念,全面对标行业最高运维标准,聚焦平台能力沉淀,建设可感可知、可管可控、可计可析的运维能力,全面提升企业运维水平。
1) 优化完善企业运维制度和机制
传统运维时,操作系统、中间件和网络等部门职责明确,易于定位,但是,云时代的容器等平台模糊了系统和应用之间以及系统内部的边界。在定位问题时,部门间的配合方式和职责都发生较大变化,传统机制难以适应,需要企业调整组织架构,优化各团队的技术背景。在研发部门,建立基础设施团队,发挥熟悉研发的特长,加强对研发团队的基础设施技术支持;在运维部门,在新技术运维团队中扩充具有操作系统、网络等多种技术背景的人员,降低运维团队之间的沟通成本,甚至从研发部门引入经验丰富的研发人员,提升运维平台的研发水平,加快应用故障的定位速度。
梳理现有规章制度和流程机制,结合新技术特点进行调整。比如,金融行业流行的WAS、Weblogic等换成了PaaS平台的Tomcat等轻量级中间件,这需梳理各部门对YAML文件的配置规范和职责分工。研发部门需配合运维做好应用就绪和探活的配置,运维部门配合研发做好应用资源的估算和弹性扩缩容配置。在生产故障时,传统方式下的中间件团队确认其正常后,即由项目组自行排查相关故障,但现在,则需各团队有序配合全方面的故障点定位,在故障定位前各团队难以自证无惯性。
2) 研发一体化运维管控平台
面临繁多的参数变更和冗长的交易链条等挑战,将各种繁重复杂的工作沉淀整合到一体化运维管控平台,聚焦监控告警、配置管理、变更应急、运维分析等领域的平台化建设。
面临开放平台几何级增长的软硬件资源,重点建设CMDB平台,形成统一的完整、全面、准确的资源视图。这有助于提升企业IT资产管理水平,有助于根据生产运行情况进行架构优化管控,如外部监管的数据统一报送、软件升级和漏洞防控等专项治理工作推进、研发运维的工作后评价、IT资产及关联关系管控等。
在监控告警方面,通过各类基础设施的管控平台实现全面的“点式”监控,通过全链路平台实现交易级的“线式”监控,通过IT资产平台实现应用间的“面式”监控。新型监控平台有助于事前建立视图、事中定位问题和事后预测分析。
在配置管理方面,结合业务系统的投产、变更和下线的生命周期,一方面建立各类投产变更流水线,避免出现参数配置的遗漏和错误,一方面通过历史版本的纵向对比和系统之间的横向对比,发现潜在的配置风险,生成优化建议。
在变更应急方面,在日常变更时,通过参数化脚本实现投产变更、应用验证和监控检查的常规操作,降低各类操作的难度,提升变更效率,减少出现风险。综合分析日常故障处置流程,对应用切换、服务启停、版本回退、故障隔离、限流等常规操作建立响应操作流水线,实现一键处置,最大限度降低故障的影响时间和范围。
在运维分析方面,研发智能运维分析平台,利用历史数据建立并优化各类AI运维模型,一方面预测系统容量需求并及时调整,一方面预测潜在故障并及时介入处置。
在容灾建设方面,建立两地三中心的常规化容灾演练机制,通过各类不定时切换演练发现运维短板和问题,确保发生生产故障时真正可切、可用。
3) 加强研发过程管控标准
投产前,按“所测即所投”的方式完成性能压测,确保关键交易性能等指标可满足预期生产需求。通过自研混沌测试平台逐步积累各类系统级和应用级的故障场景案例,在控制爆炸半径前提下进行多种类、多场景的故障场景测试,不断提升基础设施的健壮性、应用系统的可靠性和监控的全面性。将运维平台接口规范沉淀到研发平台,在减少研发工作量的同时提升应用的可观测性、监控的标准化和规范化。
投产后,建立生产事件单台账,全面分析问题根本原因,形成对应用研发指导的反馈闭环。比如,MySQL因美国夏令时的时区配置错误导致业务中断一小时,研发部门修改数据库配置规范和研发指导,对存量应用系统完成规范治理,确保不会出现类似错误。
4) 提升全员技能水平提升
在员工方面,在企业内部通过技术分享、专题培训等方式对员工进行分阶段、分类别的技能提升;强化个人专项技能的同时,不断扩充其技术视野。建立研发左移机制,让员工全程参与应用研发全过程,熟悉其技术架构;鼓励参加各类具有技术含量的官方认证考试,以考促练的形式逐步提升团队技能。
四、总结
觉得本文有用,请转发或点击“在看”,让更多同行看到
资料/文章推荐:
https://www.talkwithtrend.com/Topic/4549
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场