Microservices and DevOps Integration
Zhou, Yuhao Jr (2024)
Zhou, Yuhao Jr
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024053118968
https://urn.fi/URN:NBN:fi:amk-2024053118968
Tiivistelmä
This thesis aimed to make an existing web application more flexible for developers to maintain, easier for operation staff to scale the resource when user demands increased and reduce the server errors experienced by users of the application.
A big, old application was broken into smaller pieces called microservices. These microservices were then deployed into a container orchestration environment for easier management. DevOps tools were also added to automatically test and deploy changes.
As a result, two new microservices were created using the Go programming language and were running in a MicroK8s environment. Istio was added to help manage communication between services. All microservices are integrated with GitHub Actions for automatic testing and deploying.
Now the development team can release updates more frequently, and the backend of the application can scale up without much manual work. Users are getting bug fixes and new features more often and are experiencing fewer backend errors than before.
In the future, the rest of the application can be converted into microservices by using the same methods in this thesis.
A big, old application was broken into smaller pieces called microservices. These microservices were then deployed into a container orchestration environment for easier management. DevOps tools were also added to automatically test and deploy changes.
As a result, two new microservices were created using the Go programming language and were running in a MicroK8s environment. Istio was added to help manage communication between services. All microservices are integrated with GitHub Actions for automatic testing and deploying.
Now the development team can release updates more frequently, and the backend of the application can scale up without much manual work. Users are getting bug fixes and new features more often and are experiencing fewer backend errors than before.
In the future, the rest of the application can be converted into microservices by using the same methods in this thesis.