APP下载

基于微服务架构的铁路多云管理应用实践探索

2021-03-09刘志勇

铁路通信信号工程技术 2021年2期
关键词:多云运维架构

刘志勇

(中国铁路北京局集团有限公司天津电务段,天津 300140)

1 铁路行业多云管理发展现状与需求挑战

国内铁路行业快速发展,截止到2019 年年底,国内铁路运营里程达13.9 万km 以上,其中高铁3.5 万km。“交通强国、铁路先行”发展战略的要求下,以及铁路“客运高速化、货运重载化、运输生产智能化”的发展背景下,铁路的重要信息基础设施云平台管理,尤其是多云的管理被提升到了一个新高度,对于推动铁路智能化发展将起到至关重要的作用。

铁路信息化进程中,在单项业务应用和专业级业务应用方面成效显著,部分应用甚至已经达到世界铁路先进水平。但由于长期处于分散建设,分散运维阶段,信息孤岛问题突出,信息和信息基础设施共享均出现较大阻力,信息基础设施资源利用率不高,对于全面提升业务能力支撑不足,与其他行业内的领先企业亦存在明显差距。

在铁路企业云化转型的过程中,随着信息化的发展和深入,往往在一个集团下属不同企业间,以及企业内部各专业间和部门间,同时存在多种不同厂商或不同类型的云平台。迫切需要一套统一的云管理平台,对信息基础设施资源进行优化整合,实现多个云平台的统一管理以及各类资源和服务的全生命周期管理,推动资源管理标准化和服务标准化,提升企业信息化管理效率。多云管理用户需求梳理如下:不同云平台需要统一管理;资源申请、日常运维需要自主化、流程化;资源池需要全面综合运维监控;资源池需要进行统一运营管理;日常的软件、系统安装工作重复、耗时长。

铁路企业多云管理过程中,面临着一系列的挑战。如:1)不同资源管理复杂难度大。反复登录多个不同管理平台,不仅管理效率低下,更不易于全局角度监控所有资源的运行、使用状态的管理;2)原有资源难以充分利旧。云平台建设之前投入使用的IT 设施,如何让这些原有投资设施得到充分的利旧,并减少管理多套系统带来的运维负担;3)权限管理维度不一致。面对不同的专业、不同的部门、不同的用户等级,如何为多租户在线提供不同权限的服务;4)资源浪费严重、成本不透明。面对各类资源池如何快速了解实际使用情况,提供资源分析、成本预测,并给出资源优化建议,以及各业务部门或团队的费用分摊应该如何管理。

针对上述需求和面临的挑战,结合其他行业在使用云平台和运维云管平台过程中的经验,提出搭建统一的多云管理平台,通过多元管理过程中的诸多技术,如:多云编排技术、云资源管理技术、负载均衡技术、统一身份认证技术(提供LDAP、SAMLv2、OpenID 等多种外部认证接口)以及底层的资源适配管理技术等来解决“不同资源管理复杂难度大”、“原有资源难以充分利旧”、“权限管理维度不一致”和“资源浪费严重、成本不透明”的问题。

2 多云管理平台综述

2.1 多云管理平台概念

多云管理平台指的是可以同时管理包含多个公有云(不同厂商、同一厂商不同配置)、多个私有云、混合云以及各种异构资源的统一管理平台。 能够以在线自动化的方式面向铁路业务应用人员、信息系统开发人员、信息基础设施运维人员提供应用运行资源环境服务以及全生命周期管理,同时能够整合运维支撑工具,面向信息基础设施管理员提供多云环境下的运维、管控、运营服务,方便信息基础设施管理员简化多云环境下的工作。同时,通过多云管理平台的跨云管理能力,实现跨云厂商的资源调配,提升云资源的利用率,降低企业成本。

2.2 多云管理平台体系架构

多云管理平台主要承担着将多云和异构资源转化为云服务的任务。面向管理员提供管控、运营和运维的能力; 面向用户提供自助服务能力。因此,其体系架构可以自底向上大体归纳为如下模块:资源适配模块、多云编排模块、云管理模块、云运营模块、云运维模块和门户。多云管理平台采用微服务架构将上述模块进行统一注册和治理,各个模块具有一定独立性,便于升级、维护和替换。统一信息基础设施、5 个功能模块和1 个用户和管理门户的多云管理平台体系架构如图1 所示。

