Questo lavoro di tesi si focalizza sullo studio e ricerca per lo sviluppo dicontainer al fine di garantire il deploy delle dipendenze di una applicazionereal time già sviluppata precedentemente.Poiché sono presenti diverse problematiche legate alla distribuzione diapplicazioni software in ambiente di produzione e in particolare quelle chelavorano su web server, questo elaborato cerca di affrontare questeproblematiche con l'obiettivo di identificare quale metodologia adottare perrendere tale distribuzione più efficiente.Nello specifico, si è fatto uso di una tecnologia già creata nel passato, qualequella basata sui container, da oggi più specifici e portabili all'utilizzo, ancheper ambienti diversi.Per adottare questa tecnologia si è studiata in una prima fase inizialel'applicazione web e le interazioni col server Kafka e con il database SQLServer. Successivamente sono stati sviluppati i container di tali componenti.Infine, è stato sviluppato un modo per distribuire tali container (filedocker-compose.yml), testati con l'applicazione web caricata su web serverquale IIS. Il tutto con i comandi necessari per poter effettuare, da parte di unqualsiasi utente che abbia installato Docker, il push dei container generati daintegrare con l'applicazione web.Il progetto sviluppato è stato simulato all'interno di uno stesso ambiente,ma l'infrastruttura alla base è in ogni caso scalabile. Ad esempio, il containerdel database può essere gestito da server in cluster, così come Kafka Server.Quest'ultimo aspetto garantisce un miglioramento delle performance globalidell'infrastruttura progettata.44Per quanto riguarda le mie considerazioni, il lavoro si è rivelato moltosoddisfacente, soprattutto per quanto riguarda la fase di ricerca dietro alcunecome Kafka e i container Docker, che precedentemente non avevo maisperimentato.Durante lo svolgimento del progetto, mi sono cimentato con problematichedelle quali non era disponibile la soluzione su web e aver trovato la soluzionemi ha dato la motivazione giusta per continuare ad andare avanti nellosvolgimento del progetto.Per quanto riguarda i possibili sviluppi futuri, è possibile sviluppareun'app per telefoni come visualizzatore di asset all'interno di diversi layouted utilizzare l'applicazione web come web service. Ciò è sviluppabile inquanto la tecnologia .Net core è pronta anche per essere utilizzata come webservice REST; infatti, è sufficiente effettuare poche configurazioniall'applicazione web e modifiche minime alle action che generano le pagineweb (view).Inoltre, un punto da approfondire, è un'intensiva attività di testing avendoa disposizione una struttura reale per verificare le reali performance.Infine, un possibile sviluppo futuro è quello di utilizzare un"orchestratore", come la piattaforma Kubernetes, che offre la possibilità didistribuire i container in cluster detti Pod.
Progettazione e sviluppo di container con Docker per un'applicazione RTLS nel contesto di industria 4.0 / Esposito, Francesco; Trombetta, Alberto; Gianfranco, E Modoni. - (2022).
Progettazione e sviluppo di container con Docker per un'applicazione RTLS nel contesto di industria 4.0
2022
Abstract
Questo lavoro di tesi si focalizza sullo studio e ricerca per lo sviluppo dicontainer al fine di garantire il deploy delle dipendenze di una applicazionereal time già sviluppata precedentemente.Poiché sono presenti diverse problematiche legate alla distribuzione diapplicazioni software in ambiente di produzione e in particolare quelle chelavorano su web server, questo elaborato cerca di affrontare questeproblematiche con l'obiettivo di identificare quale metodologia adottare perrendere tale distribuzione più efficiente.Nello specifico, si è fatto uso di una tecnologia già creata nel passato, qualequella basata sui container, da oggi più specifici e portabili all'utilizzo, ancheper ambienti diversi.Per adottare questa tecnologia si è studiata in una prima fase inizialel'applicazione web e le interazioni col server Kafka e con il database SQLServer. Successivamente sono stati sviluppati i container di tali componenti.Infine, è stato sviluppato un modo per distribuire tali container (filedocker-compose.yml), testati con l'applicazione web caricata su web serverquale IIS. Il tutto con i comandi necessari per poter effettuare, da parte di unqualsiasi utente che abbia installato Docker, il push dei container generati daintegrare con l'applicazione web.Il progetto sviluppato è stato simulato all'interno di uno stesso ambiente,ma l'infrastruttura alla base è in ogni caso scalabile. Ad esempio, il containerdel database può essere gestito da server in cluster, così come Kafka Server.Quest'ultimo aspetto garantisce un miglioramento delle performance globalidell'infrastruttura progettata.44Per quanto riguarda le mie considerazioni, il lavoro si è rivelato moltosoddisfacente, soprattutto per quanto riguarda la fase di ricerca dietro alcunecome Kafka e i container Docker, che precedentemente non avevo maisperimentato.Durante lo svolgimento del progetto, mi sono cimentato con problematichedelle quali non era disponibile la soluzione su web e aver trovato la soluzionemi ha dato la motivazione giusta per continuare ad andare avanti nellosvolgimento del progetto.Per quanto riguarda i possibili sviluppi futuri, è possibile sviluppareun'app per telefoni come visualizzatore di asset all'interno di diversi layouted utilizzare l'applicazione web come web service. Ciò è sviluppabile inquanto la tecnologia .Net core è pronta anche per essere utilizzata come webservice REST; infatti, è sufficiente effettuare poche configurazioniall'applicazione web e modifiche minime alle action che generano le pagineweb (view).Inoltre, un punto da approfondire, è un'intensiva attività di testing avendoa disposizione una struttura reale per verificare le reali performance.Infine, un possibile sviluppo futuro è quello di utilizzare un"orchestratore", come la piattaforma Kubernetes, che offre la possibilità didistribuire i container in cluster detti Pod.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


