APP下载

一体化容器云平台的研究与实践应用

2024-02-17杨哲明瞿良勇倪智鹏郑小苗郑俊强

中阿科技论坛(中英文) 2024年2期
关键词:容器部署服务

杨哲明 瞿良勇 倪智鹏 郑小苗 徐 军 郑俊强

(国家管网集团浙江省天然气管网有限公司,浙江 杭州 310051)

当前,在企业数字化领域,如何满足业务部门庞大且零散的IT需求,成为众多企业信息化管理的巨大挑战。随着云原生应用概念及技术的发展,传统IT模式向云架构、云开发模式转型,并衍生出了“敏捷开发”“快速迭代”的迫切需求[1]。在复杂的供需环境中,物联网应用快捷开发平台正在快速地普及[2],敏捷开发模式实现软件快速生成和快速迭代,为工业软件开发提供了有益借鉴,云平台和云中台的模式提供了数据集中和软件模块功能复用的基础能力。

在智能化应用不断深化的情况下,天然气运营管理企业的传统的软件开发和管理模式已无法满足日益增长的业务需求和技术挑战,构建天然气“平台服务、资源集中、数据共享、开放兼容、安全可信”兼具的一体化、数字化智能平台已迫在眉睫。随着云计算、微服务和容器技术的快速发展,一体化容器云平台已成为企业现代化软件交付的重要基础设施。本文旨在采用一体化容器云平台来优化软件开发和管理流程,提高运营效率、降低成本并增强安全性。

1 一体化容器云平台研究背景

随着云计算和DevOps的发展,容器技术越来越成为企业应用程序开发和部署的标准[2]。相比于传统的虚拟化技术,容器化一体平台可以提供更高效、更灵活、更可靠的应用程序部署和管理方式,在企业业务快速部署中至关重要。首先,一体化容器云平台提供了一种标准化的部署和管理方法,使企业能够更高效地开发、测试和部署应用程序,这种标准化有助于降低错误率,提高可维护性,并减少部署时间[3]。其次,一体化容器云平台在企业级环境中支持大规模和复杂的应用程序架构,通过容器编排工具,企业可以轻松地管理多个容器实例,实现自动化的扩展和负载平衡,从而更好地适应变化的工作负载[4]。最后,一体化容器云平台有助于提高敏捷性和创新力,使企业能够更快速地响应市场变化。建设一体化容器云平台是多方面的综合性需求,其必要性主要包括以下几个方面。

高效性和灵活性。容器化允许将应用程序及其所有依赖项封装在一个一致的环境中,从而提高了部署的一致性和可靠性,帮助企业更加高效、更灵活地应对变化。

持续交付和部署。企业需要提升敏捷开发能力,通过持续集成和部署实现更迅速、可靠地交付和部署新功能,从而帮助企业更快适应市场发展变化,使企业更具综合竞争力。

资源优化。企业需要更有效地使用基础设施资源,通过轻量级的容器实例提高资源利用率,实现优化成本,并提供更好的资源管理。

安全性和可维护性。企业需要增强安全性功能,如镜像签名、访问控制等,帮助保护企业级应用程序。通过容器的轻量级和可插拔性来提升系统的可维护性。

团队协作和集成。基于统一的一体化容器云平台环境,统一的界面和工具链实现更加无缝的集成,更方便共享和重用组件,促进开发、测试和运维团队之间的协作,并有助于提高企业技术团队效率和协同工作。

一体化容器云平台在企业级部署中的效率、灵活性、成本、安全性和团队协作等方面具有综合价值,可以帮助企业能够更好地适应快速变化的业务环境。

2 信息化现状

在实施一体化容器云平台之前,企业各系统大部分为不同的开发团队独立实施,各系统是典型“烟囱式”系统,不可避免地存在一些弊端。(1)各系统虽共用同一个PG数据库,但数据互相独立,不同系统之间的相同数据各自存储,形成了数据“孤岛”和重复建设,在后续的运营维护过程中,用户需对同一份数据在不同存储位置进行重复修订以满足不同应用系统的需求。(2)系统间应用的功能复用性较差,常见业务系统的一些通用业务功能重复建设,如权限管理、流程审批、组织架构管理等。随着业务需求的不断增加,业务应用不断扩展,传统自下而上、螺旋上升的方式开发软件系统,既造成了资源成本浪费,也大大影响业务应用的快速迭代。(3)企业在软件开发过程中虽然制定了相应的数据格式标准,但在软件开发过程中对代码规范、发布、测试、质量、中间件服务版本约束等尚未形成统一标准,因此导致已开发的系统存在各式各样的中间件服务情况,给后续项目生产运行过程中的运维工作带来极大的挑战。

