Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Selezionare la lingua

Innowise ha aggiornato in modo significativo una piattaforma di monitoraggio della respirazione dei bambini e ha preparato il sistema per l'espansione e la scalabilità delle funzionalità.
The customer is a global manufacturer of a wide range of consumer electronics, with a specialized division dedicated to baby healthcare devices. This division focuses on creating innovative products, such as breathing monitors, video baby monitors, and dreamers, designed to monitor infants’ breathing patterns and improve their sleep. Parents can access essential health monitoring and support through web and mobile applications.
Le informazioni dettagliate sul cliente non possono essere divulgate in base alle disposizioni dell NDA.
Il cliente disponeva di applicazioni mobili e web per il suo sistema di monitoraggio della respirazione dei bambini, ma queste erano in fase iniziale e afflitte da numerosi bug. La scarsa struttura del codice ostacolava sia la correzione dei bug sia lo sviluppo di nuove funzionalità. I ritardi e l'instabilità del sistema hanno comportato un aumento dei costi di assistenza e sviluppo, con un impatto negativo sulle prestazioni finanziarie. Inoltre, questi problemi hanno diminuito la competitività e la quota di mercato dell'azienda.
Innowise è stata incaricata di stabilizzare l'ambiente, risolvere i bug esistenti e preparare il sistema per le future aggiunte di funzionalità e per il ridimensionamento.
Innowise ha affrontato le sfide risolvendo i bug sia sul backend che sul frontend. Abbiamo ristrutturato la base di codice, creato nuovi microservizi per migliorare la modularità e migrato il database da PostgreSQL a AWS DynamoDB per migliorare la scalabilità e ridurre i costi. Il nostro team ha anche implementato pipeline CI/CD per automatizzare la distribuzione e garantire la qualità del codice. Inoltre, siamo stati responsabili dell'automazione del deployment e del versioning dell'infrastruttura utilizzando Terraform.
In primo luogo, abbiamo risolto i bug critici che influiscono sulle prestazioni e sull'affidabilità del sistema. Contemporaneamente, il nostro team ha sviluppato test completi di unità e integrazione per verificare la funzionalità delle funzioni nuove ed esistenti. Questi test rigorosi ci hanno permesso di identificare e risolvere tempestivamente i potenziali problemi, garantendo un prodotto finale di alta qualità.
La base di codice esistente non era strutturata e non seguiva gli standard PEP-8 e i principi dell'architettura pulita, rendendo difficile il lavoro. Il nostro team ha sistematicamente rifattorizzato il codice, allineandolo alle linee guida PEP-8 e migliorandone la struttura complessiva. Questo processo ha comportato la pulizia del codice, l'ottimizzazione delle funzioni, la garanzia di coerenza e l'adesione ai principi SOLID.
Il nostro team ha creato una documentazione tecnica dettagliata per la base di codice esistente, le nuove funzionalità, i microservizi e i processi di distribuzione. Questa documentazione completa ha permesso agli sviluppatori attuali e futuri di comprendere meglio il sistema e ha contribuito a rendere più agevole l'onboarding e il trasferimento delle conoscenze.
Oltre a stabilizzare il sistema di monitoraggio della respirazione del bambino esistente, abbiamo sviluppato nuovi microservizi utilizzando una piattaforma di containerizzazione come Docker e orchestrandoli con Kubernetes. Questo ha migliorato la modularità e la scalabilità, consentendo la distribuzione e la scalabilità indipendente dei singoli servizi.
Ogni microservizio, come il modulo di analisi dei modelli di respirazione o il servizio di notifica degli allarmi, è stato progettato per gestire compiti specifici, comunicando tra loro attraverso leggeri protocolli API RESTful. Questa architettura ha migliorato l'efficienza complessiva del sistema, le prestazioni e la tolleranza ai guasti, in quanto i singoli servizi potevano essere aggiornati o sostituiti senza influenzare l'intero sistema.
I nostri esperti hanno gestito la migrazione da PostgreSQL a AWS DynamoDB per sfruttarne la scalabilità, le prestazioni, l'economicità e le capacità di modellazione flessibile dei dati. Questa transizione ha comportato un processo meticoloso di riprogettazione dello schema dei dati per allinearsi alla struttura non relazionale di DynamoDB, un'accurata mappatura e trasformazione dei dati e un'accurata convalida per garantire l'integrità dei dati.
Inoltre, abbiamo ottimizzato i modelli di query e le strategie di indicizzazione per massimizzare le prestazioni di DynamoDB per gli specifici modelli di accesso del sistema di monitoraggio della respirazione dei bambini.
Abbiamo implementato pipeline di integrazione e distribuzione continua (CI/CD) utilizzando Jenkins e GitLab CI per automatizzare i processi di compilazione, test e distribuzione. In questo modo abbiamo semplificato i flussi di sviluppo e garantito cicli di feedback rapidi. Inoltre, abbiamo utilizzato Terraform per definire e gestire la nostra infrastruttura cloud come codice. Questo ci ha permesso di fornire e scalare le risorse in modo efficiente, mantenere la coerenza dell'infrastruttura tra gli ambienti e tenere traccia delle modifiche attraverso il controllo delle versioni.
Abbiamo anche integrato framework di test automatizzati nelle nostre pipeline CI/CD per garantire la qualità del codice e la stabilità dell'applicazione prima della distribuzione. Questa combinazione perfetta di pratiche CI/CD e IaC ha ridotto significativamente l'intervento manuale, minimizzato gli errori e accelerato i cicli di rilascio, dando vita a un sistema di monitoraggio della respirazione dei bambini più robusto e affidabile.
Abbiamo iniziato con una fase di scoperta, conducendo incontri iniziali con gli stakeholder dell'azienda per comprendere a fondo i loro punti dolenti e le loro esigenze. I nostri analisti aziendali hanno quindi creato un documento completo che illustra i miglioramenti principali e garantisce la fattibilità tecnica della soluzione proposta.
Con i requisiti del cliente chiaramente documentati, il team di sviluppo di Innowise ha iniziato la processo di ingegneria del software. Utilizzando la metodologia Scrum, abbiamo organizzato il nostro lavoro in sprint di due settimane per mantenere progressi regolari e adattabilità. Abbiamo tenuto riunioni trisettimanali per affrontare le questioni critiche e garantire un coordinamento efficace. Inoltre, il project manager ha effettuato chiamate settimanali per aggiornare il cliente sui progressi dello sviluppo e raccogliere feedback, consentendoci di perfezionare continuamente il nostro approccio.
1
Responsabile di progetto
1
Analista aziendale
2
Sviluppatori full-stack
1
Ingegnere QA manuale
1
Ingegnere di automazione QA

The implementation of the project leds to a significant improvement in system stability and reliability, resulting in increased user satisfaction and enhanced brand trust. The optimized architecture and rewritten codebase simplifies further development and support, reducing development costs.
Migrating to a higher-performing database and introducing microservices provides flexibility and scalability, enabling a faster response to user growth. Automating testing and deployment also cuts down the time it takes to release updates, speeding up the launch of new features.
25%
riduzione dei costi di sviluppo
15%
Il tuo messaggio è stato inviato.
Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

Iscrivendosi si accetta il nostro Informativa sulla privacy, compreso l'uso dei cookie e il trasferimento dei vostri dati personali.