智能硬件“黄金三角形”
GAgent 在云端所提供的各类型接口能够让整个连接过程变得更加简易,这些接口在传输层面支持多种协议,包括 MQTT,HTTP/S,还有 WebSocket等。MQTT 是由 IBM 最先倡导的一套专门用于物联网的协议,适用于互联网这样网络环境不可靠的场景;同时它又是基于二进制的数据格 式,特别适用于硬件上的嵌入式开发。而 HTTP/S 和 WebSocket 则用于一些应用的开发,如微信的应用或者是基于HTML5的应用。多样化的接口能 让开发者根据不同的应用场景选择不同的方式。
此外,机智云还在云端提供了一个开发者的自助服务界面,使得我们可以通过一些简单的表单操作就可以完成对一款新的智能硬件的功能定义。我们会帮开发者生成一系列包括嵌入式开发的协议文档、智能手机应用的 SDK、云端的相关接口、 还有一个用于演示产品功能的智能手机应用。另外,我们还提供了一个运行在云端的虚拟设备,帮助开发者能够在一行代码都不用编写的情况下,测试自己产品的各项功能。
CSDN:能否介绍您在打造物联网和智能硬件平台过程中,主要运用的技术?在平台开发过程中,面临哪些技术难点?
刘琰:机智云在云服务方面主要用 Python、Ruby 等语言来开发。数据层是机智云核心,用到 MongoDB、MySQL、Redis 技术;大数据领域,用到流式大数据处理框架 Spark。在 IaaS 层面,尽量做到服务供应商的中立型,也就是说机智云的整套架构部署可以无缝部署在阿里、腾讯、亚马逊、微软等 IaaS 平台。
对于平台打造过程中的通用技术难点,主要就是如何从一个大的服务到微服务转化,这个过程花费了团队很大的精力,包括现在还在不断的去做。这个很好理解,刚开始的时候,一个平台刚刚起步,一般是一体化的服务,业务比较简单,但是随着后期的访问量的增加,业务越来越复杂,各种各样的需求会不断的叠加进来,所以有段时间,机智云平台自身增加新的业务非常困难。因为你要考虑的东西特别多,例如增加新的功能会不会影响旧功能的使用等等。
另外,公司人员的增加,如何让员工快速进入开发节奏,目前机智云参考 Facebook 的做法,就是将服务尽量的切小,每一个服务负责一个非常单一的功能目的,让新员工可以在一天之内为服务贡献代码。除此之外,机智云的 SDK、GAgent(WiFi 模块中的固件程序)或者 GPS、蓝牙通讯模块里面的代码程序,需要有一个合理的发布节奏。目前机智云的云端服务现在基本上每天可以发布多次,而客户端的 SDK/GAgent 等产品则是每月发布一次,这样就平衡了功能的演进、缺陷的修复、质量的稳定等几个方面的关系。
CSDN:您认为目前物联网主要面临哪些安全性问题?从您的个人角度来看,有什么较好的解决方案?
刘琰:物联网安全是个重要话题。物联网产品跟手机/电脑不一样,没有用户持续的去管理它的操作系统,一方面不太容易发现被随随便便安装的病毒软件,同时也正因为没有用户每天照看,如果设备的安全防线被成功击破,也很不容易被发现。受制于大部分企业没有完整的技术开发人员和完善的专业运维和安全团队,现在企业依托现有工程师自主研发的产品或多或少都存在一些安全隐患,攻击者利用这些产品因各种因素制约没有考虑到的安全漏洞,可以监控或接管这类设备的运作,甚至令其感染恶意程序等,为消费者和厂家带来不同程度的困扰和损失。
对于物联网安全,个人认为有六大物联网安全的考虑点:
网络安全。 本地网络和数据上云管道的安全,思科、华为这些硬件厂家比较擅长这个。
安全认证。 用户和设备的身份和权限管理,我们这样的互联网公司比较擅长。
数据加密算法。 需要在端部和云端同时做,需要机智云这样的端到端技术平台支持。
PKI。 公钥基础设施,这个在互联网阶段就比较成熟,但是应用到智能硬件上,很多硬件还没用起来。
持续的安全数据分析。 这个对大数据能力提出很高要求,也是机智云在投入端方向,可以通过数据分析防范尚未成功的攻击。
云端接口的安全保护。 这个互联网公司比较擅长,我们做云计算超过10年,保护服务接口是我们的强项。