Come posso evitare che i miei dispositivi IoT si rompano quando i servizi cloud si interrompono?


8

Recentemente, Amazon S3 ha avuto un'interruzione che ha causato la caduta di molti servizi Web, tra cui IFTTT , che viene spesso utilizzato per collegare insieme i dispositivi IoT (ad esempio, collegando Alexa ad alcune lampadine Philips Hue).

Le telecamere di sicurezza Nest hanno smesso di funzionare , gli smart switch TP-Link si sono rifiutati di accendersi e qualcuno non è stato in grado di modificare la sensibilità del mouse perché si sincronizza con il cloud a causa dell'interruzione, a quanto pare.

In una casa intelligente con alcune lampadine Philips Hue, un Amazon Echo e alcuni interruttori intelligenti, mi piacerebbe provare a evitare problemi del genere in modo che la mia casa non si "abbassi" insieme ai servizi cloud.

Come posso capire se i miei dispositivi si basano su un singolo servizio ed evitarlo se possibile?

Risposte:


9

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


1
questo sembra essere molto istruttivo!
Prashanth Benny

1
Forse vale la pena notare che la ridondanza probabile raddoppia il costo corrente di un servizio e questo avrà un impatto enorme sul modello di business per chiunque non sia un fornitore principale.
Sean Houlihane

La tua ultima domanda verrà derisa dall'industria automobilistica. Il software non è affidabile perché non è nemmeno testato rigorosamente la metà delle auto, almeno nelle auto dei paesi occidentali. In sostanza è possibile rilasciare qualsiasi software a metà. Auto, non così tanto. Tra l'altro la replica tra regioni non avrebbe aiutato la scorsa settimana. La replica di solito non è impostata a fini di ridondanza, ma per una rapida accessibilità globale. Il blog Netflix collegato in quella risposta risolve un problema completamente diverso. Un'interruzione ELB. ELB non è un archivio.
Helmar

@Helmar Ho fatto un po 'più di ricerca sul problema della replica tra regioni e non ci sono davvero molte prove in entrambi i casi - alcuni dicono che lo farebbero, altri dicono che non lo farebbero . Lo modificherò comunque. Per quanto riguarda il bit Netflix, questa non è la parte a cui intendevo fare riferimento, è solo allegata alla stessa risposta.
Aurora0001
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.