top of page

Dare nuova vita all'architettura

  • Immagine del redattore: AirQ
    AirQ
  • 18 ott
  • Tempo di lettura: 2 min

Aggiornamento: 19 ott

Ricordate quella piacevole immersione nell'architettura tecnica del nostro progetto, accompagnata da una tazza di caffè e biscotti? All'epoca, un talentuoso membro del team aveva dato il via al lavoro con una panoramica tecnica di alto livello incentrata sui principi e sui componenti fondamentali. Sebbene l'autore originale abbia intrapreso nuove avventure, il progetto non si è fermato. È evoluto, si è adattato e ha raggiunto un promettente Proof of Concept che stiamo già distribuendo. Qui rivediamo le basi, evidenziamo gli aggiornamenti principali e condividiamo cosa ci aspetta nel nostro percorso di innovazione.

Cosa non è cambiato

Da un punto di vista generale, i tre componenti principali (cloud, applicazione, sensore) sono ancora presenti, anche se sono stati ottimizzati. Abbiamo una nuova app e una nuova infrastruttura backend, ora molto più focalizzate sul nostro obiettivo.

Backend robusto

Tutte le richieste passano ancora attraverso il gateway, che ora offre un'interfaccia API molto più chiara.

I database containerizzati memorizzano dati e metadati rilevanti provenienti sia dai sensori che dalle applicazioni.

Degli script interagiscono con tutti i componenti del backend per abilitare l'elaborazione dei dati ed eseguire attività specifiche. In questa fase iniziale, e in più di un'occasione, questo passaggio si è rivelato doppiamente prezioso: da una parte, implementa le funzionalità necessarie, dall'altra funge anche da test di integrazione e validazione continua per l'intero sistema in sviluppo.

GitHub

Anche questo era già presente nella precedente architettura, ma ora è stato notevolmente affinato.

L'intero codice del backend risiede in un repository supportato da una pipeline GitHub Actions. Ad ogni commit del codice, l'intero backend viene ricostruito e reinstallato sul server. Si tratta di un processo completamente privo di stato, poiché tutte le informazioni necessarie sono memorizzate nei volumi dei container.

Questa pipeline permette di implementare un vero processo di CB/CD (Continuous Build / Continuous Deployment) e rende estremamente rapido il rilascio di nuove funzionalità e correzioni nel backend.

Applicazione

L'applicazione è ancora basata su Flutter, anche se le sue funzionalità sono ora molto più allineate con il nostro obiettivo attuale. L'interfaccia utente (UI) e l'esperienza utente (UX) sono state ridisegnate per essere chiare e semplici; in questa fase, non vogliamo un'applicazione disordinata (né, del resto, un sistema confuso).

Prossimi passi

Lo stato attuale sembra abbastanza stabile da consentire una distribuzione leggermente più ampia, pur tenendo presente che si tratta di un Proof of Concept.

Parallelamente alla distribuzione, altri flussi di lavoro continueranno, in linea con i pilastri descritti brevemente quando abbiamo tentato di Visualizzare il concetto.


ree

Immagine creata da un membro del team AirQ

 
 
 

Commenti


bottom of page