Using Microservice Architecture for High-Load Information Systems on the Example of MedicinePlanner Service

V. Kornuta, Eduard Sobotnyk, Ihor-Mykhailo Katamai, Yuliia Katamai
{"title":"Using Microservice Architecture for High-Load Information Systems on the Example of MedicinePlanner Service","authors":"V. Kornuta, Eduard Sobotnyk, Ihor-Mykhailo Katamai, Yuliia Katamai","doi":"10.1109/ACIT54803.2022.9913185","DOIUrl":null,"url":null,"abstract":"Nowadays, the topic of health is very relevant, and taking pills is one of the ways to stay healthy. So, there is a problem of a timely pill taking and it is important to develop a reminder system for taking medicine, available to the user anytime and anywhere. Moreover, to develop a fault-tolerant high-load system it is necessary to use modern design patterns to improve the scalability and maintenance of the software product. The article substantiates the importance of using one of the possible approaches to designing servers for highly loaded information systems – microservice architecture, in particular on the example of our own software product – MedicinePlanner, which supports further scalability through the implementation of the abovementioned architecture on the server side. This research presents the description of software development process on the basis of microservice architecture, using widely spread frameworks and tools, among which are.NET and gRPC. The client side has been built with a modular structure using Angular, containerization of all entities and system modules has been done, and support for automatic deployment in Azure has been added. In addition, containerization and deployment processes have been considered, as they are the integral part of the full development cycle. Among the main results of this study are the conducted analysis of the architecture of client and server parts of the application, description of the used design patterns and usage of microservice architecture. In contrast to monolithic architecture, microservice architecture solves one of the problems of this study – scalability of applications, the solution to which has been described in this work. Moreover, it is isolated from errors, so even in the event of any malfunctions, the failure of the entire system is impossible due to the allocation of resources and business logic. Finally, the comparative analysis of microservice and monolithic architecture has been carried out, taking into consideration such important factors as time spent on development, the amount of changed code during the process of developing new features, which has demonstrated that microservice architecture saves 30% of development time.","PeriodicalId":431250,"journal":{"name":"2022 12th International Conference on Advanced Computer Information Technologies (ACIT)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 12th International Conference on Advanced Computer Information Technologies (ACIT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ACIT54803.2022.9913185","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Nowadays, the topic of health is very relevant, and taking pills is one of the ways to stay healthy. So, there is a problem of a timely pill taking and it is important to develop a reminder system for taking medicine, available to the user anytime and anywhere. Moreover, to develop a fault-tolerant high-load system it is necessary to use modern design patterns to improve the scalability and maintenance of the software product. The article substantiates the importance of using one of the possible approaches to designing servers for highly loaded information systems – microservice architecture, in particular on the example of our own software product – MedicinePlanner, which supports further scalability through the implementation of the abovementioned architecture on the server side. This research presents the description of software development process on the basis of microservice architecture, using widely spread frameworks and tools, among which are.NET and gRPC. The client side has been built with a modular structure using Angular, containerization of all entities and system modules has been done, and support for automatic deployment in Azure has been added. In addition, containerization and deployment processes have been considered, as they are the integral part of the full development cycle. Among the main results of this study are the conducted analysis of the architecture of client and server parts of the application, description of the used design patterns and usage of microservice architecture. In contrast to monolithic architecture, microservice architecture solves one of the problems of this study – scalability of applications, the solution to which has been described in this work. Moreover, it is isolated from errors, so even in the event of any malfunctions, the failure of the entire system is impossible due to the allocation of resources and business logic. Finally, the comparative analysis of microservice and monolithic architecture has been carried out, taking into consideration such important factors as time spent on development, the amount of changed code during the process of developing new features, which has demonstrated that microservice architecture saves 30% of development time.
基于微服务架构的高负载信息系统——以MedicinePlanner服务为例
如今,健康的话题是非常相关的,吃药是保持健康的方法之一。因此,及时服药是一个问题,开发一个随时随地都可以使用的服药提醒系统是很重要的。此外,为了开发一个容错的高负载系统,有必要使用现代设计模式来提高软件产品的可扩展性和可维护性。这篇文章证实了使用一种可能的方法来为高负载的信息系统设计服务器的重要性——微服务架构,特别是我们自己的软件产品——MedicinePlanner的例子,它通过在服务器端实现上述架构来支持进一步的可扩展性。本研究提出了基于微服务架构的软件开发过程描述,使用了广泛传播的框架和工具,其中包括。NET和gRPC。客户端已经使用Angular构建了模块化结构,所有实体和系统模块的容器化已经完成,并且已经添加了对Azure自动部署的支持。此外,还考虑了容器化和部署过程,因为它们是完整开发周期的组成部分。本研究的主要成果包括对应用程序的客户端和服务器部分的体系结构进行了分析,描述了所使用的设计模式和微服务体系结构的使用。与单片架构相比,微服务架构解决了本研究的一个问题——应用程序的可扩展性,该解决方案在本工作中已经描述过。此外,它与错误隔离,因此即使发生任何故障,由于资源和业务逻辑的分配,整个系统也不可能出现故障。最后,对微服务和单片架构进行了对比分析,考虑了开发时间、开发新特性过程中的代码变更量等重要因素,结果表明微服务架构节省了30%的开发时间。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信