In the world of industrial and commercial software there is a constant search for optimization techniques to reduce the cost of managing and maintaining hardware and software. Especially when the latter offers services to users of not well-defined dimensions. In this paper we explore the concepts of virtualization, virtual machines, containers, and microservices and how the latter can be used in the industrial sector to produce software that can be modified and maintained with a higher level of simplicity than other alternatives. The origins of microservices architecture and virtualization technology are briefly exposed, explaining their functioning, and then discussing the virtualization techniques studied during the internship (containers and virtual machines) explaining their differences and their strengths, and how they are combined with software to improve on it. Finally, two projects carried out during the university internship are summarized: the first explores the basic concepts of microservices architecture applied to containers, producing an application that introduces new concepts sequentially; the second sees the application of these concepts to industrial software. These summaries show the design decisions and techniques used to achieve the goals set, with the aim of showing how microservices architecture and container software development can improve the use of hardware available to the software and software management itself.

Nel mondo del software industriale e commerciale si è in constante ricerca di tecniche di ottimizzazione per ridurre il costo della gestione e manutenzione di hardware e software. Soprattutto quando quest’ultimo offre servizi ad una utenza di dimensioni non ben definite. In questo elaborato si esplorano i concetti di: virtualizzazione, macchine virtuali, container, e microservizi e come quest’ultimi possono essere impiegati nel settore industriale per produrre software in grado di essere modificato e manutenuto con un livello di semplicità più alto rispetto ad altre alternative. Vengono brevemente esposte le origini dell’architettura a microservizi e la tecnologia di virtualizzazione, esponendo il loro funzionamento per poi discutere delle tecniche di virtualizzazione studiate durante il tirocinio (container e macchine virtuali) esponendo le loro differenze e i loro punti di forza, e come vengono combinate con il software. Infine, sono riepilogati due progetti svolti durante il tirocinio universitario: il primo esplora i concetti base dell’architettura a microservizi applicata a container producendo un’applicazione che introduce nuovi concetti in modo sequenziale; il secondo vede l’applicazione di tali concetti a software industriale. In questi riepiloghi vengono esposte le decisioni di progettazione e le tecniche utilizzate per raggiungere gli obiettivi posti, allo scopo di mostrare come l’architettura a microservizi e lo sviluppo di software per container possa migliorare l’utilizzo dell’hardware a disposizione del software e la gestione del software stesso.

Architetture a Micro Servizi in ambito Industriale: un esempio d'uso

RUSCICA, FABIO
2021/2022

Abstract

In the world of industrial and commercial software there is a constant search for optimization techniques to reduce the cost of managing and maintaining hardware and software. Especially when the latter offers services to users of not well-defined dimensions. In this paper we explore the concepts of virtualization, virtual machines, containers, and microservices and how the latter can be used in the industrial sector to produce software that can be modified and maintained with a higher level of simplicity than other alternatives. The origins of microservices architecture and virtualization technology are briefly exposed, explaining their functioning, and then discussing the virtualization techniques studied during the internship (containers and virtual machines) explaining their differences and their strengths, and how they are combined with software to improve on it. Finally, two projects carried out during the university internship are summarized: the first explores the basic concepts of microservices architecture applied to containers, producing an application that introduces new concepts sequentially; the second sees the application of these concepts to industrial software. These summaries show the design decisions and techniques used to achieve the goals set, with the aim of showing how microservices architecture and container software development can improve the use of hardware available to the software and software management itself.
2021
Micro Services Architectures in the Industrial Field: an example of use
Nel mondo del software industriale e commerciale si è in constante ricerca di tecniche di ottimizzazione per ridurre il costo della gestione e manutenzione di hardware e software. Soprattutto quando quest’ultimo offre servizi ad una utenza di dimensioni non ben definite. In questo elaborato si esplorano i concetti di: virtualizzazione, macchine virtuali, container, e microservizi e come quest’ultimi possono essere impiegati nel settore industriale per produrre software in grado di essere modificato e manutenuto con un livello di semplicità più alto rispetto ad altre alternative. Vengono brevemente esposte le origini dell’architettura a microservizi e la tecnologia di virtualizzazione, esponendo il loro funzionamento per poi discutere delle tecniche di virtualizzazione studiate durante il tirocinio (container e macchine virtuali) esponendo le loro differenze e i loro punti di forza, e come vengono combinate con il software. Infine, sono riepilogati due progetti svolti durante il tirocinio universitario: il primo esplora i concetti base dell’architettura a microservizi applicata a container producendo un’applicazione che introduce nuovi concetti in modo sequenziale; il secondo vede l’applicazione di tali concetti a software industriale. In questi riepiloghi vengono esposte le decisioni di progettazione e le tecniche utilizzate per raggiungere gli obiettivi posti, allo scopo di mostrare come l’architettura a microservizi e lo sviluppo di software per container possa migliorare l’utilizzo dell’hardware a disposizione del software e la gestione del software stesso.
Microservizi
Container
Virtualizzazione
File in questo prodotto:
File Dimensione Formato  
Ruscica_Fabio.pdf

accesso aperto

Dimensione 1.11 MB
Formato Adobe PDF
1.11 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/31897