2.3 微服务平台参考模型

微服务是指将大型复杂软件应用拆分成多个简单应用,每个简单应用描述着一个小业务,系统中的各个简单应用可被独立部署。各个微服务之间是松耦合的,可以独立地对每个服务进行升级、部署、扩展和重新启动等流程,从而实现频繁更新而不会对最终用户产生任何影响。微服务平台参考技术模型,如图2 所示。

图1 多云管理平台体系架构Fig.1 Architecture of multi-cloud management platform

图2 微服务平台参考技术模型Fig.2 Reference technology model for microservice platform

2.4 微服务能力要求

图3 微服务能力框架图Fig.3 Microservice capability framework

相比传统的单体架构,微服务架构具有降低系统复杂度、独立部署、独立扩展、跨语言编程等特点。微服务架构的能力体现在:1)多语言支持。微服务框架支持多种编程语言的适配,降低开发门槛。2)负载均衡。支持按照权重、轮询、随机等负载处理策略。3)服务通信。基于微服务的分布式应用,采用进程间通信实现服务间的交互,进行数据和信息的交换。4)服务注册。微服务注册通过服务中心完成,微服务启动过程中,自动向服务中心进行注册。5)服务跟踪。服务跟踪通过服务中心完成,通过一种方式来获取服务列表,并且这个服务列表是能够随着服务的状态而动态变更的。6)流量控制。利用软件定义来实现对于网络流量的控制。7)服务契约。支持统一的微服务契约接口描述,符合Open API 规范。8)服务路由。根据预置路由策略将请求转发到微服务上,且快速生效。9)服务容错。自动在应用层面实现平衡的故障处理,如快速失败重试、故障转移、并行调用、故障沉默、失败缓存等。10)熔断隔离。支持对故障节点的快速转移、停止服务,支持进程级的故障隔离。微服务能力框架如图3 所示。

3 多元管理应用实践

3.1 多云管理的关键因素

1)一致性云管平台

高效的数据管理或者信息管理必须具备一致性管理平台。大多数云管平台都带有原生的数据管理解决方案,理想的数据管理解决方案,应当跨所有本地和多云环境提供一致的管理;提供高效便捷的数据备份方式,满足随时随地的数据备份和管理需求;提供数据和信息的高可靠性和安全性,从而提升多云环境下的管理效率并保持业务连续性。

2)高效的云迁移

不同云之间的数据迁移以及同一云平台不同区域之间的数据迁移都会产生成本。云间迁移的数据量越大,相应成本越高。理想的解决方案将利用压缩和数据去重功能来减少数据迁移所需的带宽消耗。利用源端去重和全局去重,统一的多云管理平台可以帮助企业节省大量数据迁出的成本。

3)云原生部署

通过基于二进制对象的存储可以在运行中增加存储空间,而不会增添虚拟机上的存储。当处理夜间备份工作负载需要更多计算资源时,理想的解决方案可以横向扩展,拥有生命周期策略和存储分层功能,以满足增加的工作负载,同时当计算需求停止时,该解决方案可以自动缩减存储。

3.2 多云管理典型场景举例— 云迁移

铁路企业在进行多云管理应用实践过程中,会遇到很多具备铁路特色的典型应用场景,如:云迁移场景,Spring-cloud 向 Service-Mesh 迁移,详细步骤如下。

步骤1:Spring Cloud 架构解析。目的在于确定需要从当前的服务中去除与Service Mesh 重叠的功能,为后续服务替换做准备。可以替换的组件包括网关、熔断器、注册中心、负载均衡、链路跟踪及其客户端。

步骤2:服务改造。基于第一步的解析结果,完成依赖去除或者依赖替换,改造分为三步: 1)删除组件,包括网关,熔断器,注册中心,负载均衡,链路跟踪组件及对应client 的SDK;2)替换组件,采用httpClient 的SDK 支持http 协议的远程调用(原来在feign 的Ribbon 中),由原来基于注册中心的调用,转变成http 直接调用;3)配置信息变更,由实际情况决定。

步骤3:服务容器化。服务容器化是目前应用部署的趋势所在。服务容器化本身有很多不同的方式,例如基于Jenkins 的pipeline 实现,基于dockermaven-plugin + Dockerf ile 实现,人工搭镜像。

