Come consumatore
Le tue opzioni sono spesso piuttosto limitate come consumatore, ma puoi minimizzare i tuoi rischi in alcuni modi selezionando attentamente i prodotti che usi e come li colleghi.
Controlla cosa succede quando il tuo dispositivo perde la connettività Internet
Di solito, puoi semplicemente fare una rapida ricerca su Google per vedere cosa succede quando un determinato dispositivo si disconnette da Internet. Alcuni dispositivi falliranno completamente se la loro connessione a un server cloud remoto viene persa, come Amazon Echo :
Echo richiede una connessione Wi-Fi attiva per parlare, elaborare i comandi e trasmettere contenuti multimediali.
A volte, c'è una buona ragione (ad esempio, Echo deve trasmettere i comandi al cloud per elaborare le tue istruzioni, come indicato in " Amazon Echo" ascolta sempre "e invia dati al cloud? "), Ma per altri, potrebbe essere solo una svista o un difetto di progettazione nel tuo prodotto.
Se hai fisicamente il dispositivo, potresti provare a scollegare il router per vedere cosa succede: questo potrebbe non essere un ottimo test, perché è più probabile che un server remoto si rompa ma le connessioni locali funzioneranno comunque, ma è qualcosa da provare.
Con abbastanza tempo da perdere in modo produttivo per migliorare la tua configurazione , potresti potenzialmente sniffare pacchetti dai tuoi dispositivi, quindi applicare un blocco a livello di router a determinati domini — in questo modo, sapresti cosa sarebbe successo se fosse mydeviceserver.com
andato completamente giù. Naturalmente, ciò richiederebbe molto tempo, quindi potrebbe non essere pratico testare tutti i tuoi dispositivi in una grande casa con molti dispositivi "intelligenti".
Usa la connettività locale
Se stai solo accendendo le luci dal tuo smart switch, potrebbe non essere necessario indirizzare tutto il traffico attraverso Internet, verso un server cloud a migliaia di miglia di distanza e tornare alla tua lampadina: potresti semplicemente essere in grado di indirizzare il comandare invece tramite dispositivi locali. Molte volte, questi dispositivi utilizzeranno un protocollo come ZigBee o Z-Wave, quindi potresti aver bisogno di un hub per coordinare il traffico (vedi ' Perché ho bisogno di hub per alcuni dispositivi quando automatizzo la mia casa? ').
Come sviluppatore
Per gli sviluppatori di dispositivi IoT, un'attenta progettazione di un dispositivo può evitare che problemi come l'interruzione recente di S3 colpiscano i consumatori. Naturalmente, i progettisti IoT non sono sempre noti per un'attenta progettazione, ma se stai leggendo questo, probabilmente non fai parte di quel gruppo.
I servizi di progettazione devono essere ridondanti
In particolare per la recente interruzione di Amazon S3, potrebbe non esserci stato molto da fare. Ci sono alcuni rapporti secondo cui la replica inter-regione potrebbe aver potenzialmente impedito l'arresto dei servizi, come spiegato in questa domanda su DevOps Stack Exchange , ma si discute se questo sia davvero vero o solo un consiglio scadente .
Se possibile, avere una sorta di ridondanza o backup sarebbe l'ideale - anche se i costi sono maggiori, è necessaria un'ulteriore affidabilità - altrimenti, le luci delle persone smettono di rispondere, gli interruttori di alimentazione si rifiutano di funzionare, ecc.
Aggiungi un supporto migliore per scenari senza connessioni a Internet
Ho elencato "Usa la connettività locale" in modo che un consumatore possa evitare questo problema, ma è una battaglia persa . I dispositivi spesso non supportano la connessione in altro modo se non attraverso il loro servizio web approvato e i produttori sono riluttanti a dedicare tempo agli sviluppatori su questo. Se il supporto fosse maggiore, si farebbe meno affidamento sui servizi cloud, a vantaggio anche del produttore, perché non devono pagare per così tanta capacità del server.
Con tutte queste opzioni, perché sono stati interessati così tanti dispositivi?
Perché nessuno vuole passare il tempo: progettare qualsiasi tipo di sistema affidabile richiede molto tempo e fatica, ed è spesso molto più complesso della soluzione "stupida" comparabile (ad es. Semplici interruttori elettrici).
Perché il software non è affidabile come un'auto? Perché il software ha molta più complessità, ma non è testato quasi rigorosamente come una macchina. Lo stesso problema sembra valere per l'IoT: il controllo dei dispositivi attraverso una rete è molto più complesso, quindi le cose possono andare molto più facilmente, come abbiamo visto con il recente incidente S3.