时间:2024-07-28
[李中雷 陈杨]
物联网是以感知技术和网络通信技术为主要手段,实现人、机、物的泛在连接,提供信息感知、信息传输、信息处理等服务的基础设施。随着经济社会数字化转型和智能升级步伐加快,物联网已经成为新型基础设施的重要组成部分。随着云计算技术以及移动通信技术发展,物联网技术应用进入了一个蓬勃发展的阶段,云网融合发展的理念也在电信运营商企业内部贯彻执行。
云计算技术深度发展在为物联网领域应用提供敏捷性基础设施的同时,也为行业应用的可靠性、灵活性提供便捷的手段。2015 年云原生基金会CNCF 联盟成立,云原生技术相关开源项目包括Kubernetes容器编排技术已成为公认的云原生操作系统。Kubernetes 编排技术与容器、微服务以及敏捷基础设施相辅相成,深度融合,实现在不同行业、不同应用场景的项目落地,加速传统产业与云计算技术融合,助力行业融合创新。
随着云计算技术快速发展,在智慧水务、智慧燃气、智慧水产、物流跟踪、智慧消防、环境监测、共享经济等领域取得了丰富的成功实践应用,推进千行百业数字化改造。中国电信积极践行云网融合理念,推进“云转数改”战略转型,物联网设备上云成为大趋势,海量物联网设备管理在迎接大发展机遇的同时也面临复杂的技术挑战。
传统移动物联网终端接入企业客户应用系统架构单一,且客户自建系统规格不一致,架构承载能力有限。如何让海量终端具备高可靠连接入网能力,构建更多人机交互场景,增强人员远程控制设备能力,在国家规模化推动物联网设备进行智慧化改造背景下,传统的应用系统已经无法满足海量终端接入需求,亟需提供一种满足高可靠、高安全、大连接、低时延的物联网平台。
对于中小企业,受限于自身技术能力与云迁移能力,物联网开放平台的业务架构设计采用传统SOA 面向服务的单体应用架构,客户应用部署在自己机房,机房维护及运维人员的维护成本逐步升高。随着云计算技术的演进,用户的业务应用逐步向云迁移,应用上云的过程,为应用的业务架构演进提供了更多可能性,使得业务架构的演进方向可以向着稳定性强、可靠性高、性能更强的方向发展。
如图1 所示为使用单体应用SOA 服务架构,所有的应用服务均部署在同一个虚拟机上,利用统一的ESB(Enterprise Service Bus,企业服务总线)实现服务之间数据通信转发、业务调度管理等能力。单体应用架构简单,开发成本低,开发周期短,主要面向小型开发项目时可以快速落地。但是面向大型企业开发项目时,SOA 应用架构弊端就非常明显,业务处理逻辑不能复用,应用部署在同一个虚拟机导致应用管理复杂度高,并且后续的服务变更也会更加困难,一次小的调整就需要进行全服务的迭代升级。
图1 SOA 面向服务架构
由于单体应用架构在项目开发、项目管理、迭代升级、运维管理、容灾管理等方面的严重弊端,面对大中型平台项目,传统SOA 单体架构不能实现项目开发敏捷管理,采用单流水线作业效率相对较低。此外SOA 单体架构平台在能力迭代升级方面需要进行全服务中断升级管理,客户业务感知较差,对于头部客户而言,中断业务升级方式影响范围愈加广泛。
如图2 所示为当前业内流行的微服务(μs,Microservice),可以实现容器和微服务应用管理,在项目开发管理及版本能力迭代升级方面,可以实现相对SOA 架构较高的效率,运维人员只需重点关注业务服务运行情况。但这种微服务架构在容灾能力依然需要自建机房,并且采用一主一备或者一主两备方式,该方式云资源利用率低,投入成本较高。
图2 微服务架构
因此需要对微服务业务架构进行深度优化,提供更加灵活、便捷、可靠的业务服务架构,并利用更敏捷高效的基础设施实现业务灵活部署、高效迭代并且降低运维管理成本,提高平台可用性。
面向超大型平台开发现实,服务实例可能多达上万个,同时需要满足服务状态生命周期维护、状态检测、弹性伸缩等能力。微服务弹性伸缩能力可根据业务高峰及低谷期自动进行服务数量缩减,以最大化提升资源使用效能,同时保障业务使用安全,在出现单服务故障时可以进行异常状态服务隔离,降低用户对单服务实例故障问题感知,从而大大提升平台业务使用可靠性。如图3 所示为本文实现的云原生架构图。
图3 云原生架构
随着物联网设备数量持续增长,采用云原生架构,物联网平台可以满足海量设备稳定、可靠、安全接入管理成为必然面临的课题。考虑到未来物联网业务特性及产业持续发展,物联网平台需要在海量异构网络终端接入管理、平台能力快速迭代、灵活扩容解决业务快速增长带来的计算压力、层次清晰分明的业务架构、便捷高效的研发运维体系等方面进行深入思考,打造高效、智能、可靠、稳定、灵活的物联网设备管理平台。
对于云原生架构业务的简单理解是一个架构是否是云原生,就看这个架构是否是生长在云上。“生长在云上”不是简单的使用云的IaaS 服务,比如ECS、OBS 这些基本的计算或者存储,而是应该理解为是否使用云上的分布式服务,比如缓存数据库服务DCS、关系型数据库服务RDS、文档数据库服务DDS 等,这才是直接影响到业务架构的服务。在微服务框架下,分布式服务是必须,在非云原生架构的时代,研发运维人员基于开源版本软件搭建服务,自行运维。而到了云原生时代,业务则可以直接使用云上的服务,研发人员只需要调用云服务的API 接口使用服务即可,底层的软件和机器维护都由运维人员负责。
另外两个不得不提的技术就是Docker和Kubernetes。其中,前者标准化了应用分发的标准,不论是Spring Boot写的应用,还是Node.JS 写的应用,都以镜像的方式分发;而后者在前者的技术上又定义了应用生命周期的标准,一个应用从启动到上线,到健康检查,再到下线,都有了统一的标准。Kubernetes 在容器的应用领域上,由于其高性能及灵活可用性,目前默认已经成为容器编排以及生命周期管理的操作系统。
容器技术的应用,隔离了微服务应用和底层计算资源的耦合性,微服务可以做到弹性扩容、缩减,并通过标签方式实现业务分发的隔离,即可以实现相同处理业务逻辑的微服务,一部分可以承载业务,一部分可以不承载业务,这可以实现业务功能的灰度发布,或者说在功能运行时,可以先升级一部分微服务,确认正常之后,再升级另外一部分,业务灰度发布流程如图4 所示。
图4 业务灰度发布流程
随着云计算技术向超大规模分布式云计算体系方向发展,物联网开放平台的可扩展性、承载容量也相应获得利好,平台依托云的发展可实现弹性伸缩容,多节点分布,可以满足多地域、海量设备接入的需求。
中国电信联合华为,2017 年开始全力推进NB-IoT 窄带物联网平台的商业应用,目前已经应用在燃气、水务、烟感、路灯等小数据量低频次通信场景,设备连接规模已经近亿。在海量物联网设备接入场景下,设备管理平台需要满足高并发接入,高可用,弹性扩容等能力,以满足未来更多设备接入需求。本文介绍在NB-IoT 业务发展以及云计算技术迭代更新过程中,物联网设备连接管理平台能力建设的思考实践。
物联网平台面向物联网设备提供接入管理服务,设备传感器采集数据通过NB-IoT 窄带网络上传到平台。随着设备数量增加,传统自建基础设施搭建的单体架构应用平台面临以下几个方面的挑战。
(1)设备上传数据的消息并发量持续增长,平台并发计算处理能力以及业务处理效率面临巨大的挑战。
(2)业务持续增长面临计算资源扩容情况,传统单体应用架构扩容需要购买物理计算机,并且安装上架,打通与现存设备网络,并且纳入资源管理,流程时间长,操作复杂。
(3)传统SOA 单体应用架构软件版本隔离性差,业务处理逻辑打包在一起,如果对业务处理漏洞进行补丁修复或者新功能上线升级,需要中断全平台业务进行升级,客户业务感知差。
随着云计算技术快速发展,以Kubernetes 和docker容器应用为代表的云原生技术,为解决上述问题打开思路。在NB-IoT 窄带物联网场景下,NB-IoT 设备使用UDP 协议上传数据,在平台内部需要经过负载分发,微服务做业务逻辑处理并及时响应。LVS 负载均衡服务在OSI 七层模型的网络层,只进行路由转发,可以实现万级TPS 的消息接入,满足海量设备高并发接入需求。LVS 与业务处理微服务μs采用最小连接数原则进行业务均衡分发,微服务μs运行在Kubernetes 集群中,可以进行动态伸缩,如果业务量突然有增长,可以增加微服务实例数量,缓解高峰业务压力;如果业务进入低谷期,可以缩减微服务实例数量,节省计算资源。
相比传统单体应用架构,微服务在原有单体架构基础上,将业务处理逻辑进行拆分,将一个应用拆分成多个应用实例,不同应用之间通过开放API 接口进行业务交互。业务处理逻辑拆分之后,不仅可以实现业务逻辑隔离,业务处理流程清晰,而且如果出现单个微服务状态出现异常情况,可以将该微服务直接停止,而不会影响相同微服务的其他实例。同时在服务版本升级时候,可以直接针对同一种微服务进行单个滚动升级,极大降低业务逻辑代码耦合以及服务升级的影响,提升平台整体可靠性以及服务感知。如图5 所示为基于云原生底座的微服务业务处理流程。
图5 基于云原生底座的微服务业务处理
自建基础设施的方式,虽然在物理计算资源上做到很好的隔离,提供强有力的安全保障。但是在业务可靠性、资源扩展性方面相比云计算基础设施存在较大的不足。
(1)自建机房部署计算设施,需要进行站址选择,部署冷却系统、消防系统,做好人员进出管控。更重要的是在单个机房的条件下,无法满足业务容灾的需要。如果建设多个异地机房,则投入成本则会翻倍,资源利用率不高。
(2)自建机房的选址面积需要考虑到业务长期发展的需要,如果业务发展较快,对计算资源要求较高,没有更多的机架部署设备,则在资源扩展性方面很容易受限制。
在云计算时代,海量计算资源汇聚,并通过虚拟化技术实现计算资源分配及隔离,可以根据客户业务需要动态调配资源数据。且云服务提供商可以在一个region 资源池内建立多个可用区AZ,每个可用区即是一个机房,多个可用区之间距离一般在50 km 以内,通过光纤方式进行直连,确保可用区服务之间时延在0.01 ms 以内。如图6 所示为本文设计的云原生3AZ 多活场景下的业务服务架构。
图6 云原生3AZ 多活场景下的业务服务架构
本文所涉及的物联网NB-IoT 设备管理平台,除应用微服务3AZ 部署之外,其他关键组件也同样实现3AZ 方式部署,如图7 所示为MongoDB 的3AZ 部署模式。DDS数据库服务包含3 个业务组件mongos、shard 和config,其中mongos用于处理数据库连接请求,shard用于数据请求的处理且shard 为一主两从模式,config 用于数据库配置管理。
图7 MongoDB 的3AZ 部署模式
传统机房的部署模式会将3 个组件部署在同一台虚拟机上,如果虚拟机出现问题,或者其中一个组件出现问题,都会导致数据库崩溃,无法提供服务。采用3AZ 部署方式,将3 个组件拆分开部署,每个组件独立虚拟机部署,计算资源相互不影响,如果单个组件出现问题,不影响其他组件工作,极大地摆脱了对底层计算资源的依赖性,提升服务可靠性。
图8 所示为传统主备部署和云原生多活部署的设备管理平台方案对比,可以实现亿级NB-IoT 终端的设备管理和能力开放,支持弹性扩容、灰度发布、服务分级等能力;突破传统主备部署能力瓶颈,实现物联网业务无感知升级及倒换,在单个数据中心发生故障情况下,平台还可快速完成业务迁移,确保用户业务“零”损失,平台安全可靠性取得极大突破。
图8 传统主备部署与分布式多活部署方案对比
目前国内外运营商物联网网络系统采用传统主备容灾模式,故障倒换影响业务时长达30 分钟以上,而在移动互联网领域采用多活部署的例如支付宝平台,仅在云平台业务侧实现多活技术,尚未实现网络侧多活技术的部署应用。本文研究并实现的从网络到平台融合的多活部署,在单数据中心故障的情况下,用户“0”感知。
不仅在PaaS 服务上实现微服务可靠性大幅度提升,在SaaS 应用服务上,平台通过CCE 云容器引擎服务进行SaaS 微服务的业务编排管理,同时通过心跳保护等异常检测机制,如果微服务所在宿主机所在的机房出现异常情况,微服务也会漂移到其他正常状态的机房宿主机上,这就依赖于服务的弹性伸缩能力,可以实现容器微服务的全生命周期管理。
云原生技术经过短短几年的发展,目前已经开始在多个业务领域开始投入使用,越来越多的企业开始投入到云原生技术使用场景:
(1)数据共享机制
云原生数据库仅开放API 接口提供服务,如果存在大量数据需要进行多站点之间备份,通过API 接口的方式,势必对PaaS 服务的计算能力产生影响,因此如何平衡好PaaS 服务和客户业务需求之间关系,是未来需要重点考量的问题。
(2)函数式计算
FaaS,英文全称为Function as a Service,即函数即服务,是在微服务基础上进一步进行更细粒度的计算拆分,这种方式可以实现计算能力随时启用和销毁,且业务逻辑简单,用户只需要做好某一个业务逻辑的规划,在FaaS 平台上可以进行简单的函数编写,即可运行起来一个应用程序,不需要深厚的代码编写能力。
(3)设备管理平台异地多节点
云原生3AZ 平台是在单region 节点内实现,物联网设备是在全国范围内铺开使用,客户要求可以通过单点的方式实现对全国业务管理,平台的分布式节点必然有需求,同涉及到多节点之间的数据同步,即多个region 之间业务活跃的技术实现,未来需要进行更多新技术需要满足该业务场景需求。
随着云计算、5G、物联网的大力发展,新型基础设施的强力推进建设,传统企业借助新型基础设施进行企业信息化、数字化转型。中国电信以“网是基础、云为核心、网随云动、云网一体”为发展理念,全力践行云转数改战略,推进新兴技术在各行各业的落地应用。本文分析传统企业应用架构在物联网领域面临业务处理能力、服务可靠性、架构灵活性等问题,提出通过云原生多活的技术打造可靠、灵活、稳定的业务服务架构实现方案,并在实际生产业务中完成实践,对于未来海量物联网设备管理平台的架构演进具有较大的实践指导意义。
当前经济社会数字化转型和智能升级步伐加快,物联网已成为新型基础设施重要组成部分,本文提供的NBIoT 设备管理平台云原生多活技术在社会治理、乡村振兴、节能环保等方面带来了显著的社会效益。在社会治理方面,通过系列应用,为基础设施建设提供坚实保障,可以有效解决了传统人工抄表入户难、计数不准、管网漏水与水质检测等问题,减少水资源浪费,此外通过创新的应用不断挖掘社会价值;通过城市生命线安全运行监测物联网,建立全过程、全天候、立体化的城市生命线安全运行监测系统,实现多源传感器信息采集融合,运用城市生命线监测数据与空间地理信息云融合技术,实现城市生命线系统风险的及时感知、早期预测预警、和高效处置应对,类似的解决方案和应用创新案例不胜枚举。
通过系列技术融合创新,持续优化NB-IoT 终端低时延、低功耗、大连接接入,充分发挥物联网在推动数字经济发展、赋能传统产业转型升级等方面的重要作用,为推进物联网新型基础设施建设做出重要贡献。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!