【智简联接,万物互联】华为云·云享专家董昕:Serverless和微服务下, IoT的变革蓄势待发
摘要:Serverless、微服务,这些新技术和IoT有什么关系?纵观IoT行业的发展,云服务又扮演了什么角色?
IoT并不是一个新名词、新技术,很长一段时间,它甚至给人一种“下工地”的印象:由于IoT设备的落地场景经常与工程环境强相关,又不容易远程配置,所以难免“形象不佳”。
近几年,当IoT与创新、科技、互联网等挂钩时,成为一个相当“新锐”的行业,尤其云计算时代的IoT,有了许多让老树开新花的功能,也让这个行业有了许多新的想象空间。
比如,Serverless、微服务,这些新技术和IoT有什么关系?纵观IoT行业的发展,云服务又扮演了什么角色?
华为云云享专家董昕以业内人的视角给出了他的理解。
董昕是个喜欢折腾的人,既在Intel、中国银联、Trident这样的大公司待过,负责芯片、IoT、安全、云计算等多个领域的技术开发;同时,他也是一个连续创业者,肩挑背扛整个公司的技术架构,所以对中小企业在信息安全和云计算上的紧迫感有着深刻的认知。
如今,董昕担任国内某大型第三方支付公司的高级架构师,一直处在技术一线的他,对当前IoT行业的发展有着理性的洞察,以下是他对IoT技术发展趋势的一些预判。
物联网比互联网更适合Serverless
Serverless即开发人员无需再关注服务器的运维工作,直接将代码部署在云端,对外提供RESTful API 即可,云计算会自动根据请求编排资源。这种模式非常适合前端实现许多功能、后台记录状态的场景,可以说是大前端发展的必然趋势。
在董昕看来,目前各大云服务商针对IoT设备提供的物模型,本质上就是一种Serverless,甚至更进一步,已经是Codeless了。
沿着这个思路去考量互联网和物联网在Serverless上的差异,会发现 IoT 仅仅只是将联网的主体从人改成了物,而消息的请求与响应并无差别。甚至在大多数情况下,联网的物比联网的人,要更容易数据化,所需提供的服务也更单一,几个属性和服务就足以清晰的定义某类IoT设备。
所以从这个角度看,物联网比互联网更适合Serverless这种模式,而物模型就是这种模式在IoT上的落地形式。
Serverless 的发展趋势、优势与目标都可以匹配IoT,比如海量接入、快速扩缩容、可移植性等等。对于物模型,我们可以做与当下的Serverless几乎一致的畅想,把Serverless上的经验全盘复制到IoT的场景中,比如Serverless中最迫切的代码可移植性问题。
站在云服务商的角度,用户建立了物模型,就是与云服务商进行了强绑定。可对于普通用户而言,物模型的可移植性,甚至是物模型的编排工作,都是要解决的难题。如同 Serverless已涌现出了数家跨云服务商的中间件提供方一样,伴随着IoT的发展,物模型的编排将很可能将会成为开发者值得去探索的方向。
另外,在Serverless上暴露的物模型组件的继承与复用,传统代码与物模型之间的转译等问题,在IoT的将来都会是无边无际的蓝海,同时还有互联网软件的前辈们留下的宝贵经验,广阔天地,大有可为。
硬件正在不断的软件化,这个观点早已不再新鲜,但仍未过时。软件中的许多设计思想,都值得在硬件设计中去复制与实践。
每个IoT设备都是一个独立的微服务
“微服务”是软件行业里很热门的一个词,即把一个大的功能模块拆解成数个小的,然后在整个系统中,小模块可以合并、复用。微服务各司其职,大系统化整为零。
这样做的好处很多,但维护管理众多的微服务成了一个麻烦事,于是就有了Docker和 Google发布的微服务治理框架Kubernetes。
延续前文提过的“硬件正在不断的软件化”思路,每个IoT设备,从功能目标上看,都可以看作一个独立的微服务,所以软件微服务治理的那套规范一样可以运用到IoT设备上。
比如华为开源的KubeEdge项目——这个项目可以将容器化应用程序编排至边缘主机上,让每个边缘主机化身为微服务节点。准确的说,KubeEdge并不是部署在IoT设备上,而是针对边缘计算端的,毕竟目前绝大多数IoT设备的算力还不足以支持。
边缘计算节点作为IoT网关,联合各种终端IoT设备,已经完全足够成为一个微服务节点,也让算力能够提供更契合场景的定制化输出,而非单纯的依靠软件提供标准化产品。
类似的,在边缘节点成为硬件的微服务节点之后,软件微服务治理的设计思想也可以移植到了边缘计算当中,包括但不限于:CI/CD、DevOps、ServiceMesh、服务监控与追踪,甚至AIOps等等。我们时常说的“端边管云”也只有在这样的基础上,才能真正实现无缝连接、自由组合、实时配置等。
至彼时,IoT的工作模式就仿佛人类社会分工的某种终极形态:各个终端设备都具有能独自解决某类问题的能力,又可以随时与周边的其他设备组建团队解决棘手的问题,还能够从云端实时得到更多重量级的支援——这哪里还是以前“不受待见”的IoT开发啊,完全是一支海军陆战队嘛!我来,我见,我征服。
鸿蒙之我见:江湖路远,吾道不孤
鸿蒙虽时常被拿来与安卓对比,但它实际上是为IoT设备设计的,尤其是其模块化耦合的特性,完全是为IoT设备量身定做的。
相对于电脑和手机,IoT设备缺乏统一的标准协议,每种设备都可能只具备某种特性实现为此,鸿蒙提供了对不属性的设备做定制化裁剪的功能,而对于硬件资源的多寡,鸿蒙又设计了多层架构,各种设备可以根据自身资源的情况选择不同的层数。
简而言之,鸿蒙试图以一站式服务的方式,为各式各样的IoT设备提供从底层到应用层软件的全方位支持,让硬件制造商摆脱了软硬件双线作战的困扰,同时也为所有的 IoT 设备统一了标准与接口。
实际上,意图统一IoT接口标准这一野望,安卓和苹果都曾以Android@Home和HomeKit的方式奢望过。但应者寥寥,归根结底,具备了软件开发能力的硬件制造商,即便是面对 Google和苹果这样能为其提供海量流量的巨头,也不愿惟其马首是瞻,从而最终彻底丧失独立性。
而在软件上乏善可陈的制造商又难入巨头的视野,也难堪海量流量的冲击。于是,这种只定义接口让厂商自行实现的方式最终沦为一场双输的博弈,看似风光无限,实则互相提防。
不只是系统设计,鸿蒙在功能特性上也为IoT设备提供了丰富的想象空间,比如分布式软总线。
以往我们在讨论总线,都是在一个固定且封闭的硬件组合当中,比如电脑的南北桥总线, SoC芯片内部的AMBA总线——都是在一个封闭的硬件环境中,各功能模块固定不变的情况下,以硬件的方式实现的总线。
而在鸿蒙的场景下,多个IoT之间是通过网络连接,各组件也随时都可能下线或属性变更。打个简单粗暴的比方,分布式软总线是要在把电脑拆散了,各个模块通过有线/无线的方式进行通信,且都支持热插拔的情况下,用软件协议的方式将各个模块串接起来,同时还需确保数据安全与读写效率。
事实上,不止是华为,Google正在研发的新一代操作系统Fuchsia,本着一样的目标,也在积极推进中。星辰大海,百舸争流。
结语
曾经,单独一个IoT设备既不起眼,还需要不少的人力维护,甚至必须到现场蹲点,实在是一个费力不讨好的行当。现在,云计算的浪潮正改变这个行业,星星之火,必将燎原。当老树发新芽,在新技术的加权下,如何把握IoT大势中新一轮浪潮,让我们拭目以待。
【智简联接,万物互联】华为云·云享专家董昕:Serverless和微服务下, IoT的变革蓄势待发的更多相关文章
- 云享专家倪升武:微服务架构盛行的时代,你需要了解点 Spring Boot
[摘要] 微服务架构的本质在于分布式.去中心化. 随着互联网的高速发展,庞大的用户群体和快速的需求变化已经成为了传统架构的痛点. 在这种情况下,如何从系统架构的角度出发,构建出灵活.易扩展的系统来快速 ...
- 华为云MVP:来自工业制造领域的微服务与云平台实践
[摘要] 首先,和大家先聊聊的是为什么微服务.DevOps和云计算会在各个产业大行其道;其次,再谈谈微服务架构设计有那些自己独特的设计思想,和传统的SOA有什么区别;最后,我们再一起看一看在工业领域云 ...
- protobuf / Consul / 边缘计算 / MEC / CDN / Serverless / GraphQL / 微服务 / 网关 / 云原生 / Serverless (真能造概念啊!!!)
技术概念层出不穷,学吧!记录下自己多这些概念的理解 protobuf: 数据结构而已,类比XML, JSON consul 解决的只是微服务里的服务注册与发现,健康检查等. 边缘计算:可以理解为是指利 ...
- 用友iuap云运维平台支持基于K8s的微服务架构
什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大 ...
- 基于容器微服务的PaaS云平台设计(一) 实现容器微服务和持续集成
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://www.cnblogs.com/SuperXJ/ 前言:关于什么是容器微服务PaaS和容器微服务PaaS的 ...
- 2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享
微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微 ...
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...
- TOP100summit:【分享实录-华为】微服务场景下的性能提升最佳实践
本篇文章内容来自2016年TOP100summit华为架构部资深架构师王启军的案例分享.编辑:Cynthia 王启军:华为架构部资深架构师.负责华为的云化.微服务架构推进落地,前后参与了华为手机祥云4 ...
- 巨杉Tech | 微服务趋势下的数据库设计与应用简析
周五(7月12日)巨杉数据库参与了由得到App主办八里庄技术沙龙活动,分享主题是关于分布式数据库架构与实战. 以下就是根据巨杉数据库现场分享的内容进行的分享实录整理. 巨杉数据库简介 巨杉,专注新一代 ...
随机推荐
- BurpSuite 抓安卓app包
认准夜神安卓模拟器,下了几个其他的模拟器都没有代理的功能 一.夜神安卓模拟器设置代理 1.点击右下角的设置 2.点击设置,进入到WIFI连接选项 3.进入列表后,鼠标点击wifi位置,长按左键,会出现 ...
- ABBYY FineReader 15新增编辑页面布局功能
ABBYY FineReader 15(Windows系统) 新增编辑页面布局功能,允许用户修改PDF数字文档的页面布局,包括添加或者删除文字段落,文字块以及图片,更改段落,文字块,图片位置.添加或者 ...
- 常见的名片尺寸如何在CorelDRAW预设
说到名片想必大家肯定不陌生,是我们生活中随处可见的物品,也是商家宣传必不可少的印刷物料.那么名片的尺寸是多少?我们做名片的时候该如何把握好名片的尺寸呢?在CDR中有专门的名片尺寸,下面小编就为大家简单 ...
- guitar pro系列教程(二十三):如何使用Guitar Pro制作扫弦
前面的章节小编和大家讲解了很多关于Guitar Pro的使用功能,本章节我们将还是采用图文结合的方式和大家讲解如何使用Guitar Pro 制作扫弦,感兴趣的朋友可以进来看看哦. 扫弦的概念 对于很多 ...
- 如何清理MacBook电脑缓存?
使用Mac电脑的用户都知道,Mac其空间硬盘大多数都是只有128G以及256G的规格,而用惯了win系统基本都是超过512G的硬盘的用户,转手来使用Mac电脑,就不得不接受这一硬伤问题. 用户往往再怎 ...
- python debug调试
------------恢复内容开始------------ 一.debug 1.step over f8(单步调试) 2.进入到下一个断点 3.运行到指定行 4.进入到对应的代码行,(和单步调试配合 ...
- 推荐系统实践 0x06 基于邻域的算法(1)
基于邻域的算法(1) 基于邻域的算法主要分为两类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法.我们首先介绍基于用户的协同过滤算法. 基于用户的协同过滤算法(UserCF) 基于用户的 ...
- jmeter接口测试多数据组合登陆场景
一.安装好Java运行环境 百度下载JDK并且配置JAVA环境的教程一搜一大把,这里我就不详说了 二.运行JMETER 打开安装目录的bin文件中的jmeter.bat文件 三.添加程序 1.添加线程 ...
- Alpha冲刺-第三次冲刺笔记
Alpha冲刺-冲刺笔记 这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2 这个作业要求在哪里 https://edu.cnblogs. ...
- Kafka速度为什么那么快
记录一下 Kafka速度为什么那么快 Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率. 即使是普通 ...