林峰LIN Feng
(中国电信股份有限公司福州分公司,福州350001)
未来五年是5G 和云的五年,中国电信集团适时启动了云改战略,以云改为抓手,深入推进云网融合。IT 系统全面上云是中国电信云改重要组成部分,是用数和赋智基础。为全面开展、扎实推进系统上云工作,中国电信提出了IT全面上云的策略,新建系统100%上云,存量系统三年上云,2020年启动上云工作,2021年推进规模上云,2022年实现全面上云,实现IT 系统全面上云,并掌控核心上云能力。
云原生应用是当前互联网化需求与IT 基础技术高速发展相结合的产物。未来的企业将更强调个性化发展。而这种应用需求的改变,带来的最直接结果就是IT 基础设施的调整,IT 系统支撑能力是否足够敏捷,这就是云原生存在的重要价值,也是最需要解决的问题。
云原生技术帮助企业和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,以Kubernetes 平台为核心的云原生技术越来越成为IT 系统上云的重要技术手段。在企业上云后,构建全新云化架构的研发、实施、运维全生命周期,打造适合在云上运行的云化架构新应用,解决传统架构下企业信息化的痛点,业务交付周期长、研发质量管理混乱、实施运维效率低下、IT系统成为业务瓶颈、IT 系统架构缺乏弹性、缺乏可靠性依赖应用设计。构建云原生PaaS 平台,对资源与用户进行统一纳管的需求越来越强烈,将是下一个业务爆发点。
IT 系统上云一定不是简单的产品或者云迁移动作,是一个分阶段实施的全面规划,使得IT 系统架构全面云化,充分发挥云计算的优势。可按不同系统和需求分阶段实现。
①基础设施的虚拟化,遵循遏增量,迁存量,充分利旧的原则,先实现系统初步迁移上云。
②IT 架构的云化,通过“应用+平台”的设计理念进行IT 云改,引入PaaS 平台能力层,同时平台实现以PaaS 组件(中间件)为管理单元,通过细分角色,集中解决多租户资源隔离、组件接入流程管理、组件配置中心等关键问题。
③打造云原生应用,实现“精细化服务”“即时服务”“按需服务”等关键能力。构建全新云化架构的研发、实施、运维全生命周期,打造适合在云上运行的云化架构新应用。
基础架构的演变可以说伴随着时代的变迁,从基础架构、服务器,到虚拟化,再到IaaS、PaaS,这其中基础架构的演进是越来越灵活、低成本、维护简便、易获取。云原生PaaS 平台架构是在这路线上,基于微服务、DevOps、持续交付、容器化等技术继续演进。
基于生态完善的云原生平台,可以实现多租户、自动化、自服务、动态弹性、云资源有效管控的统一云门户,并支撑DevOps 开发运营一体化的落地实施,帮助企业简化部署、监控、运维等应用生命周期管理工作,打造一站式企业级PaaS 运行环境,实现“精细化服务”、“即时服务”、“按需服务”等关键能力。
基于容器技术打造云原生PaaS 平台,为企业信息化上云提供PaaS 能力,结合DEVOPS 流程和工具,提供符合系统上云的云原生一体化解决方案。云原生PaaS 平台架构如图1。
①微服务研发框架,基于系统模块之间低耦合+高内聚的软件研发模式,将单一应用程序划分成一组小的应用服务,应用服务之间相互协调、互相配合。每个应用服务是基于Restful API 的接口进行通信,并且可以被独立部署、更新、运行。
图1 云原生PaaS 平台架构
②DevOps 持续集成、持续交付,基于研发运维一体化协作模式,依托自动化发布管道、CI 等工具链,快速部署到生产环境,实现构建、测试、发布软件能够更加地快捷、频繁和可靠。
③基于容器和kubernetes 的原子能力,容器技术不仅能提高现有应用的安全性和可移植性,无需关心每个服务所使用的技术栈,每个服务都被无差别地封装在容器里,可以被无差别地管理和维护还能节约成本。
容器服务可让开发者打包相关应用以及依赖包到一个可移植的容器中,然后发布到其他的机器上。通过容器服务可提供高性能可伸缩的应用管理服务,提供多种应用发布方式和流水线般的持续交付能力,通过容器加速应用管道自动化和应用部署。
云原生PaaS 平台基于微服务、DevOps、容器化等能力,实现租户资源隔离、多样化组件市场服务、复杂网络管理、滚动升级发布、DevOps 持续交付、弹性伸缩架构、集中统一监控。
为保证资源的安全性及高性能,各应用、建立的数据库等需相互隔离。在多租户环境下,平台可实现租户资源的IaaS 统一管理。将接入容器的资源实现按需分配,并支持多租户间的资源隔离管理,如图2。
图2 多租户管理
多租户管理提升安全性,降低因共享物理设备带来的风险,如突破虚拟化逻辑隔离而窃取其它租户的机密信息。通过租户应用的自动调度部署与资源隔离,防止因某一应用占用过多资源对其他应用的性能造成干扰。
多样化的组件服务,主要提供数据库服务、应用测试服务、代码托管服务等服务,对应用提供支撑服务与管理,能将现有各种业务能力进行整合,向下根据业务能力需要测算基础服务能力,通过IaaS 提供的API 调用硬件资源,向上提供业务调度中心服务,实时监控平台的各种资源,并将这些资源通过API 开放给上层用户。
信息系统间也存在复杂的网络关系需要统一管理,云原生PaaS 平台将所有应用的用虚拟网络连接起来,集群中所有应用,无论是节点内还是跨节点,都可以直接通信。
基于Network Policy 的网络隔离策略,云原生PaaS 平台提供实现按租户级网络隔离,即不同租户的应用不相通,租户内的应用网络互通,如图3 租户网络隔离。
图3 租户网络隔离
应用系统需要在不影响用户使用的前提下完成应用的版本更新,实现零停机、零感知、随时回滚。应用镜像变更时,自动备份当前应用信息生成相应版本,可随时对应用版本进行回滚。应用在进行升级时,会逐一对服务进行更新升级,直至所有服务都更新完毕,避免造成更新过程中服务不可用,如图4 滚动升级发布。
图4 滚动升级发布
通过Kubernetes 平台实现自动完成从代码提交到应用部署的DevOps 完整流程,替代部署复杂、迭代缓慢的传统方式,提高企业代码交付和部署的效率。如图5 DevOps持续交付。
图5 DevOPS 持续交付
当业务高峰时,信息系统的并发业务量将激增,传统架构下的应用运维人员需及时根据访问量实现应用的扩容,保证系统运行。基于容器的云原生PaaS 平台根据CPU,Memory 使用率指标以及通过定时调度自动对业务扩容/缩容,不需人工干预,避免流量激增扩容不及时导致系统挂掉,及平时大量闲置资源造成浪费,如图6 弹性伸缩架构。
图6 弹性伸缩架构
运维人员需对集群中的主机、组件等进行统一监控及维护,提供直观展现健康状态、自定义组件告警规则、告警日志统一查询等服务。
基于容器技术的云原生PaaS 平台在企业信息系统上云过程中提供IaaS 资源隔离、网络管理、DevOps 持续交付、容器服务、自动扩缩容、PaaS 组件服务、实时监控等关键能力,实现部署上线时间分钟级别,扩缩容秒级别,PaaS 组件快速部署,弹性伸缩架构实时感知业务应用负载,提升主机与应用监控与告警等功能。平台显著提升了技术自主掌控能力同时,实现运维生产降本增效,提升了客户感知,有效提高了企业形象,具有显著的社会效益和经济效益。