3 一体化容器云平台建设研究及实践

3.1 平台建设思路

建设一体化容器云平台,天然气运营管理企业需要明确自身的需求和目标,选择适合的一体化容器云平台。结合企业现状及需求分析,一体化容器云平台实施核心目的是打造企业级工业生产应用平台,支撑面向不同业务场景的上层应用开发管理、运行监控及持续迭代,有效支撑驱动天然气运营管理智能化发展。

企业选择一体化容器云平台需要考虑平台的成熟度、可扩展性、安全性、易用性以及与其他系统的集成能力等关键因素,并在部署实施中需要重点关注三个问题。一是内部工业数据的统一存储及数据服务,应采用何种类型的基础设施支持提供低耦合数据服务以便于更好地支撑上层业务需求;二是提供稳定及标准化的容器运行及管理平台,保障应用的生产运行工作,实现对容器平台的监控管理,并提供对应用从编码、测试到发布运行的持续集成工作;三是为了实现业务应用最小化开发,将通用业务功能抽离为独立服务[5]。

3.2 平台建设目标

一体化容器云平台的实施内容主要包括统一数据中心、统一公用基础服务、统一业务PasS服务及管理控制台等四个部分。平台面向天然气运营管理企业工业生产应用数据统一的需求进行完善和定制,聚焦企业已有的系统和应用模块,在Kubernetes、Docker虚拟化集群技术、微服务中心、分布式存储等基础上开展容器化平台和统一数据中心的建设,使其拥有资源调度的能力。另外结合不同场景及业务流程,基于微服务、分布式存储、业务流程等为业务应用提供数据服务、通用中间件服务、应用总线服务,实现工业应用的质量体系标准及快速构建迭代。通过容器一体化平台、公用服务建设以及Devops管理中心建设,实现一体化容器云平台的建设目标。

容器一体化平台。提供自建系统部分的技术支撑能力,解决基础设施、分布式数据库等底层技术问题,为前台提供有效支撑。

公用服务建设。分为公用基础服务与业务服务两部分,对通用的技术服务及业务服务能力进行标准化定义,并提供给上层应用调用,包含权限认证、流程管理、统一消息推送等。

Devops管理中心。结合Jenkins的自动化构建功能的发布平台形成Devops一体化平台,应用开发、编码、交换、测试、发布、更新等进行流程化标准化制定,结合微服务框架等功能组件,提供整套基础架构、能力,提升上层应用的管理度量效率。

3.3 平台关键技术

持续集成。持续集成采用GitLab代码管理技术,它是一种集成了版本控制和自动化构建、测试和部署的软件开发实践。通过使用GitLab,开发团队可以方便地管理代码仓库,并利用GitLab将代码频繁地集成到主干。GitLab提供了强大的版本控制功能,支持分支管理和合并请求等操作,还集成了问题跟踪、代码审查和团队协作等功能,帮助团队高效地协作和管理代码。

基于轻量化云的持续交付。环境配置采用代码形式写入YAML文件,确保了环境的统一和可控。借助Kubernetes的资源调度和分配功能,有效提升资源的利用率。对于中小型系统,初始化一套完整的环境变得轻而易举,通过不同的脚本满足不同测试的环境资源需求。这种配置方式简化了环境搭建过程,提高了开发效率[6]。

平台流程定制化。平台使用技术中台PaaS组件存储海量分析数据,建立分析管道。度量管理可以满足不同维度视角的需求,通过Grafana配置多个模板,实现度量视图的自定义,支持图标位置拖拽和编辑,自动增加新的组件,并支持按照自定义视图发送通知等。此外,对每项指标的走势进行跟踪和定位,找到能够反映出问题的度量数据,并驱动团队改进。

3.4 平台功能架构

