Como consumidor
Suas opções costumam ser bastante limitadas como consumidor, mas você pode minimizar seus riscos de algumas maneiras, selecionando cuidadosamente os produtos que você usa e como os conecta.
Verifique o que acontece quando seu dispositivo perde a conectividade com a Internet
Geralmente, você pode fazer uma pesquisa rápida no Google para ver o que acontece quando um determinado dispositivo se desconecta da Internet. Alguns dispositivos simplesmente falham completamente se a conexão com um servidor de nuvem remota for perdida, como o Amazon Echo :
Seu eco requer uma conexão Wi-Fi ativa para falar, processar seus comandos e transmitir mídia.
Às vezes, há um bom motivo (por exemplo, o Echo precisa transmitir comandos para a nuvem para processar suas instruções, conforme declarado em ' O Amazon Echo' está sempre ouvindo 'e enviando dados para a nuvem? '), Mas para outros, pode ser apenas uma falha de supervisão ou design no seu produto.
Se você possui o dispositivo fisicamente, pode tentar desconectar o roteador para ver o que acontece - isso pode não ser um bom teste, porque é mais provável que um servidor remoto seja interrompido, mas as conexões locais ainda funcionem, mas é algo a tentar.
Com tempo suficiente para desperdiçar o uso produtivo para melhorar sua configuração , você pode potencialmente cheirar pacotes de seus dispositivos e aplicar um bloco no nível de roteador a determinados domínios - dessa forma, você saberia o que aconteceu se a situação mydeviceserver.com
fosse completamente interrompida. Obviamente, isso levaria muito tempo, portanto, pode não ser prático testar todos os seus dispositivos em uma casa grande com muitos dispositivos 'inteligentes'.
Use conectividade local
Se você está apenas acendendo as luzes do seu comutador inteligente, pode não ser necessário direcionar todo o tráfego pela Internet, para um servidor em nuvem a milhares de quilômetros de distância e voltar para a lâmpada - você pode apenas rotear o comando através de dispositivos locais. Na maioria das vezes, esses dispositivos usam um protocolo como o ZigBee ou o Z-Wave; portanto, você pode precisar de um hub para coordenar o tráfego (consulte ' Por que preciso de hubs para alguns dispositivos ao automatizar minha casa? ').
Como desenvolvedor
Para desenvolvedores de dispositivos IoT, o design cuidadoso de um dispositivo pode evitar problemas como a recente interrupção do S3 de afetar os consumidores. Obviamente, os designers de IoT nem sempre são conhecidos por um design cuidadoso , mas se você está lendo isso, provavelmente não está nesse grupo.
Serviços de design redundantes
Para a recente interrupção do Amazon S3, em particular, pode não haver muito o que você possa fazer. Há alguns relatos de que a replicação entre regiões pode ter potencialmente impedido a queda dos serviços, conforme explicado nesta pergunta no DevOps Stack Exchange , mas é debatido se isso é realmente verdadeiro ou apenas um mau conselho .
Se possível, seria ideal ter algum tipo de redundância ou backup - embora os custos sejam maiores, a confiabilidade adicional é muito necessária - caso contrário, as luzes das pessoas param de responder, os interruptores de energia se recusam a trabalhar etc.
Adicione melhor suporte para cenários sem conexões à Internet
Listei 'Usar conectividade local' das maneiras que um consumidor pode evitar esse problema, mas é uma batalha perdida . Os dispositivos geralmente não suportam a conexão de nenhuma outra maneira que não seja através de seu serviço Web aprovado, e os fabricantes relutam em gastar o tempo do desenvolvedor nisso. Se o suporte fosse maior, haveria menos dependência dos serviços em nuvem, o que também beneficia o fabricante, porque eles não precisam pagar por tanta capacidade do servidor.
Com todas essas opções, por que tantos dispositivos foram afetados?
Como ninguém quer gastar tempo - projetar qualquer tipo de sistema confiável leva muito tempo e esforço, e muitas vezes é muito mais complexo que a solução "burra" comparável (por exemplo, interruptores elétricos simples).
Por que o software não é tão confiável quanto um carro? Como o software tem muito mais complexidade, ainda não é testado com a mesma rigor que um carro seria. O mesmo problema parece se aplicar à IoT - o controle de dispositivos por meio de uma rede é muito mais complexo, portanto as coisas podem dar errado com muito mais facilidade, como vimos no recente incidente do S3.