企业技术中台架构的演进是现代企业数字化转型的重要组成部分,旨在提升研发效率,保障服务的可用性,并优化资源的利用率。本文将深入探讨这一主题,主要分为四个部分:背景与思考、中台的演进、未来的演进以及关键技术实践。
背景介绍了一个成立于2015年的公司,专注于通过数据驱动智能电动汽车的发展,引领出行方式的变革。随着公司的快速发展和人员扩张,技术架构面临挑战,如缺乏基础平台设施导致的研发效率低下、技术规范不统一、可用性支撑手段有限等。为解决这些问题,公司开始构建基于Spring Cloud的微服务架构,采用Kubernetes进行容器编排,并实施DevOps实践,以提高开发测试效率和应用质量。
在中台的演进过程中,2018年4月启动项目,同年8月接入首个服务,12月推出中台1.0版本。至2019年,中台已支撑大规模项目落地,2020年进入平台稳定期。在此期间,中台演进了多个维度,包括可用性保障、支持多语言/GPU应用、应用层抽象提升效率和资源利用率。
在可用性保障方面,采用了服务治理功能,实现了业务系统的无损升级,例如通过Eureka AP模型确保状态一致性,采用滚动升级策略确保在升级过程中服务的连续性。同时,通过nvidia-device-plugin监控GPU资源,以优化资源利用,但同时也面临了如GPU资源分配不均和性能瓶颈等问题。
对于多语言和GPU支持,公司引入了Spring Cloud Sidecar,以支持Python、NodeJS和Web应用,实现异构系统的统一治理。然而,Spring Cloud Sidecar存在性能问题和资源占用过高,因此,公司探索了ServiceMesh的概念以进一步解耦微服务治理与业务逻辑。
应用层抽象是提升效率的关键,通过将DevOps流程应用到产品中,将部署架构经验封装成业务应用级别的管理。2019年,阿里云与微软联合发布的开放应用模型(OAM)进一步推动了这一进程,提供了跨集群部署、日志聚合、历史修订版管理和云原生告警等功能。
在提升效率和资源利用率上,公司着重于CICD的标准化和自动化,通过GitFlow固化流程,集成云平台、监控中心、质量平台和自动化测试。同时,对GPU调度进行了优化,结合gpushare-device-plugin和gpushare-scheduler-extender实现软隔离,以更有效地利用GPU资源。
总结来说,企业技术中台架构的演进是一个不断迭代、优化的过程,它涉及到微服务化、容器化、DevOps实践、服务治理、多语言支持、资源管理等多个层面,旨在构建一个高效、灵活且可扩展的技术基础设施,以适应快速变化的业务需求。