Energy Consumption of Software Architectures - A comparison between microservice- and monolithic architectures in C# and Java
Term
4. term
Education
Publication year
2022
Submitted on
2022-06-09
Pages
64
Abstract
We explore the energy consumption of architectures of software applications. We investigate two architectures, namely the microservice and monolithic architecture. We implement the well described test-application, Pet Store in the languages C# and Java, following each architecture. We utilize JMeter, Docker and a wrapper implementation of Running Average Power Limit (RAPL) by Intel, to setup a test suite where controlled tests are run. Docker Compose and NGINX are used for scaling microservice testing. We setup a set of shell scripts to automatically conduct the tests. We use a test protocol and a minimal install of an operating system, for a consistent test setup. We find that the energy consumption per transaction in a non-scaling environment for C# is 43,79% to 38,80% higher in the microservice architecture compared to the monolithic architecture depending on the use of individual databases for each service. For Java it is 0,86% to 40,30% higher.
Keywords
Energi ; Programmering ; Arkitektur ; Strøm ; Software
Documents
