考虑到这一点,现在整个技术行业正在发生更多的变化,以支持那些将物联网与现有产品(汽车、家电、玩具)相结合的人,以及那些希望成为下一个大热门的人,他们拥有全新的东西,而你在得到之前并不知道自己需要它。
真的。 虽然政府在物联网采购领域占据主导地位(根据我们的《2016 年application交付状况》报告),但电信、技术和云服务提供商也紧随其后。 事实上,每个行业在过去十二个月中的购买率都相当不错,这表明,如果你只关注消费领域,你会发现,物联网领域还有更多的工作要做。
大部分事情都发生在基础设施中;在网络中,后端的applications提供连接和即时响应,这些应用程序管理、计量、监控、保护并与嵌入在孩子最喜欢的泰迪熊中的那些可爱小芯片进行交互。
与任何应用程序或客户端一样(因为这些远程事物实际上就是客户端),它们需要一组基本服务才能持续、可预测且可靠地运行。 即,他们需要能够实现安全性、交付性和可见性的服务。
安全
对于新技术,我们往往最后才关注安全性,因此我将从安全性开始讲起,因为如今,即使是像物联网这样刚刚起步的技术,安全漏洞也往往最受关注。
事物需要与后端应用程序进行沟通。 无论是保存数据、检索更新或补丁,还是更改配置,都必须与后端应用程序进行安全的通信。 这意味着通过 SSL 或 TLS 提供安全隧道支持。 这意味着使用安全的 HTTP,而不是纯文本,并且还意味着不要将密钥硬编码到你的东西中。 我对这个很认真。 不要这样做。
安全还意味着身份验证。 是的,我知道这是一辆车,但它是谁的车? 我们需要能够快速准确地识别事物并将其与授权用户和所有者相关联的服务,以减轻我的邻居可能决定我的收音机应该调到重金属电台以外的其他电台的可能性。 多么恐怖啊!
最后,安全还意味着协议分析。 这一点很重要,尤其是考虑到正在考虑在整个物联网领域进行标准化的新协议。 协议不安全性可能是一个重大风险(您可能还记得 Heartbleed),并且往往很难及时解决。 检测协议潜在滥用的能力可以提前纠正风险。
送货
交易数据和其他数据都需要传送至事物和后端应用程序。 这样做并不总是仅仅将一堆 JSON 编码的位推送到某个 REST API 的问题。 许多事物都使用物联网的新语言: MQTT、CoAP 和 AQMP。 但是它们各自的后端应用程序呢? 他们之所以说 REST,是因为它们还为 Web 和移动应用程序提供对相同功能和信息的访问。 这最终意味着在传送路径的某个地方存在一个网关、一个转换器以及一个提供协议互操作性的中介机构。
这使得您汽车中的设备能够通过MQTT发送数据或消息,而使用 REST 的后端应用程序可以理解这些数据或消息。 中介机构会进行拦截和翻译(安全地),从而为您的设备和其应用程序之间提供无缝对话。 把中介想象成 C3PO,而你的汽车(或其他东西)则是 R2D2。 这意味着本机协议支持以及软件定义的方法,该方法提供了一个脚本平台,通过该平台可以快速开发对其他协议的支持。 数据路径脚本是网络可编程性的三个关键组件之一,但提及得最少。 当谈到物联网并支持各种各样的协议和语言时,这种通常不为人知的功能所提供的灵活性将是无价的。
我之前提到过规模是一个考虑因素,在交付过程中,我们看到该要求得到了支持。 例如,为了扩展对一百万种事物的支持,您可能会使用基于分解的应用程序架构。 也许不是成熟的微服务,但您至少可能会分离出功能域,以便使用更高效(且具有成本效益)的方法实现不同功能的扩展。
这就是基于消息的负载平衡的用武之地。 您可能还记得服务提供商领域中与Diameter 和 SIP 等协议一起提到的这个概念,其中规模的功效和成本效益至关重要。
基于消息的负载平衡很重要,因为 MQTT 等协议基于消息。 它们是一种发布-订阅(发布-订阅)模型,与人们可能听说过的企业内部深处的基于消息的中间件不同。 无论如何,它们都是基于消息的,并且这些消息需要被解析并发送到适当的服务或设备。 要做到这一点并扩大规模意味着负载平衡服务必须能够解析消息并确定将其发送到何处,然后选择合适的资源来处理它。
这并不像听起来那么容易,因为基本负载平衡器的application解析能力有限。 但支持物联网设备所偏好的协议的扩展将成为一项要求。
能见度
最后,基础设施必须支持可见性。 这意味着能够看到正在发生的事情。 对安全交易(SSL 检查)的可见性使得安全部门能够采取行动并识别不良行为者。 对使用模式的可见性可以推动适当服务的自动扩展。
可视性不仅仅涉及“大数据”提供强大的运营分析,还提供报告和日志记录。 在这些复杂的架构中,故障排除将变得非常棘手,而日志记录对于工具和人员追踪问题来说都至关重要。
扩展和支持物联网不仅仅涉及小工具。 在网络、基础设施以及支持它所需的运营框架方面还有很多工作要做。 好消息是,如果您是那些致力于(非常重要的)后端架构的人之一,并且该架构将为一些很酷的小工具提供支持,那么您总是可以证明您需要一个(或三个)进行测试。