Perché uno sviluppatore software sceglie Connhex
In quanto sviluppatori software, amiamo costruire da zero sistemi complessi. Quando qualcuno ci chiede se il nostro team può realizzare una soluzione IoT, il primo pensiero che abbiamo tutti è:
Certo che possiamo! Quanto potrà mai essere difficile?
Questo il piano, all'incirca: rovistare in tutto GitHub per trovare i migliori progetti open source da poter assemblare a nostro piacimento, creando un'architettura scalabile - per poi iniziare a scrivere subito le prime righe di codice. Questo atteggiamento è meraviglioso - è una delle ragioni per cui il nostro lavoro è fantastico.
Tuttavia, è più facile a dirsi che a farsi, come abbiamo scoperto a nostre spese.
Questa pagina descrive i vantaggi nello scegliere Connhex anziché costruire da zero una piattaforma IoT completa, e quando Connhex è preferibile rispetto alle alternative disponibili sul mercato.
Perché dovresti scegliere Connhex invece di costruire da zero
Costruire una soluzione cloud per raccogliere dati da dispositivi remoti è facile. Costruire un'infrastruttura IoT scalabile, che sia la spina dorsale della tua soluzione di connettività per il prossimo decennio? Tutto tranne che facile.
I database sono il punto critico per l'IoT
Tutti i casi d'uso IoT comprendono funzionalità di monitoraggio. Una volta che la tua azienda decide di creare un sistema di monitoraggio, cercherà di raccogliere il maggior numero possibile di metriche: questo si traduce in un'elevata pressione sui database della tua infrastruttura.
"Basterà scalare e aggiungere tutte le repliche necessarie", potrebbe essere il tuo primo pensiero: sfortunatamente, ti scontrerai con vincoli di budget in fretta. Il tipico modello di business IoT consiste in un piano gratuito, oltre al quale vengono offerti servizi aggiuntivi a pagamento: tuttavia, tutti i dispositivi inviano tutti i dati - ed il piano a pagamento deve coprire i costi per entrambi.
Puoi ridurre la retention dei dati, ma non puoi evitare di dover spremere ogni singolo bit di efficienza dal tuo cluster di database. Questo non significa che non puoi farlo in autonomia, ovviamente: tieni solo presente che è più difficile di quanto sembri1 e pianifica di conseguenza.
Il punto chiave? Creare un sistema di archiviazione efficace è complesso: non pensare che basti individuare una tecnologia di database adeguata e scalarla 2.
Costruire è solo il primo passo
La differenza principale tra la creazione di un'infrastruttura IoT e la sua esecuzione in un ambiente di produzione è questa:
Costruire un'infrastruttura IoT è divertente. Mantenerne una in produzione non lo è.
Impiegherai in attività secondarie almeno il doppio del tempo necessario per costruirla: stress test, validazione, documentazione per conformità e creazione di sistemi di monitoraggio.
E questo è solo l'inizio: trascorriamo gran parte del nostro tempo per assicurarci che tutto funzioni correttamente.
Gestire dati coinvolge normative
Un aspetto spesso trascurato nel trattare i dati è la conformità a differenti normative.
Questo non può essere ridotto a una casella che gli utenti spuntano prima di registrarsi: la tua azienda potrebbe dover difendere le proprie scelte architetturali, anche in mercati non regolamentati. Scegliendo Connhex, hai un vantaggio nel dimostrare la conformità delle tue soluzioni.
Il tuo tempo è prezioso
Per quanto sarebbe bello poter fare tutto, dobbiamo tenere d'occhio il costo opportunità di ogni nostra decisione.
Il tuo tempo probabilmente è meglio impiegato applicando la tua conoscenza del settore per risolvere i problemi degli utenti piuttosto che monitorare l'uso del disco, aggiornare ogni dipendenza e garantire uno SLA minimo.
Presta attenzione ai requisiti di progetto
Puoi fare tutto a regola d'arte e non riuscire comunque a consegnare un'infrastruttura performante.
I requisiti evolvono sempre nel tempo, i dispositivi prodotti nel corso degli anni hanno le loro particolarità. Non importa quanto bene sia progettata la tua architettura, il rischio di trovarti ad aggiungere if
ovunque è sempre presente.
Uno dei più grandi punti di forza di Connhex è essere attualmente utilizzato in un'ampia gamma di casi d'uso: supporterà sia i tuoi requisiti attuali che futuri.
I progetti software richiedono più tempo del previsto
Abbiamo sviluppato Connhex per 3 anni, dedicando a questo gran parte delle nostre energie - e sì, avevamo accesso a tutto GitHub 😉 Con il senno di poi, le nostre stime erano talmente sbagliate da essere ridicole.
Costruendo sulla base delle API fornite da Connhex, ridurrai drasticamente il tempo richiesto alla tua soluzione per arrivare sul mercato.
Perché dovresti scegliere Connhex rispetto alle alternative
Abbiamo visto perché dovresti preferire Connhex alla costruzione di un'infrastruttura IoT da zero. Passiamo al confronto tra Connhex e le alternative disponibili sul mercato, siano esse servizi componibili (come AWS) o piattaforme IoT (ad es. Thingsboard).
Stato dell'arte
Questo punto è più una considerazione che un confronto: non possiamo, per ovvi motivi, dare la nostra opinione sull'implementazione di ogni piattaforma IoT, specialmente quelle closed source.
Connhex è una piattaforma IoT stato dell'arte, i cui servizi orchestrati tramite Kubernetes. Include un servizio di policy ABAC ed un DSL per il mapping tra formati di messaggi diversi. Fornisce backup incrementali e strategie di rollback, oltre alla gestione completa dei dati.
Per capire più a fondo la tecnologia dietro a Connhex, puoi fare riferimento alla documentazione o contattarci in qualsiasi momento!
Flessibilità e componibilità
Ripetiamo allo sfinimento che Connhex è una suite IoT completa, non una piattaforma IoT: ad esempio, non include la nozione di impianto
.
Hai massima flessibilità su come creare la logica applicativa costruendo sopra i suoi servizi: ad esempio, puoi utilizzare Connhex Resources come un ORM dedicato al tuo caso d'uso. Vedi la differenza? Connhex ti offre risorse
, non impianti
, installazioni
o macchinari
.
Tutti i servizi sono stati progettati per essere componibili. Il Rule Engine di Connhex non è responsabile dell'invio di email in seguito all'attivazione di una regola: questo è delegato a Connhex Notifications, che agisce come un bus centrale per la gestione delle notifiche. E indovina chi è anche responsabile dell'invio degli export generati da Connhex Connhex Exporter?
Connhex Edge è pensato con lo stesso grado di componibilità: le funzionalità del firmware sono divise in servizi, che comunicano tra loro attraverso un sistema di pubblicazione/sottoscrizione (pub/sub). Questo promuove il riutilizzo del codice e la separazione delle responsabilità dei vari elementi, rendendo le fasi di test e debug molto più semplici.
Tutto gira sui tuoi cluster
Se stai utilizzando una soluzione SaaS, sei completamente vincolato al fornitore. Questo potrebbe non essere un problema, ma vale la pena tenerlo presente: se stai vendendo un servizio ai tuoi clienti, cosa succede se viene dismesso? 3
Con Connhex, tutto è in esecuzione sempre sui tuoi cluster - sia cloud che on-premise. Molti fornitori IoT propongono una versione on-premise4 della loro piattaforma IoT, ma Connhex è molto migliore da questo punto di vista - semplicemente perché è stato progettato ad-hoc.
Abbiamo infatti sviluppato diversi strumenti interni per supportare le istanze distribuite di Connhex: dal loro deployment e versioning a sistemi di aggiornamento e monitoraggio.
Quando potresti costruire da zero
Siamo nerd quanto te e non siamo grandi fan del tipico atteggiamento da venditori. Non potremmo mai dire onestamente che Connhex sia la soluzione a tutti i problemi e vogliamo essere trasparenti a questo proposito: esaminiamo insieme alcuni casi in cui potrebbe avere senso costruire un'infrastruttura IoT da zero, o acquistare una piattaforma IoT esistente 5.
Probabilmente dovresti optare per una soluzione SaaS esistente se stai appena iniziando, sviluppando un PoC o hai bisogno di collegare pochi dispositivi. Se la vendita di servizi associati ai dispositivi connessi non è una priorità per la tua azienda, probabilmente dovresti suggerire l'acquisto di una piattaforma IoT: il budget sarebbe tipicamente troppo ridotto per poter mantenere elevata la qualità del tuo lavoro.
Decidere se dovresti costruire un'infrastruttura IoT da zero o meno è più complicato. Scegliendo Connhex, dovresti comunque implementare la logica di business, oltre a tutte le app rivolte agli utenti finali: potresti fare il passo in più ed implementare tutto da solo. Questo può avere senso se il tuo team è abbastanza grande, o se ha già molta esperienza nella costruzione di sistemi di questo tipo. È impegnativo, quindi imparerai molto. È inoltre una strada ragionevole se il piano è offrire una piattaforma IoT generica: se vuoi competere con Thingsboard, copiare il loro lavoro non sarà sostenibile - sarai sempre un passo indietro.
Perché uno sviluppatore dovrebbe scegliere Connhex
Pensa a Connhex come un insieme di API che gestiscono la parte complessa dell'IoT al posto tuo - con il vantaggio di mantenere i dati completamente sotto il tuo controllo.
Come sviluppatore software, dovresti scegliere Connhex se:
- hai bisogno di costruire applicazioni specifiche per supportare dispositivi connessi
- lavori in un ambiente dinamico, con requisiti sempre in evoluzione
- hai poca esperienza nel mantenere database con TB di dati in produzione
- dai valore alla proprietà dei dati e desideri mantenere la flessibilità di cambiare fornitore in qualsiasi momento
- non hai molto tempo da dedicare alle fasi di test, validazione e certificazione
- non vuoi monitorare e mantenere aggiornati i componenti generici di un'infrastruttura IoT
Tutto pronto per iniziare a connettere i tuoi dispositivi? In questa pagina puoi vedere tutte le configurazioni di Connhex e scegliere quella più adatta alle tue esigenze. Ancora qualche dubbio? Puoi contattarci in qualsiasi momento per ulteriori informazioni: saremo lieti di sentirti!6
- Specialmente perché, se i tuoi stress test non replicano correttamente le condizioni di produzione, potresti scoprire troppo tardi i colli di bottiglia architetturali.↩
- Se decidi di procedere costruendo da zero la soluzione, cerca di ottimizzare sia la scrittura che la lettura dei dati: vedi qui e qui per vedere le nostre scelte.↩
- Non puoi dare per scontato di essere al sicuro neppure scegliendo grossi fornitori - vedi Google e IoT Core per un esempio.↩
- Cioè un copia-incolla.↩
- Abbiamo già scritto qualche considerazione generale per due casi studio: puoi approfondire qui e qui.↩
- Sappiamo che non lo farai - non lo faremmo neanche noi. Trovi qui il quick-start, se per caso non l'avessi già visto 😉↩