平台功能架构上分为应用层、网关层、服务层、存储层和容器层等五个部分,在架构上提供了清晰的层次划分,使得各层之间的功能明确,便于维护和扩展。应用层负责处理与用户交互的逻辑,网关层作为接入点,服务层提供业务功能,存储层负责数据存储,容器层则提供运行环境。这样的架构有助于提高系统的可扩展性和可维护性。具体架构如图1所示。

图1 平台功能架构

3.5 平台建设内容

3.5.1 基于Kubernetes+Docker的一体化平台建设

基于Kubernetes+docker原生云建设,采用Kubernetes实现轻量化云平台解决方案。调度和编排是集群管理的重要组成部分,容器管理包括从一个集群中添加或移除主机、获取宿主机或容器当前的状态信息、启动或管理进程,通过搭建容器化的集群,实现自动化部署、持续集成和服务管理[7]。它强调自动扩展、安全配置、监控和版本控制,以提供高效、稳定和易维护的应用环境。

3.5.2 PaaS层公用基础服务组件建设

对行业应用软件通用组件库和通用工具实施部署。项目的实施将为应用软件开发提供完善的集成一体化开发环境,构筑在标准化零部件基础上的高效率、高质量的新型生产方式。为支撑顶层应用开发及中台实施,基础服务主要包括消息队列、缓存、ELK组件、配置中心、网关、任务调度、文件服务以及ETL组件。

3.5.3 PaaS层公用业务平台建设

统一认证。基于开源成熟的认证产品Apereo CAS,构建本地化的高可用认证平台。可供本地系统以各类标准协议(如CAS、SAML、OAuth等)接入,并实现本地系统间的单点登录。后端以标准LDAP协议对接身份数据源,可对接现有AD服务器,未来也可根据需要进行切换。

统一身份。基于现有AD服务器,支持辅以自定义用户身份数据源用以解决外部用户,对各个应用系统提供统一身份信息获取服务。

统一权限。用户访问权限管理,通过本地构建用户权限管理平台,实现用户在各应用角色、菜单及操作权限的统一查看、维护。权限管理平台提供标准的对外接口,各应用系统可订阅权限管理平台的数据,接收权限调整数据,实现“权限一处调整,多系统生效”。

统一流程。通过对流程平台的服务化封装,形成流程接入的标准和规范,使流程平台具备为其他各类应用系统提供流程接入服务的能力,打造企业级的统一流程平台,实现流程统一开发、待办统一处理、系统统一运维。

统一消息告警。各系统模块可以通过消息队列向消息告警中心推送标准化的告警消息。用户可以在告警中心直接查看消息,也可以通过对接企业自有的短信等消息渠道,实现告警消息到用户端的精准送达。

3.5.4 应用场景验证迁移

应用场景验证迁移工作针对当前的部分应用场景的各所属业务系统进行测试。主要工作为配合第三方应用开发商,实现对第三方应用业务系统的容器化迁移工作,在业务功能上覆盖了对实时数据采集、微服务应用、前端展示等一系列研究及实施动作。

(1)数据迁移。根据应用所需要的历史、实时数据需要同步迁移至一体化容器云平台的数据平台进行存储。

(2)微服务应用迁移。按照一体化容器云平台的开发流程及规范迁移微服务应用,并加入自动化测试,对应用进行通用的测试能力,最后实现镜像打包一键部署。

(3)前端迁移。前端应用也按照容器化规范进行容器化。

(4)验证测试。在完成迁移后,针对两个应用场景在容器化环境内进行压力测试和性能测试,以及针对两个应用场景进行功能性验证测试。

4 一体化容器云平台实施总结

4.1 总体效果分析

一体化容器云平台在天然气运营管理企业实施,帮助打造企业级的“基于物联网、云技术的省级天然气智能平台”,能快速面向天然气运营管理企业工业生产应用通用服务的需求进行完善和定制,聚焦天然气运营管理企业已有的系统及应用模块,支撑面向不同业务场景的上层应用开发管理、运行监控、持续迭代,驱动天然气智能化发展。

