Metodologia para conteinerização de micro-serviços

dc.contributor.advisorGonçalves, Teresa
dc.contributor.advisorSalgueiro, Pedro D.
dc.contributor.authorBrinza, Andrei
dc.date.accessioned2022-12-29T17:32:44Z
dc.date.available2022-12-29T17:32:44Z
dc.date.issued2022-11-29
dc.description.abstractNas últimas décadas a internet tem experienciado um crescimento exponencial. Para acompanhar esse crescimento, as aplicações web têm vindo a ser cada vez mais complexas. As aplicações, que inicialmente começaram com uma arquitetura monolítica, tornaram-se ingeríveis devido ao seu grande crescimento. Para mitigar este problema, tem-se optado cada vez mais por arquiteturas em microsserviços. Esta arquitetura, ao contrário da monolítica, permite ter as funcionalidades desacopladas, facilitando a escalabilidade individual. No entanto, devido ao facto de muitas vezes os microsserviços correrem em ambientes ou máquinas diferentes, surgiu a necessidade de uniformizar os ambientes de execução. Inicialmente a solução passou por usar máquinas virtuais e posteriormente evoluiu para containers. Um container é um package independente que contém apenas o que é estritamente necessário para correr a aplicação. Devido ao grande número de microsserviços que algumas aplicações têm, surgiu a necessidade de automatizar o processo de orquestração de containers, ou seja, escalar e alocar recursos automaticamente a cada instância do microsserviço. Esta dissertação estuda e aplica uma metodologia de conteinerizar à uma aplicação com uma arquitetura de microsserviços, que corre em máquinas virtuais. Adicionalmente, também são discutidos e aplicados conceitos de Continuous Integration (CI)/Continuous Delivery (CD) e DevOps, criando uma pipeline automatizada com Git Actions; Abstract: Methodology for containerization of microservices In the last decades, we have witnessed an exponential growth in internet usage in our lives. This led to increasingly more complex web applications. The applications usually start as a monolithic architecture that naturally grows in size, making them hard to maintain and understand. To mitigate this problem, microservices-based architectures have seen an increase in popularity. In contrast to the monolithic architecture, microservices architectures allow the development of decoupled functionalities, which can be then scaled individually. However, since most of the time the microservices run in different environments or machines, there is the need to unify the runtime environments. Initially, the solution was to use virtual machines, and then the trend transitioned to containers, which is just a small package that only has what is absolutely needed to run the application. Due to the high number of microservices that some applications have, orchestration tools that automatically scale and allocate resources to the microservices are needed. This thesis studies and applies a containerization methodology to a real-world microservices application that currently runs on virtual machines. Furthermore, it also introduces and applies the concept of CI/CD pipelines and DevOps, using Git Actions.por
dc.identifier.authoremailandrei.brinza@hotmail.com
dc.identifier.scientificarea498por
dc.identifier.sharewithDepartamento de Engenharia Informáticapor
dc.identifier.tid203109554por
dc.identifier.urihttp://hdl.handle.net/10174/33057
dc.language.isoporpor
dc.publisherUniversidade de Évorapor
dc.rightsopenAccesspor
dc.subjectMicrosserviçospor
dc.subjectConteinerizaçãopor
dc.subjectOrquestraçãopor
dc.subjectDockerpor
dc.subjectKubernetespor
dc.subjectContinuous Integrationpor
dc.subjectContinuous Deliverypor
dc.subjectMicroservicespor
dc.subjectContainerizationpor
dc.subjectOrchestrationpor
dc.subjectDockerpor
dc.subjectKubernetespor
dc.subjectContinuous Integrationpor
dc.subjectContinuous Deliverypor
dc.titleMetodologia para conteinerização de micro-serviçospor
dc.typemasterThesis
thesis.degree.nameDissertação de mestrado - Engenharia Informáticapor

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Mestrado-Engenharia_Informatica-Andrei-Brinza.pdf
Size:
1.35 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
3.89 KB
Format:
Item-specific license agreed upon to submission
Description: