当云服务出现故障时,如何避免我的 IoT 设备损坏?

物联网 智能家居 亚马逊-s3
2021-06-08 02:22:32

最近,Amazon S3出现中断,导致许多网络服务出现故障,包括IFTTT,它通常用于将物联网设备连接在一起(例如将您的 Alexa 连接到一些飞利浦 Hue 灯泡)。

Nest 安全摄像头停止工作,TP-Link 智能开关拒绝打开,并且有人无法更改鼠标灵敏度,因为显然由于停电,它与云同步

在配备几个飞利浦 Hue 灯泡、亚马逊 Echo 和一些智能开关的智能家居中,我想尝试避免此类问题,这样我的房子就不会随着云服务而“瘫痪”。

如何确定我的设备是否依赖单一服务并尽可能避免使用?

1个回答

作为消费者

作为消费者,您的选择通常非常有限,但您可以通过多种方式通过仔细选择您使用的产品以及如何连接它们来最大程度地降低风险。

检查当您的设备失去 Internet 连接时会发生什么

通常,您只需在 Google 上进行快速搜索,即可查看当某个设备与 Internet 断开连接时会发生什么。如果与远程云服务器的连接丢失,某些设备将完全失败,例如Amazon Echo

您的 Echo 需要有效的 Wi-Fi 连接才能说话、处理您的命令和流式传输媒体。

有时,有一个很好的理由(例如,Echo 必须将命令流式传输到云来处理您的指令,如“ Amazon Echo 是否“一直在监听”并将数据发送到云中所述?),但对于其他人来说,这可能只是您产品中的疏忽或设计缺陷。

如果您实际拥有该设备,您可以尝试拔掉路由器的插头,看看会发生什么——这可能不是一个很好的测试,因为远程服务器更有可能中断,但本地连接仍然可以工作,但这是值得尝试的。

有了足够的时间来浪费 使用高效,以提高你的设置,你可能会从你的设备嗅探数据包,然后应用路由器级封锁某些域,这样一来,你知道发生了什么,如果mydeviceserver.com完全去了。当然,这将需要很长时间,因此在拥有大量“智能”设备的大家庭中测试所有设备可能不切实际。

使用本地连接

如果您只是通过智能开关打开灯,您可能不需要将所有流量都通过 Internet 路由到数千英里外的云服务器,然后再返回到您的灯泡——您可能只需要路由而是通过本地设备命令。很多时候,这些设备将使用 ZigBee 或 Z-Wave 之类的协议,因此您可能需要一个集线器来协调流量(请参阅“为什么我的家庭自动化时某些设备需要集线器? ”)。

作为开发者

对于物联网设备的开发者来说,精心设计设备可以避免最近 S3 中断等问题影响消费者。当然,物联网设计者并不总是知道精心的设计,但如果你正在读这篇文章,你可能不是该组群。

将服务设计为冗余

特别是对于 Amazon S3 最近的中断,您可能无能为力。正如DevOps Stack Exchange 上的这个问题所解释的那样,有一些报告称,跨区域复制可能会阻止服务停机,但对于这是真的还是只是糟糕的建议存在争议

如果可行,有某种冗余或备份将是理想的——虽然成本更高,但非常需要额外的可靠性——否则,人们的灯停止响应,电源开关拒绝工作等。

增加对无互联网连接场景的更好支持

我在消费者可以避免此问题的方式下列出了“使用本地连接”,但这是一场失败的战斗这些设备通常不支持通过其批准的 Web 服务以外的任何其他方式进行连接,并且制造商不愿意在这方面花费开发人员的时间。如果支持更大,对云服务的依赖就会减少,这也有利于制造商,因为他们不需要为如此多的服务器容量付费。

有了所有这些选项,为什么会有这么多设备受到影响?

因为没有人愿意花时间——设计任何一种可靠的系统都需要花费大量的时间和精力,而且通常比类似的“愚蠢”解决方案(例如简单的电气开关)复杂得多。

为什么软件不如汽车可靠?因为该软件的复杂性要高得多,而且还没有像汽车那样经过严格的测试。同样的问题似乎也适用于物联网——通过网络控制设备要复杂得多,所以事情更容易出错,正如我们在最近的 S3 事件中看到的那样。