一体化容器云平台拥有资源调度的能力,结合不同场景及业务流程,基于微服务、分布式存储、业务流程等为业务应用提供通用中间件服务、业务公用服务,实现天然气应用的质量门禁标准及快速构建迭代。平台重点解决了三个问题:(1)内部来自“天然气产业完整性”的业务数据和技术数据统一存储及数据服务,应用基础设施支持提供低耦合数据服务,以便于更好地支撑上层业务需求。(2)提供标准化的容器运行及管理平台,保障应用的生产运行,实现对容器平台的监控管理功能,并提供对应用从编码、测试到发布运行的持续集成工作。(3)为了实现业务应用迭代更新,打造标准化、模块化的SaaS服务模块,为今后数字化推广提供赋能平台市场化应用。

4.2 功能价值分析

通过实践验证,一体化容器云平台在天然气运营管理企业的应用中具有以下价值点。

(1)跨平台和可移植性。一体化容器云平台允许将应用程序及其所有依赖项封装在一个一致的环境中,提高了可移植性,使应用程序能够在不同环境和云平台上运行,增强了灵活性。

(2)效率和资源利用。容器是轻量级的,启动迅速,减少了虚拟机的开销。这导致更高的资源利用率、更少的部署时间以及更高的整体系统效率。

(3)持续交付和部署。一体化容器云平台与持续集成和持续部署(CI/CD)流程集成,使得开发团队能够更快速、可靠地交付新功能,从而缩短了开发周期。

(4)提高软件开发效率。通过自动化的构建和测试流程,开发人员能够更快地交付高质量的代码,同时统一的开发、测试和生产环境也减少了出错的可能性。

(5)增强可伸缩性和弹性。一体化容器云平台允许公司根据业务需求灵活调整资源,确保应用的稳定性和可用性。此外,通过容器编排与管理系统,公司可以轻松实现应用的自动扩展和负载均衡。

(6)提升安全性。通过隔离的运行环境和细粒度的权限控制,减少了安全风险,并增强了数据保护能力,同时监控与日志系统可以实时监测和处理潜在的安全威胁。

(7)降低运营成本。通过部署一体化容器云平台,公司可以更有效地利用资源并提高应用性能,自动化的运维流程也减少了人工干预和错误发生的可能性。

一体化容器云平台为企业提供了更灵活、高效、安全的应用程序部署和管理方式,有助于推动数字化转型和业务创新。

4.3 实施难点分析

尽管一体化容器云平台在天然气运营管理公司中具有多方面的显著优势,但在平台实施过程中也面临一些困难挑战。

(1)技术复杂性。容器技术相对较新,需要员工具备相应的技能和知识。为了应对这一挑战,公司需要加强员工培训和技能提升工作。

(2)集成与兼容性。与公司现有的系统和工具集成可能会面临一些挑战。为了确保平台的顺利集成,公司需要与供应商紧密合作并进行定制开发。此外,在选择新组件和技术时需要考虑与现有系统的兼容性问题。

(3)安全管理。随着容器数量的增加,安全管理变得更加复杂。为了应对这一挑战,公司需要加强安全策略和监控措施,并定期进行安全审计和风险评估工作。此外,还需要关注容器的安全配置和补丁更新问题。

(4)成本控制。引入一体化容器云平台可能会增加一定的成本投入。为了合理控制成本并确保投资回报率,需要进行充分的成本效益分析。

5 未来应用展望

随着技术的不断进步和需求的增长,一体化容器云平台在天然气运营管理公司的应用中将呈现以下发展趋势。

(1)实时监测与响应。平台可加强对天然气运行的实时监测,以便快速识别潜在问题并实施及时响应,提高运行效率和安全性。

(2)大数据分析。利用容器云平台的弹性和扩展性,进行大规模数据分析,以优化天然气生产、储存和运输过程,提高系统智能化水平。

(3)物联网整合。整合物联网设备与传感器,实现设备之间的无缝通信,以提高设备监测和远程操作的精度,降低潜在风险。

(4)安全性和合规性。强化在容器云环境中的数据安全性,并确保符合行业和法规的合规性要求,以降低潜在的安全风险。

(5)可持续性和环保。将可持续性原则融入容器云平台,以支持天然气运营管理公司实现更环保、可持续的运营方式。

猜你喜欢

容器部署服务
Different Containers不同的容器
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
部署
难以置信的事情
服务在身边 健康每一天
服务在身边 健康每一天
服务在身边 健康每一天
招行30年:从“满意服务”到“感动服务”
部署“萨德”意欲何为?