Como evitar que meus dispositivos IoT quebrem quando os serviços em nuvem são desativados?

8

Recentemente, o Amazon S3 teve uma interrupção que causou a queda de muitos serviços da Web, incluindo o IFTTT , que é frequentemente usado para vincular dispositivos de IoT (por exemplo, conectar o Alexa a algumas lâmpadas Philips Hue).

As câmeras de segurança da Nest pararam de funcionar , os comutadores inteligentes TP-Link se recusaram a ligar e alguém não conseguiu alterar a sensibilidade do mouse porque sincroniza com a nuvem por causa da interrupção, aparentemente.

Em uma casa inteligente com algumas lâmpadas Philips Hue, um Amazon Echo e alguns comutadores inteligentes, eu gostaria de tentar evitar problemas como esse, para que minha casa não "desça" junto com os serviços em nuvem.

Como posso descobrir se meus dispositivos dependem de um único serviço e evitá-lo, se possível?

Aurora0001
fonte

Respostas:

9

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.comfosse 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.

Aurora0001
fonte
1
este parece ser muito informativo!
Prashanth Benny
1
Talvez seja interessante notar que a redundância provavelmente dobra o custo contínuo de um serviço, e isso terá um enorme impacto no modelo de negócios para qualquer pessoa que não seja um grande fornecedor.
Sean Houlihane
Sua última pergunta será ridicularizada pela indústria automobilística. O software não é tão confiável porque não é nem metade do rigor testado como os carros - pelo menos nos países ocidentais. Basicamente, todo software de meia-boca pode ser lançado. Carros, nem tanto. Entre a replicação entre regiões não teria ajudado na semana passada. A replicação geralmente não é configurada para fins de redundância, mas para acessibilidade global rápida. O blog Netflix vinculado nessa resposta visa um problema completamente diferente. Uma interrupção ELB. ELB não é armazenamento.
Helmar
@ Helmar Fiz uma pesquisa um pouco mais sobre o problema de replicação entre regiões e não há realmente muita evidência de qualquer maneira - algumas pessoas dizem que sim, outras dizem que não . Vou editar um pouco. Quanto à parte do Netflix, essa não é a parte que eu pretendia referenciar, mas sim anexada à mesma resposta.
Aurora0001