| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 5.89 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
The 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.
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.
Description
Keywords
Energy Consumption Microservices Migration Patterns Decomposition Patterns Monolithic Quality Attributes Consumo Energético Microserviços Padrões de Migração Padrões de Decomposição Monolítico Atributos de Qualidade
