标题 | 基于PaaS平台的开发运维一体化实践 |
范文 | 张继东 曹靖城 王猛德 1引言 移动互联网时代,传统IT架构难以响应业务快速变化的需求。通过分析传统IT架构存在的问题,探讨通过统一PaaS平台构建一体化的开发运维体系,快速完成产品的开发、上线和迭代,助力业务持续创新和发展。 技术不断发展,市场瞬息万变,“快人一步”正成为企业的核心竞争力之一。但受限于传统IT架构的束缚,传统企业(非互联网企业)开发运维模式僵化、开发与运维之间存在鸿沟、自动化和敏捷性不足,难以响应移动互联网时代快速变化的客户需求和持续创新产品需要。此外,在传统IT架构下,还存在诸多其他问题,例如:IT系统烟囱式孤立建设,能力不能复用,业务上线的周期长和资源利用率低下等。 随着近几年云计算技术与IT架构的演进变革,PaaS平台作为新一代的云计算架构。基于PaaS平台实现开发运维一体化成为解决传统开发运维模式弊端的有效方式,能促进传统IT架构转型,为业务应用的持续创新和稳定运行提供有力的保障。 2整体思路 基于PaaS平台,采用容器、分布式计算、微服务架构和CI/CD等关键技术,将传统IT系统架构改造为一个面向敏捷开发和自动化运维的企业级云计算架构,如图1所示,实现开发运维一体化。首先,实现平台级服务的资源共享,提供集成化、标准化和全栈化的技术组件能力;其次,规范IT技术标准和开发运维框架,支持各种应用堆栈;最后,集成开发运行一体化环境和CI/CD技术,打通开发、测试、部署和运行的整个流程环节。
3主要实现路径 3.1统一IT技术框架,建立PaaS平台技术标准和规范体系 PaaS平台接入和承载的业务系统越多,资源和技术组件的管理难度越大,运行风险越大,这就需要标准和规范来保障平台功能的发挥效果,保证平台具备高效的运维效率,还能促进应用标准化和服务接入的规范化。 因此,要统一IT技术框架,建立PaaS平台技术标准和规范体系,包括PaaS平台运维管理办法、软件开发技术标准与规范、PaaS服务技术标准和使用规范、微服务架构开发指导、CI/CD应用配置手册、应用发布规范和基于容器的应用接入规范等。 3.2统一管理调度资源,构建弹性计算能力 首先,通过相应的接口对接IaaS资源,由PaaS平台集中调度网络、I/O和存储等底层IaaS资源,向下为应用屏蔽底层基础资源差异,向上提供统一的资源视图和能力,包括集群、物理机、虚拟机、分布式存储和网络接入等。 采用Docker,Kubernetes,Kvm等技术构建基于容器、物理机和虚拟机的弹性计算平台,如图2所示,提供弹性扩展、按需分配和动态调整的计算服务。其中,特别是以弹性容器调度为支撑实现应用的容器化能力,一次构建、到处运行,解决了环境差异、部署架构复杂等问题,应用也可以更快速地交付、部署、迁移和扩展。另外,PaaS平台具备高可用的集群架构,当应用异常或主机异常时,平台业务不受影响,且能自动恢复。
3.3集成各類基础组件,构建平台化的组件能力 通过分布式计算技术、服务化解耦和公共能力提取等方法,将原来的烟囱和复杂的各类基础组件,封装、整合形成平台化的技术能力,为应用的开发运维提供标准化、一体化的组件服务。平台提供应用中间件、数据库、微服务框架及核心组件服务、域名解析和负载均衡等一系列支撑应用服务,如图3所示。
应用开发者根据自己的技术需求到平台查找、选用组件,不用再关心技术组件的安装部署细节和生命周期管理,可快速搭建自己的开发、测试和生产环境,真正实现业务支撑的“快速开发、快速部署”目标。 3.4构建CI/CD流水线,打造一体化的开发运维流程 PaaS平台构建软件CI/CD流水线,管理运行在PaaS平台上的各个租户在各阶段的不同环境发布过程,形成持续的工程交付,支撑应用快速迭代部署上线。CI/CD流水线采用目前最流行的开源软件和工具,包括Jenkins,GitLab,Maven,Test Link等,经过改造搭建端到端的交付流水线,打通开发、测试和运维之间的障碍,实现一体化的开发运维流程,如图4所示。其包括以下几个重要环节: ①需求与开发:本环节提出需求,并整理分析,过程中形成的文档或者知识点,保存在知识库中统一管理、共享,完成后提交给开发人员进行代码开发。 ②持续集成:开发人员根据用户需求编写好代码后,提交代码给Gitlab代码仓库,由平台自动做代码质量检查、编译、打包、构建和生成应用镜像,推送到镜像仓库集中管理。 ③持续部署与测试:将应用镜像通过CI/CD自动部署到测试环境,采用系统自动+手动完成UAT测试、用户测试和性能测试。 ④上线运维:应用上线时,运营人员选择不同运行环境对应的配置信息,拉取对应环境下镜像仓库中的镜像,配合CD流水线,实现应用自动化上线。
3.5集中化平台运维,实现端到端的闭环运维保障 为解决传统烟囱式运维的局限和不便,PaaS平台建设集成了一系列功能完善的运维应用,包括服务流程平台、CMDB配置管理库、运维自动化、集中监控、日志中心、预警中心、数据备份、知识库、安全审计和分析报表等,基本涵盖了各种运维场景,并由PaaS平台统一管理、集中运营,实现了端到端的闭环运维保障。 4结束语 传统企业基于PaaS平台实现开发运维一体化,让开发人员和运营人员合作与协同,可以快速完成应用开发、测试和生产,缩短产品交付周期。同时还能降低应用开发和运维的复杂度、降低重复性的人工成本、支撑业务敏捷和运营敏捷,最终推动并促进业务的快速创新发展。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。