Extending Power of Kubernetes to Edge

来源meidan《KubeEdge — Extending Kubernetes to Edge》

根据目前华为对外界发出的关于鸿蒙系统的介绍,华为方面称鸿蒙系统内核为“Linux内核、鸿蒙微内核和LiteOS”  ,再结合其主要应用领域为物联网Lot(Internet of Things)环境,大致可以判断出鸿蒙系统等于“任意OS环境+容器”。并根据余承东的描述,未来将摆脱Linux内核和LiteOS,只有鸿蒙微内核,可猜测出其实鸿蒙即目前已经开源的KubeEdge项目,该项目目前为开源系统,属于对于google开源项目Kubernetes(K8S)的再开发。相较于K8S而言KubeEdge更为轻量化,并且完成去中心化,因此也就更适合在时常无法连接中心并需要独立计算的边缘计算领域。这也是为什么华为方面称鸿蒙或不使用于手机系统,因为本身该项目的设计初衷并非服务于手机系统,而是服务于华为接下来快速铺设的小型化高效率化的5G基站系统。

 

可能看完上述一段的读者还会有些雨里雾里,请耐心读完下面这一段内容。目前绝大多数的移动设备系统OS都是物理安装于设备上,比如Android与iOS,OS系统提供了所有软件所需要的运行环境,所有的应用APP必须要特定适合的环境才能运行。大多数Android使用者都会有以下感受,随着手机使用时间增加逐渐卡顿,这便和Android设计之初并未完全隔离应用与系统底层息息相关。相较之下,iOS采取了沙盒策略使得各软件相互独立权限受到极大制约,因此才有了高稳定性与高安全性。Android脱胎于开源Linux系统,而随着Linux系统的发展,越来越多的开发者意识到,他们花费了巨量的时间在底层环境的编译,环境的稍有错误,便会出现各式报错。每安装一次Wordpress博客系统,使用者便需要花费几个小时完成LNMP环境的编译,这重复且浪费时间。因此Docker应运而生,人们将环境变量与程序打包为一个个容器镜像,宛如码头上一个个的集装箱,之后需要使用者无需思考自己的系统OS是什么,只需要将集装箱拖到自己码头即可完成配置。docker logo

一个人完成完整封装集装箱=所有人都可以节省下准备环境的时间。随着Docker的进一步发展,人们开始思考,为什么我们要一个一个码头的管理,我们难道不可以建起一座码头管理所管理各个地方的码头么?因此Swarm应运而生,在英语里Swarm即蜂群,工蜂机械化的劳作受着蜂后的指挥。在docker swarm里面,一个Master管理着多个Slave,一旦设置好中心节点,我们便不再需要再去主动管理Slave节点。google自家的K8S近似于docker swarm,并且为免费开源的系统,因此受到很多开发者的欢迎。

 

然而K8S和Docker Swarm正如上面的鲸鱼和舵手一样,鲸鱼拥挤作一团而全船只能期望舵手的航行技艺。这两者相对初始的愿望而言,都有些臃肿,因此K3S早于华为KubeEdge项目诞生,有效的减少了资源的占用。K3S 会在边缘运行完整的 Kubernetes 集群,这意味着 K3S 并不是一个去中心化的部署模型,每个边缘都需要额外部署 Kubernetes 管理面。该设计有着两个缺陷,一重复的资源占用,二缺乏离线自治能力,因此并不合适边缘计算领域。在K3S之后,华为推出了自己的KubeEdge开源项目,这是一个真正的去中心化的集群项目,每个节点都有着能独立战斗的能力。

 

emmmmm,接下很多人肯定会疑惑,轻量化和我们有啥关系?去中心化独立战斗有什么关系?先讲讲去中心化的价值:

目前国内家用物联网领域的巨头小米同学,凭借低廉的价格所向披靡,然而任何人试图在家使用小米设备永远逃不脱一个东西即米家多功能网关,离开了网关系统,小米智能家用系统就成小米智障家用系统,你连风扇都没法手动打开。小米采取网关系统也是无奈之举,因为没有中心节点就无法统一地沟通各个设备达成所谓智能的感受。华为KubeEdge的价值在于,哪怕处于非长期联网的状态下,各个节点依然可以自主运行,5G的远程基站哪怕连不上中心节点,也能自主切换线路或者替换失效设备,建筑内各式门禁系统在遇到特定触发条件便会激活并启动另一设备的操作。这所有的一切便不再需要一个核心的大脑去指挥操作,各个节点能够自主行动,这就是去中心的价值。

 

再谈谈轻量化,4G目前的网关系统由4G小基站、小基站网关及网管系统组成。多个物理设备完成了一套基站系统的建设,较难小型化和轻量化。而KubeEdge的价值在于对于内存占用的巨额减少,引用《KubeEdge 向左,K3S 向右》一文的测试结果,KubeEdge可以保持非常低的内存占用,在一台物理设备上可以虚拟化搭载多个容器,完成单设备多网管系统的建设。一则降低了设备成本,二则更容易小型化。如果经常搭乘地铁的小伙伴可能会见过地铁刷卡系统的报错,弹出底层的window系统,相较于在window底层上搭载服务,KubeEdge有着无与伦比的优越性。

除此之外,去中心轻量化的系统,潜在企业受众可能更多,由于信息不需要回传回数据中心,对于保密性更高领域比如视频监控领域,能够本地化完成处理分析更能满足企业用户需要。安讯士网络之所以拿到苹果在富士康龙华科技园网络视频监控系统的订单也和他们在本地调试完成的AI视频分析系统有关。海康威视这样的企业由于更中心化较难拿到需要高保密要求的企业订单。

 

叨唠了这么多,最后简单讲讲我的感受。华为可能并不急于将鸿蒙系统推向手机设备,如果可以继续使用Android系统,就不需要重新封装软件完成生态。但是如果不能使用Android系统,华为也随时能将鸿蒙系统推向市场,对于开发者也只需要重新将app封装为docker镜像,不需要考虑不同设备的运行环境既可运行软件。这套系统潜在的可怕之处是会对绝大多数互联网企业产生降维打击效果:

1.小米嘲讽华为不懂开发,然后一旦华为进军家用物联网领域,各个设备之间互联与配置将远远容易于小米目前的智能家居系统。小米的智能家居系统由于都是第三方设计制造,在设计理念上已经积重难返,难以重新适应去中心化的思路。

2.传统电信行业也将迎来巨大洗牌,一旦5G基站基于华为的技术部署,所需要维护量会巨幅缩小,目前大批量的电信工作人员将会面临技术更新的淘汰。

3.海康威视这样号称智能化,实际依旧无法去中心化的企业,会由于市场饱和面临瓶颈期。

4.鸿蒙是下一个世代的手机系统理念,将巨幅降低软件设计开发的难度。现有的软件移植容易,开发环境友好,又有接近于iOS的沙盒效果,整体的安全程度远高于Andriod。