步骤4:容器环境构建。选择Kubernetes 来构建容器环境,该环境的构建由云平台赋能。

步骤5:Service Mesh 环境构建。依赖于容器环境构建,以Istio 为例包括插件部署和跨集群部署。

步骤6:服务注入。以Isito 为例说明,主要包括自动注入和手动注入。选择手动注入的目的在于可以根据企业内部上线流程,对服务接入进行人为控制。而自动注入则能够更加快捷、方便。到此步骤实际上已经完成服务迁移工作。

步骤7:服务管理控制台。可以在Isito 安装过程中选择kiali 作为一个控制台实现,当然未来也会有大量的企业提供专门的服务。

3.3 多元管理的成效

1)安全可信、灵活定制

多云管理平台同时满足高安全等级保护、可信云认证对系统和数据安全的要求,又针对高速铁路、货运铁路、市域铁路等生产系统的特点在网络接入控制、网络隔离、接口保护上做了增强。全方位保障平台和业务系统环境的安全可信。

针对不同规模企业和组织的需求,多云管理平台可提供试验局配置、小规模配置、计算密集型配置、存储密集型配置、标准配置,从3 ~500 台节点规模的多种系统配置方案。针对试验期、试用期、过渡期、服务期可灵活定制服务器数量和软件部署方式,在保证相应级别RMAS 的同时支持平滑扩展。灵活定制的特性符合铁路企业的建设思路,能够以最优方式控制投资规模和节奏。提供多种操作系统的镜像,以及用户自定义的镜像,用户可以通过自定义编排模板进行业务系统软件部署的流程编排,实现业务系统的一键部署。平台还提供容器集群服务,支持业务应用的容器化部署及编排。

2)全局监控、简化IT 管理

自定义全局监控是提供给用户自由定义监控项及报警规则的一项功能。通过此功能,用户可以针对自己关心的业务进行监控,将采集到的监控数据上报至云监控,由云监控来进行数据的处理,并根据结果进行报警。

基础设施资源统一管理:实现对异构的服务器、存储设备和网络设备的统一资产登记和状态管理。软件定义资源的在线交付。用户可以通过界面进行云平台虚拟资源的申请和审批,管理员通过在线开通,实现云主机的批量发放,让用户在30 min 内就可以获取需要的计算和存储资源。通过裸金属管理的功能,实现独立物理服务器资源的在线开通和交付。

3)敏捷可视化运维、统一认证

基于分布式和微服务架构,多云管理平台可以实现节点的动态扩容、组件独立升级以及故障隔离和快速恢复,帮助运维人员实现业务无感知的运维。实现网络拓扑可视化和连接状态可视化,并当新节点接入系统时,可以自动发现新节点并添加到拓扑图中。实现自定义告警策略,根据不同异常情况实现不同告警等级。可以通过邮件、短信、微信、声光电多渠道告警通知。

统一的身份认证服务器实现云管平台和监控平台用户的统一身份认证,同时提供了基于LDAP、SAMLv2、OpenID 等多种外部认证接口,可以轻松与企业既有的认证管理系统对接。

4 总结

多云管理平台概念的提出,以及统一信息基础设施、5 个功能模块和1 个用户和管理员门户的多维度的多云管理平台体系架构的提出,是多云应用实践在铁路行业的初步探索,通过整合铁路企业的信息基础设施以及云管平台的搭建,不断摸索梳理企业信息化进程中的经验和教训,并且取得了一定的成效。后续的工作将继续加大在云平台管理关键技术的应用研究,如云原生技术、容器技术、裸金属技术等,不断夯实云平台作为信息基础设施的关键定位,有效的推动铁路企业信息化的进程,提升企业智能化的水平。

猜你喜欢

多云运维架构
基于FPGA的RNN硬件加速架构
高速公路智能运维平台
功能架构在电子电气架构开发中的应用和实践
向日葵·成长·礼物
构建富有活力和效率的社会治理架构
运维技术研发决策中ITSS运维成熟度模型应用初探
何氏“十全大补粥”
配电线路的运维管理探讨
基于一体化的变电标准运维模式
VoLTE时代智能网架构演进研究