Skaalautuvan pilvipohjaisen järjestelmän kehitys: skaalautuva, luotettava ja kustannustehokas mikropalvelujärjestelmä
Milán, Kim (2022)
Milán, Kim
2022
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-03-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202202172008
https://urn.fi/URN:NBN:fi:tuni-202202172008
Tiivistelmä
Cloud platforms and the development of cloud-based systems have gained a significant amount of popularity in the last decade. Due to this, a number of companies have started moving their traditional on-premise-solutions to various cloud platforms.
This thesis focuses on a particular client project carried out for a company in the energy business, where the goal of the project was to develop an application for the management of various actions and data storage related to the client’s metering points, meters, work orders, measurement data and meter configurations. The system manages GDPR-applicable data about the end clients and their billing, handles the data and communication related to meter installation processes, and manages the system configurations of metering devices. Due to the business area and the nature of client’s business in general, the developed system must be scalable, reliable, and cost-effective to be able to adapt to changing data loads effectively and to ensure the integrity of the data for example for billing and energy measurement.
This thesis investigates cloud-based applications and systems, and their properties on a general level to make it possible to evaluate the example system’s design principles, architecture, and overall execution, as well as the conclusions derived from them. The primary focus is on the actual execution and development process of the system, which is described from the top down based on the requirements of the system related to scalability, integrity, and cost-effectiveness.
The example system examined in this thesis is an event-based microservice application running on the Amazon AWS cloud platform. The system consists of several microservices, which have been divided into four primary responsibility areas: metering points and meters, work orders, meter configurations and communications to external systems. Communication between the microservices is primarily managed by a centralized event bridge component, and the majority of the actual functionality of the system has been developed using serverless Lambda-functions.
The design and development of the project’s result used as an example system in this thesis has strived to adhere to best practices and design principles of the AWS platform and considering current test data and the state of development the system meets the requirements for scalability, integrity, and cost-effectiveness. However, due to a lack of adequate testing and test data, no final verdict can be made at this time. The development of the system is still on going, with a focus to ensure sufficient performance when handling large amounts of data.
This thesis focuses on a particular client project carried out for a company in the energy business, where the goal of the project was to develop an application for the management of various actions and data storage related to the client’s metering points, meters, work orders, measurement data and meter configurations. The system manages GDPR-applicable data about the end clients and their billing, handles the data and communication related to meter installation processes, and manages the system configurations of metering devices. Due to the business area and the nature of client’s business in general, the developed system must be scalable, reliable, and cost-effective to be able to adapt to changing data loads effectively and to ensure the integrity of the data for example for billing and energy measurement.
This thesis investigates cloud-based applications and systems, and their properties on a general level to make it possible to evaluate the example system’s design principles, architecture, and overall execution, as well as the conclusions derived from them. The primary focus is on the actual execution and development process of the system, which is described from the top down based on the requirements of the system related to scalability, integrity, and cost-effectiveness.
The example system examined in this thesis is an event-based microservice application running on the Amazon AWS cloud platform. The system consists of several microservices, which have been divided into four primary responsibility areas: metering points and meters, work orders, meter configurations and communications to external systems. Communication between the microservices is primarily managed by a centralized event bridge component, and the majority of the actual functionality of the system has been developed using serverless Lambda-functions.
The design and development of the project’s result used as an example system in this thesis has strived to adhere to best practices and design principles of the AWS platform and considering current test data and the state of development the system meets the requirements for scalability, integrity, and cost-effectiveness. However, due to a lack of adequate testing and test data, no final verdict can be made at this time. The development of the system is still on going, with a focus to ensure sufficient performance when handling large amounts of data.