从中心到边缘,IoT正变为互联网之上的一张大网
摘要:当我们从Cloud Native走到Edge Native,需要面临哪些挑战,它们各自的特点又是什么,IoT行业会迎来变革吗?
云原生、边缘计算,都是这两年的技术热词。
那么,当我们从Cloud Native走到Edge Native,需要面临哪些挑战,它们各自的特点又是什么,IoT行业会迎来变革吗?且听华为云IoT服务首席架构师王启军慢慢道来。
我如何成为云原生的忠实信徒和布道者?
写书、写公众号……王启军算是程序员中少有的,喜欢用文字记录工作和分享生活、心思细腻的技术大牛。在王启军的公众号中,他写过一篇《My Team》的文章,里面记录了早年带团队成长的心得。
在推进华为云Cloud Native、微服务架构落地期间,他将自己积累的技术实践整理出一本书——《持续演进的Cloud Native:云原生架构下微服务最佳实践》。
对于王启军来说,每接触一个新的技术领域,都是一次自我挑战和升华,随之而来的是越过高山的成就感,这股学习钻研的劲一直伴随着他工作内容的始终——从研究云服务架构到IoT。
这个过程中,王启军也亲历了云计算行业的技术迭代变迁。
在工作的前五年,他一直痴迷于技术在大规模、高并发、极致性能等方向,那时候既没有云原生,也没有微服务架构的概念,但实际上两者方向是一致的。当时王启军致力于用分布式、服务化、无状态、去中心化去实现一个高可用的系统;通过云计算、平台化实现能力沉淀,最大化重用;通过CI/CD实现快速反馈。
但理想丰满,现实骨感。
“到了一个新的环境,周边的人对这些并没有一个很好的认同感,存在很多质疑,这也很正常,只有确实经历过,才能义无反顾的坚持到底。”
王启军在技术上有种初生牛犊不怕虎的冲劲和韧性在其中,偶然间他了解到云原生,一拍即合。“云原生从架构、流程、文化三个角度上很好的描述了我的想法。此后,我成为了云原生的忠实信徒和布道者。”
那么,什么才是云原生?云原生又能给我们带来什么呢?
王启军认为:云原生是一组最佳实践,如果你按照这种思想去设计、开发、测试、维护软件,能够发挥出云的最大价值,也就是说,你可以重用云的能力,站在巨人的肩膀上,更快速、更高质量的提供服务。
如今,随着Docker、Kubernetes的飞速发展,云原生、微服务架构在技术领域可谓家喻户晓,也成为越来越多的互联网公司业务开发的首选。
从云原生到边缘计算,边云协同是趋势
之后,随着王启军工作的变化,他开始将研究视角转到IoT领域。
IoT的关键是每个单独智能硬件的互联互通,且要满足低功耗、低时延、高安全等要求,所以在IoT领域,边缘计算非常重要。
举个例子,虽然越来越多的企业用云去替代传统的数据中心,但还是有很多业务场景没办法直接上云:
- 数据比较敏感,例如园区涉及到个人隐私,工业涉及到商业机密;
- 数据量非常大,如果上云,需要消耗大量的带宽,成本比较高;
- 上云的时延会比较高。
物联网下的很多业务场景都是如此。IoT主要连接各种各样的设备,然后把数据报上来,再给设备发送指令,这些设备的数据在某些场景下是敏感且重要的。
也许会有人提议,既然上云不可行,那就自建数据中心,构建自己的私有云。但这种模式也存在各种问题:首先工作量巨大,其次不是所有团队都能做到更高的SLA,最关键的是它无法享受到公有云带来的体验。在公有云的模式下,不需要自己运维,服务会自动升级,还有云服务提供商保障业务的可靠、安全。
在王启军看来,边云协同是最佳解决方案之一。
“数据不上云,连一根线,远程运维、升级,你还是能够享受到云服务,数据又不会跑出自己的数据中心。这在物联网场景下是非常受欢迎的。”
所以在IoT场景下,整体架构就分成了多层:公有云——混合云——智能站点——IoT边缘。其中,智能站点是华为云IoT在边缘侧的一个服务,类似于边缘云或者雾计算,通常3台物理机起步,可以处理边缘侧的大部分业务。

另外,王启军还着重强调了华为云IoT的另外两个关键能力。
1、什么设备都能接。物联网本质上是连接万物,目前整个行业的协议种类非常多,来自不同厂家的硬件,协议千差万别。如果基于这些硬件构建应用的话,仅适配的工作量就非常巨大,华为云IoT设备连接管理服务解决的首要问题就是什么设备都能接。
2、什么场景都能接。华为云IoT服务支持公有云、混合云、边缘云、网关等多种接入方式,能够满足各种千差万别的应用场景。
边缘不会取代公有云
谈到边云协同,就不得不提Edge Native,它是Cloud Native在边缘的一种延伸,除了继承Cloud Native的一些能力之外,Edge Native也有一些自己的特点:
1、本地资源受限,无法弹性伸缩,可以把公有云作为一种扩展,无法像公有云一样使用额外的资源进行升级,只能滚动升级。
2、扩展性要求很高,因为实际上边缘的场景很多,对性能要求的跨度很大,必须保持架构的扩展性以应对不同的场景。
3、如果按照传统的运维方式,无法达到公有云的可靠性。Edge Native需要做到一键安装,极简运维,运维是它的核心能力,例如机柜断电、服务器故障,需要做到自动恢复。
4、Cloud Native强调的是DevOps、快速反馈,而Edge Native升级限制比较多,没办法快速升级生产环境,需要有一套仿真环境让开发人员得到快速反馈。
也就是说,“Edge Native”应用的一系列特殊需求,如离线自治、故障自愈以及超大规模节点管理等,对Cloud Native技术提出了更高的要求。
如今,虽然边缘的势头越来越猛,但终归还是无法脱离云服务来谈它。王启军总结道,“从长远来看,边缘不会取代公有云,它会作为公有云的一种辅助,成为云的延伸。同时,物联网会变成互联网之上的一个更大的网络,IoT、AI、5G、区块链等关键技术的成熟会促进边缘的快速发展,会帮助人类进入智能时代。”

