Azevedo, Isabel de Fátima SilvaCAMPELO, JOÃO PEDRO DA COSTA2025-12-182025-12-182025-10-31http://hdl.handle.net/10400.22/31255The migration to microservices has become a common practice in modern software development. This procedure involves dividing large monolithic applications into several small services that can be independently created, deployed, and scaled on their own. However, like any approach, it has its advantages, such as increasing performance, scalability, and robustness of the system; the impact of this transition on energy consumption has been the subject of discussion. Microservices enable better resource management by allowing upscaling or downscaling of components, hence leading to underutilization of resources. The use of microservices can lead to energy savings by using fewer resources to achieve the same results. Furthermore, containerization technologies can improve resource utilisation by minimising virtualisation overheads. However, the higher level of complexity of the microservices architectures may lead to increased energy consumption because such architectures often imply an increased level of network communication and data exchange between services. Therefore, the impacts of the transition to microservices on energy use are multidimensional and can be best understood when considering the application size and complexity, the infrastructure, and the particular details of the microservices architecture. While there are potential energy savings, it is important to thoroughly weigh the trade-offs and potential impacts on energy consumption before making the decision to migrate to microservices. The study shows that moving a monolithic application to microservices through pattern-based migration resulted in better system maintainability but led to increased energy usage and performance costs. The application of Green Software Patterns, such as containerisation, asynchronous communication and autoscaling, helped mitigate unnecessary waste and aligned resource usage with workload demand. The CQRS pattern achieved superior read-heavy operation performance yet distributed communication expenses resulted in decreased performance. The maintainability analysis showed that decoupling resulted in more than 90% reduction of propagation cost. The study demonstrates that migration and decomposition patterns increase the number of services which require additional energy, but sustainable design methods enable long-term advantages in scalability and adaptability and environmental sustainability.A migração para microserviços tornou-se uma prática comum no desenvolvimento de software moderno. Este procedimento baseia-se na divisão de grandes aplicações monolíticas em vários serviços pequenos que podem ser criados, implementados e escalados de forma independente. No entanto, como qualquer abordagem, tem as suas vantagens, como o aumento do desempenho, da escalabilidade e da robustez do sistema; o impacto desta transição no consumo de energia tem sido alvo de discussão. Os microserviços permitem uma melhor gestão dos recursos, permitindo aumentar ou reduzir a escala dos componentes, o que leva à subutilização dos recursos. A utilização de microserviços pode levar à poupança de energia, uma vez que utiliza menos recursos para atingir os mesmos resultados. Ademais, as tecnologias de contentorização podem melhorar a utilização de recursos, minimizando as despesas gerais de virtualização. No entanto, o maior nível de complexidade das arquiteturas de microserviços pode levar a um maior consumo de energia, uma vez que essas arquiteturas implicam frequentemente o aumento da comunicação e da troca de informação entre serviços. Por conseguinte, os impactos da transição para microserviços na utilização de energia são multidimensionais e podem ser melhor compreendidos quando se considera a dimensão e a complexidade da aplicação, a infraestrutura e os detalhes específicos da arquitetura dos microserviços. Embora existam potenciais poupanças de energia, é importante avaliar cuidadosamente as soluções e os possíveis impactos no consumo de energia antes de tomar a decisão de migrar para os microserviços. O estudo mostra que a migração de um monolítico para microserviços resultou numa melhor manutenção do sistema, mas conduziu a um aumento do consumo de energia e dos custos de desempenho. A aplicação de padrões de Green Software, como a contentorização, a comunicação assíncrona e o escalonamento automático, ajudou a mitigar o desperdício desnecessário e alinhou a utilização de recursos com a procura da carga de trabalho. O padrão CQRS alcançou um desempenho superior em operações com elevado consumo de leitura, mas os custos com comunicação distribuída resultaram num desempenho reduzido. A análise de manutenibilidade mostrou que o desacoplamento resultou numa redução de mais de 90% no custo de propagação. O estudo demonstra que os padrões de migração e decomposição aumentam o número de serviços que requerem energia adicional, mas os métodos de design sustentáveis permitem vantagens a longo prazo em termos de escalabilidade, adaptabilidade e sustentabilidade ambiental.engEnergy ConsumptionMicroservicesMigration PatternsDecomposition PatternsMonolithicQuality AttributesConsumo EnergéticoMicroserviçosPadrões de MigraçãoPadrões de DecomposiçãoMonolíticoAtributos de QualidadeMigration to Microservices: Effects on Energy Consumption, Performance and Maintainabilitymaster thesis204067430