2024-09-11
2024-09-11
2024-09-11
2024-09-09
2024-09-09
2024-09-09
2024-09-06
2024-09-06
2024-09-06
2024-09-06
基于云原生的物联网使能平台架构优化方案设计与实现
杜 洋,朱 明,丁 霞,张 宇,钱长杰
(天翼物联科技有限公司,江苏 南京 210006)
摘要:物联网产业正处在快速发展期,物联网平台对于物联网产业发展具有重要的支撑作用。目前,云原生技术已广泛应用在物联网平台领域,结合中国电信物联网使能平台的云原生演进路径,介绍了一种基于云原生技术的物联网使能平台架构优化的方法、路径及效果。
关键词:云原生;物联网;微服务;数字化转型;使能平台
0引言
物联网产业正处于快速发展期,物联网连接数和数据量均快速增长,据权威机构预测,2025年全球物联网连接数将接近200亿,需要具备海量物联网终端汇聚与管理能力的新型物联网平台支撑产业发展,阿里巴巴、百度等互联网头部企业,中国电信、中国移动等通信运营商以及多家垂直行业创新型企业均已推出相关产品。
云原生在2013年首次被提出[1],一般指利用微服务、容器、DevOps、服务网格等云计算技术,实现云上业务的弹性伸缩和敏捷交付,市场上主流的物联网平台均不同程度地应用了云原生技术。
表1 云原生物联网平台与传统物联网平台对比[3]
中国电信是国内领先的云网服务商,为向物联网客户提供平台化支撑服务,中国电信基于云原生的思维、架构和技术开发了物联网使能平台,本文阐述了中国电信物联网使能平台的云原生架构的演进过程,说明了一种基于云原生技术的物联网使能平台架构优化的方法与路径。
1云原生关键技术
云原生计算基金会(CNCF)将云原生定义为容器、微服务、服务网格、DevOps、无服务架构、不可变基础设施与声明式API等技术的集合[2]。其中,容器是实现云原生应用的基础,微服务容器化则是实现云原生应用的关键步骤。
(1)容器及容器编排。容器技术将计算资源分割为多个彼此隔离的空间(容器)承载业务,容器基于容器引擎运行,与底层计算资源解耦,移植性强,资源利用率高,有利于提高运维、迭代效率。通常需要多个容器协同工作,因此需管理容器(容器编排),而常用的容器编排调度器是Kubernetes(简称“K8S””)。
(2)微服务架构。它是基于容器技术,将整体业务划分为高内聚低耦合的模块,组件化实现并服务化运行,每个服务可以使用不同的技术实现并独立部署[4],多个服务可协同实现业务功能。
(3)服务网格(Service Mesh)。它是服务间通信的基础能力层,超时、重试、监控、追踪等非核心业务的服务治理功能能够下沉到服务网格,实现核心业务的轻量化运行。
(4)DevOps。即开发运营一体化,其核心内涵在于开发、运营、运维和质量保障之间有机协同,从而提高软件生命周期管理的敏捷性。
(5)无服务架构(Serverless)。其实现基于云服务商或平台服务商推出的一种服务模式,即向业务应用开发提供可按需调用的服务接口及服务配置工具,有效降低业务应用后端开发工作量。
(6)不可变基础设施。是指运行服务的服务器在完成部署后,就不再更改,如需更新、修复或修改等操作,则会构建、验证新服务器版本来替代旧版本,以避免改变服务基础带来隐患。
(7)声明式API。可通过声明式API调用K8S的能力,即通过YAML文件向K8S声明期望状态,由K8S自动调整,无需通过提交多个指令来实现。
2平台功能
中国电信物联网使能平台(以下简称“平台”)为物联网应用的开发、测试、运行提供平台化支撑,能够有效降低应用开发难度,缩短应用开发周期。平台具备的主要功能如下:
(1)设备接入。物联网设备可通过CDMA、NB-IoT、LTE等不同网络和MQTT、LWM2M、TCP等常见物联网协议接入平台,并采用TLS/DTLS、SimID等多种安全措施保证终端安全。
(2)设备管理。可对接入平台的终端进行管理,如传感类终端、采集类终端、智能控制类终端等,管理功能包括终端的信息管理、终端状态上报和收集、终端远程控制、命令消息下发等。
(3)设备数字化建模。平台提供设备数字化建模工具,可将设备终端抽象为属性和服务(动作),在平台中生成“物模型”。“物模型”可作为数据标准,一方面可用于解耦物联网终端与应用,帮助开发者实现终端与平台的快速适配及应用高效迭代,另一方面也可作为跨应用的数据交互的标准,减少平台上物联网应用间的信息壁垒。
(4)规则引擎服务。平台可配置规则,对设备上报的数据进行加工、清洗和转发,还可按规则触发多设备的协同反应,实现设备联动、智能控制、设备告警等功能。
(5)数据管理服务。平台提供安全可靠的数据汇聚、存储、管理、分析、挖掘和展现能力。
(6)应用开发服务。应用可通过平台API、SDK、消息订阅及推送等方式调用物联网终端的数据和指令来开发功能。平台还可为轻量级应用提供容器化托管服务,包括应用构建、部署、运行监控、版本管理、域名绑定等功能。
(7)多种服务模式。平台可根据用户的业务需求,基于互联网/专网、公有云/私有化/混合云等不同的IaaS环境,提供相应的服务模式,包括基于互联网的集约模式,面向中国电信各省市公司的分布式部署模式以及面向客户的私有化部署模式。
3架构优化
3.1原始架构
平台结合中国电信天翼云能力设计架构,所有功能模块均基于天翼云进行部署,并基于天翼云能力开发各功能模块,关键组件包括Pulsar、Flink、TeleDB、UDAL、Hadoop栈集群管理系统、CCSE等,其中,TeleDB为中国电信自主研发的分布式数据库[5],CCSE为中国电信基于K8S自主研发的集群管理平台,具备服务注册、监控、自愈和告警综合能力,可统一管理平台服务。平台关键模块均进行了微服务化设计与实现,具备微服务架构基础。
图1 平台原始架构示意图
3.2架构升级
3.2.1 存在问题
随着中国电信物联网使能平台的用户量、承载终端量及支撑各类项目数量的不断增长,出现平台运维困难、定制化部署效率低、难以动态管理资源等各种问题,导致这些问题的原因如下:
(1)微服务技术标准不统一:平台各模块采用的微服务技术标准不统一,平台迭代和运维部署的复杂度高。
(2)缺乏统一的配置管理:应用配置由各服务单独管理,交付部署时需修改每个服务的配置,部署效率低。
(3)开源中间件未容器化也影响到部署效率与资源利用率。
因此,文中采用了开发云原生容器引擎,对平台进行升级的解决方案,以降低资源消耗,提高开发、运维、部署效率。
3.2.2 技术路径
3.2.2.1 云原生容器引擎
基于中国电信CCSE等云原生能力基础,开发云原生容器引擎(以下简称“引擎”),作为平台的云原生底座,升级平台架构及功能,实现弹性伸缩、网络隔离、有状态应用容器化等能力。
图2 云原生容器引擎示意图
引擎还可提供高性能可伸缩的一站式容器应用管理服务,简化集群的搭建和扩缩容等运维工作,为容器化应用提供监控、日志、服务网格、模板、水平扩展、持久化存储等基础能力,可帮助平台用户快速构建和运行弹性伸缩的应用,实现业务快速交付与持续迭代。
3.2.2.2 架构改造
基于引擎,对平台架构进行改造,主要工作如下:
(1)使能服务容器化改造:基于引擎的工作负载管理能力部署使能服务,同时支持有状态和无状态应用的部署。
(2)服务注册发现、服务暴露:基于引擎的服务配置功能,实现微服务的注册和发现,基于引擎的路由配置功能,实现服务暴露,支持从外部访问容器集群内的应用。
(3)配置管理:基于引擎的配置管理功能,统一管理各部署环境的应用配置,实现业务与配置、发布环境解耦,同一个业务镜像可直接发布到各环境。降低应用部署复杂度,提高部署效率。
(4)中间件容器化:基于引擎的工作负载、服务路由、配置管理、存储管理能力,对平台使用到的开源中间件进行容器化改造和部署。
(5)服务治理:基于引擎服务网格能力,实现应用灰度发布,支持对服务流量进行管理,支持服务限流熔断等策略配置。
图3 平台架构升级方式示意图
3.3测试验证
在基于引擎对平台进行改造后,开展了平台功能、性能和压力测试,验证平台改造后的服务质量。
(1)功能测试:共设计功能测试用例487个,执行487个(其中手动180个,自动化307个),经过复测,487个测试用例全部通过。
(2)性能测试及压力测试:性能测试验证的指标与生产验证指标保持一致,可根据业务量线性扩容,满足业务需求,单节点设备最大在线量、数据上报吞吐量、指令下发性能指标均达到预期目标。
表2 单节点实例压测结果
3.4升级成效
平台架构升级后,实现了物联网使能服务能力模块与底层云IaaS解耦,一方面平台可移植性大幅提高,另一方面引擎可按性能、时间、周期进行容器的编排和调度,实现弹性伸缩,还可自动监控容器,检测实例运行状况,及时启用新实例替换不健康实例,保证业务健康可用,有效提高了平台可用性。升级后的主要成效如图4所示:
图4 基于云原生容器引擎的平台架构示意图
(1)资源管理。实现多租户、多集群统一管理,支持细粒度的权限管控。实现K8S对底层的物理资源做集中管理与统一调度。支持导入现有K8S集群,可在多云、云主机、物理机等多种IaaS环境进行部署。
(2)运维交付。平台实现了故障自愈、弹性伸缩、全链路监控等功能,各微服务经过优化设计和统一管理,平台DevOps能力大幅增强,资源利用率和可用性大幅提升,部署效率提升30%以上。
(3)应用托管。平台可提供一站式容器服务,帮助用户快速开发、构建、部署和运维应用,并能为应用提供监控、负载均衡、持久化存储、镜像服务、组件容器化部署及服务网格插件等多种能力。
4结束语
通过研发云原生容器引擎对平台进行云原生化改造,有效提高了平台的迭代、运维效率及资源管理水平,同时也增强了平台对于物联网应用的云原生支持能力,能够大幅提升物联网应用开发、迭代、运维、交付的效率。
参考文献
[1] 陆钢,陈长怡,黄泽龙,黄泽源.面向云网融合的智能云原生架构和关键技术研究[J].电信科学,2020,36(09):67-74.
[2] CNCF. Cloud native definition v1.0[EB]. 2018.
[3] 孟岳.云原生的应用特性及关键技术[J].中国工业和信息化,2021(07):18-24.
[4] 丁敏喆.基于微服务架构的物联网服务平台的设计与实现[D].西北大学,2020.
[5] 侯晓东,韩思祺.PaaS在内蒙古电信的应用与实践[J].长江信息通信,2021,34(06):101-105.
作者简介:
杜洋(1984-),男,汉族,河南兰考人,高级工程师,硕士,研究方向为物联网平台技术。
朱明(1973-),男,汉族,江苏扬州人,高级工程师,硕士,研究方向为物联网平台技术。
丁霞(1976-),女,汉族,江苏海安人,工程师,学士,研究方向为物联网平台技术。
张宇(1981-),男,汉族,江苏南京人,工程师,学士,研究方向为物联网平台技术。
钱长杰(1986-),男,汉族,江苏兴化人,工程师,学士,研究方向为物联网平台技术。