本文分享自华为云社区《【智简联接,万物互联】华为云·云享专家王启军:从中心到边缘,IoT正变为互联网之上的一张大网》,原文作者:我们都是云专家 。
从中心到边缘,IoT正变为互联网之上的一张大网的更多相关文章
- [Python] 网络爬虫和正则表达式学习总结
以前在学校做科研都是直接利用网上共享的一些数据,就像我们经常说的dataset.beachmark等等.但是,对于实际的工业需求来说,爬取网络的数据是必须的并且是首要的.最近在国内一家互联网公司实习, ...
- Python爬虫基础知识入门一
一.什么是爬虫,爬虫能做什么 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.比如它在抓取一个网 ...
- Python爬虫入门:爬虫基础了解
有粉丝私信我想让我出更基础一些的,我就把之前平台的copy下来了,可以粗略看一下,之后都会慢慢出. 1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫 ...
- 2.Python爬虫入门二之爬虫基础了解
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- python写机器人玩僵尸骰子
python写机器人玩僵尸骰子由Al Sweigart用python发布注意:我正在为我的僵尸骰子模拟器寻找反馈,以及这一套指令.如果你觉得有什么地方可以改进,请发邮件到al@inventwithpy ...
- python爬虫入门之URL
python爬虫,顾名思义是爬取信息的.大数据时代,信息的获取是非常关键的,它甚至能决定一个公司大发展的方向与未来,互联网就好像一张大网,人们想要获取信息就要从这张大网里爬取,这种手段也可以称为搜索引 ...
- Python爬虫入门(1-2):综述、爬虫基础了解
大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...
- [爬虫]Python爬虫基础
一.什么是爬虫,爬虫能做什么 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.比如它在抓取一个网 ...
- Python爬虫入门二之爬虫基础了解
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- Python爬虫入门有哪些基础知识点
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
随机推荐
- 从一次Kafka宕机说起(JVM hang)
一.背景 时间大概是在夏天7月份,突然收到小伙伴的情报,我们线上的一个kafka实例的某个broker突然不提供服务了,也没看到什么异常日志,反正就是生产.消费都停了.因为是线上服务,而且进程还在,就 ...
- ABC319 A-E 题解
A 用 map <string, int> 将名字对应的值存下来即可. 赛时代码 B 按照题意暴力模拟,注意细节. 赛时代码 C 答辩题,卡了我半个小时. 枚举 \(1\sim 9\) 的 ...
- Arithmetic Progression 题解
Arithmetic Progression 题目大意 存在一个打乱了顺序的等差数列 \(a\),你可以询问不超过 \(60\) 次,每次可以以以下两种方式之一进行询问: 查询 \(a\) 中是否有严 ...
- 【Java集合】单列集合Collection常用方法详解
嗨~ 今天的你过得还好吗? 路途漫漫终有一归, 幸与不幸都有尽头. 在上篇文章中,我们简单介绍了下Java 集合家族中的成员,那么本篇文章,我们就来看看 Java在单列集合中,为我们提供的一些方法,以 ...
- 知识图谱与大模型相结合的3种方法,1+1>2
本文分享自华为云社区<知识图谱与大模型结合方法概述>,作者: DevAI . <Unifying Large Language Models and Knowledge Graphs ...
- Html5学习内容-4
(一)display与visibility 这里主要控制元素是否显示 例子 visibility:文字消失空间保留 <!DOCTYPE html> <html lang=" ...
- animate.css 动画库的下载与使用
作者:WangMin 格言:努力做好自己喜欢的每一件事 animate.css是什么? animate.css 是一个有趣,酷炫的,跨浏览器的动画库,里面包含了许多常用的css动画.你可以将它用于你的 ...
- .NET8 WebApplication剖析
WebApplication 是用于配置HTTP管道和路由的web应用程序,接来下我将一一拆解它的组成. /// <summary> /// The web application u ...
- 开发一个现代化的.NetCore控制台程序,包含依赖注入/配置/日志等要素
前言 最近需要开发小工具的场景有点多,上次我用 go 语言开发了一个 hive 导出工具,体验还不错,只是 go 语言的语法实在是喜欢不起来,这次继续试试用 C# 来开发小工具. 这次小工具的功能很简 ...
- 最小的k个数 (3.20 leetcode每日打卡)
输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:arr = [3,2,1], k = 2 输 ...