Microservice Architecture

Název práce: Microservice architecture
Autor(ka) práce: Sari Moqaddam, Mohammad
Typ práce: Diploma thesis
Vedoucí práce: Buchalcevová, Alena
Oponenti práce: Kučera, Jan
Jazyk práce: English
Abstrakt:
This thesis aimed to discuss the relationship between Microservice architecture and areas that are affected or affected by it, in order to provide a clear picture of how Microservice architecture works in conjunction with toolsets and pipelines in an organization. In this study two machine learning models were trained to use as microservice. The models are trained using linear regression technique and artificial neural network. Once trained APIs of both of the model is created. AN API allows an app to interact with another software. In this case the app was designed to send a request containing the inputs for both of the models and return the prediction of model using the input values. It has been concluded that a microservice architectural style is a way of building a single application as a collection of distinct services, each of which operates in its own process and interacts in lightweight ways, most often an HTTP resource API. These services are tailored to the needs of the business and can be delivered completely autonomously utilizing fully automated deployment equipment. These services are based on business capabilities and can be delivered entirely by themselves using fully automated deployment equipment. These services, which can be written in a variety of programming languages and use a variety of data storage systems, require very little centralized supervision. Today’s markets are looking for an architecture style which can easily handle scalability, development, flexibility, and easy to update and editing. Microservices architecture has been proven as one that has the required characteristics. In this architecture different services are used in an application. Usually each service in an app followed by Microservices architecture are independent from each other. This makes the app scalability easy and also easy to maintain. The services can be edited and updated individually without effecting other modules. The app created in this study proves this as both of the models can be edited individually which would not affect the other model. Same applies for scalability, more services in the app can be added without effecting the machine learning models. The main focus of this study was to analyze the characteristics of MSA by implementing an application based on it. The service-oriented architecture paradigm we saw a generation ago has been reinvented in many respects by microservices and the API-driven methodology. There are however small yet significant changes. The contemporary strategy using microservices is (critically) less prescriptive, more flexible, and simpler to implement gradually. Microservices and the technology that underpin them can speed up innovation and improve deployment reliability, both of which are crucial competitive advantages in this quick-paced world. We'll grab any advantages we can get because change is the one thing that is constant in our life today. The application proved the proposed benefits of MSA. One of the major benefits of the MSA mentioned was scalability. An application based on MSA, relies on the interaction between different components using APIs. Thus, instead an app consisting of Thousands of lines of codes is divided into small chunks which are easily maintainable. A MSA application is comprised of different microservices put together. What makes a difference between MSA, and other architectures is the quality of MSA that microservices can be developed by different teams independently and separately. The study also includes guidelines for implementing MSA. In the quickly evolving technology world, the world focuses on the performance of software, ease of maintenance, and scalability. MSA is catching attention of big industry because of its benefits. In order to implement MSA three C’s are mentioned in the study: componentize, collaborate and connect. Componentize highlights the importance of searching for a project and after that dividing it to small components. Putting it in another way a project is a collection of different functions which are done by different components of the project. After finalizing the components, collaboration comes which states to deliver the changes and the goals decided to the team. Not only to communicate them to the team but also to divide the team into sub teams and assign each sub team a component or microservice of the project to work on. After developing microservices of the application it is necessary to connect them before delivering it to the user. Third C is important as it is responsible for the impression of the application. The more efficient is the connection between microservices better is the performance of application which attracts the user and enhances user experience.
Klíčová slova: microservices; software architecture; software development
Název práce: Microservice Architecture
Autor(ka) práce: Sari Moqaddam, Mohammad
Typ práce: Diplomová práce
Vedoucí práce: Buchalcevová, Alena
Oponenti práce: Kučera, Jan
Jazyk práce: English
Abstrakt:
This thesis aimed to discuss the relationship between Microservice architecture and areas that are affected or affected by it, in order to provide a clear picture of how Microservice architecture works in conjunction with toolsets and pipelines in an organization. In this study two machine learning models were trained to use as microservice. The models are trained using linear regression technique and artificial neural network. Once trained APIs of both of the model is created. AN API allows an app to interact with another software. In this case the app was designed to send a request containing the inputs for both of the models and return the prediction of model using the input values. It has been concluded that a microservice architectural style is a way of building a single application as a collection of distinct services, each of which operates in its own process and interacts in lightweight ways, most often an HTTP resource API. These services are tailored to the needs of the business and can be delivered completely autonomously utilizing fully automated deployment equipment. These services are based on business capabilities and can be delivered entirely by themselves using fully automated deployment equipment. These services, which can be written in a variety of programming languages and use a variety of data storage systems, require very little centralized supervision. Today’s markets are looking for an architecture style which can easily handle scalability, development, flexibility, and easy to update and editing. Microservices architecture has been proven as one that has the required characteristics. In this architecture different services are used in an application. Usually each service in an app followed by Microservices architecture are independent from each other. This makes the app scalability easy and also easy to maintain. The services can be edited and updated individually without effecting other modules. The app created in this study proves this as both of the models can be edited individually which would not affect the other model. Same applies for scalability, more services in the app can be added without effecting the machine learning models. The main focus of this study was to analyze the characteristics of MSA by implementing an application based on it. The service-oriented architecture paradigm we saw a generation ago has been reinvented in many respects by microservices and the API-driven methodology. There are however small yet significant changes. The contemporary strategy using microservices is (critically) less prescriptive, more flexible, and simpler to implement gradually. Microservices and the technology that underpin them can speed up innovation and improve deployment reliability, both of which are crucial competitive advantages in this quick-paced world. We'll grab any advantages we can get because change is the one thing that is constant in our life today. The application proved the proposed benefits of MSA. One of the major benefits of the MSA mentioned was scalability. An application based on MSA, relies on the interaction between different components using APIs. Thus, instead an app consisting of Thousands of lines of codes is divided into small chunks which are easily maintainable. A MSA application is comprised of different microservices put together. What makes a difference between MSA, and other architectures is the quality of MSA that microservices can be developed by different teams independently and separately. The study also includes guidelines for implementing MSA. In the quickly evolving technology world, the world focuses on the performance of software, ease of maintenance, and scalability. MSA is catching attention of big industry because of its benefits. In order to implement MSA three C’s are mentioned in the study: componentize, collaborate and connect. Componentize highlights the importance of searching for a project and after that dividing it to small components. Putting it in another way a project is a collection of different functions which are done by different components of the project. After finalizing the components, collaboration comes which states to deliver the changes and the goals decided to the team. Not only to communicate them to the team but also to divide the team into sub teams and assign each sub team a component or microservice of the project to work on. After developing microservices of the application it is necessary to connect them before delivering it to the user. Third C is important as it is responsible for the impression of the application. The more efficient is the connection between microservices better is the performance of application which attracts the user and enhances user experience.
Klíčová slova: microservices; software architecture; software development

Informace o studiu

Studijní program / obor: Information Systems Management
Typ studijního programu: Magisterský studijní program
Přidělovaná hodnost: Ing.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra informačních technologií

Informace o odevzdání a obhajobě

Datum zadání práce: 28. 10. 2021
Datum podání práce: 30. 6. 2022
Datum obhajoby: 2022

Soubory ke stažení

Soubory budou k dispozici až po obhajobě práce.

    Poslední aktualizace: