МІКРОСЕРВІСНА АРХІТЕКТУРА СИСТЕМ СКІНЧЕННО-ЕЛЕМЕНТНОГО АНАЛІЗУ

  • Я. В. Кривий
  • А. О. Лісняк
Ключові слова: скінченно-елементний аналіз, FEA-системи, монолітна архітектура, масштабованість, відмовостійкість, модифікація, розгортання, архітектурні патерни, API Gateway, Aggregator, Database per Service, Event- Driven Architecture, Publisher/ Subscriber, Backend for Frontend, NoSQL, Angular, Node.js, Python, WebGL2.

Анотація

У світі швидкого технологічного розвитку ефективність і гнучкість архітектур програмної інженерії відіграють ключову роль у створенні масштабованих і відмовостійких систем. Це набуває критичного значення для систем скінченно-елементного аналізу (FEA-систем), які використовуються для моделювання складних фізичних процесів в інженерії та часто повинні обробляти великі обсяги даних. Більшість сучасних FEA-систем використовують монолітну архітектуру – традиційну модель із єдиною кодовою базою для виконання різних функцій. Такий підхід має переваги, такі як єдине середовище розробки та легше налагодження взаємодії компонентів, і суттєві недоліки: складність масштабування, низьку відмовостійкість, погане балансування навантаження, зростання часу відповіді при збільшенні обсягів даних і складність впровадження нових функцій/технологій. Одним із можливих рішень є концепція мікросервісної архітектури, яка передбачає розбиття програмного забезпечення на невеликі незалежні компоненти (сервіси). Кожен сервіс виконує одну функцію і взаємодіє з іншими через чітко визначені інтерфейси. Оскільки вони працюють незалежно, їх можна оновлювати, змінювати, розгортати або масштабувати окремо. Це надає низку переваг: швидке розгортання, незалежність сервісів, гнучке окреме масштабування, стійкість до збоїв, технологічну гнучкість, кращу організацію та простоту тестування, переваги у хмарних середовищах. У статті порівнюються монолітні (Elmer FEM, FreeFEM), мікросервісні (SimScale) і хмарно-монолітні (ANSYS Cloud) FEA- системи за критеріями архітектури, масштабованості, відмовостійкості, розгортання та модифікації. Обґрунтовується перевага мікросервісного підходу та пропонується архітектура FEA-системи на основі патернів API Gateway, Aggregator, Database per Service, Event-Driven, Publisher/ Subscriber, Backend for Frontend.

Посилання

1. ANSYS Cloud. URL: https://www.ansys.com/products/cloud (дата звернення: 24.03.2024).
2. Elmer FEM – відкрите програмне забезпечення для моделювання. URL: https://www.csc.fi/web/elmer (дата звернення: 24.03.2024).
3. FreeFEM – відкрите ПЗ для моделювання диференціальних рівнянь в частинних похідних. URL: https://freefem.org/ (дата звернення: 24.03.2024).
4. Frey P. J.,George P.-L. Mesh Generation Application to Finite Elements. London: ISTE Publishing Company, 2019. 817 p.
5. IEEE. Innovation at work. How the Finite Element Method (FEM) and Finite Element Analysis (FEA) Work Together. URL: https://innovationatwork.ieee.org/how-the-finite-element-method-fem-and-finiteelementanalysis-fea-work-together/ (дата звернення: 09.03.2024)
6. Muhtaroglu N. Finite element analysis in a cloud computing environment : дисертація / Muhtaroglu N. Ozyegin University, 2019. 112 p.
7. SimScale – хмарна платформа інженерного моделювання. URL: https://www.simscale.com/ (дата звернення: 24.03.2024).
8. Тop Finite Element Analysis (FEA) Software List, Reviews, Comparison & Price | TEC. URL: https://www3.technologyevaluation.com/sd/category/finite-elementanalysis-fea (дата звернення: 09.03.2024).
9. Zienkiewicz O.C., Taylor R.L., Zhu J.Z. The Finite Element Method: Its Basis and Fundamentals. Sixth edition. Butterworth-Heinemann, 2016. 753 p.
10. Мікросервісна архітектура для початківців. Ч. І. URL: https://www.globallogic.com/ua/insights/blogs/microservices-architecture-for-beginners-part-one/ (дата звернення: 24.04.2024).
11. Мікросервісна архітектура для початківців. Ч. ІІ. URL: https://www.globallogic.com/ua/insights/blogs/microservices-architecture-for-beginners-part-two/ (дата звернення: 24.04.2024).
12. Newman S. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. O’Reilly Media, Inc, 2019. 272 p.
13. What’s the difference between monolithic and microservices architecture? URL: https://aws.amazon.com/compare/the-difference-between-monolithic-and-microservices-architecture/?nc1=h_ls (дата звернення: 23.04.2024).
14. Break a Monolithic Application into Microservices with AWS Copilot, Amazon ECS, Docker, and AWS Fargate. URL: https://aws.amazon.com/tutorials/break-monolith-app-microservices-ecs-docker-ec2/ (дата звернення: 23.04.2024).
15. AWS Documentation. URL: https://docs.aws.amazon.com/?nc2=h_ql_doc_do (дата звернення: 23.04.2024).
16. Google Cloud Documentation. URL: https://cloud.google.com/docs (дата звернення: 23.04.2024).
17. Azure documentation. URL: https://learn.microsoft.com/en-gb/azure (дата звернення: 23.04.2024).
18. Ansys Cloud Architecture and Security Overview. URL: https://www.ansys.com/resource-center/whitepaper/cloud-security (дата звернення: 24.03.2024).
19. Mazzara M., Bucchiarone A., Dragoni N., Rivera V. Size Matters: Microservices Research and Applications. Springer Cham. 2020. pp. 29–42. doi: https://doi.org/10.1007/978-3-030-31646-4_2.
20. Velepucha V., Flores P. A Survey on Microservices Architecture: Principles, Patterns and Migration Challenges. IEEE Access. 2023. Vol. 11, P. 88339 – 88358. DOI: 10.1109/ACCESS.2023.3305687.
21. Zuo X., Su Y., Wang Q., Xie Y. An API gateway design strategy optimized for persistence and coupling. Advances in Engineering Software. 2020. Vol. 148, № 102878. doi: https://doi.org/10.1016/j.advengsoft.2020.102878.
22. Zhao J.T., Jing S.Y., Jiang L.Z. Management of API Gateway Based on Micro-service Architecture. Journal of Physics: Conference Series. 2018. Vol. 1087. Issue 3. № 1087. DOI: 10.1088/1742-6596/1087/3/032032.
23. Kalske M., Mäkitalo N., Mikkonen T. Challenges When Moving from Monolith to Microservice Architecture. Springer Cham. 2018. Vol 10544. Р. 32–47. doi: https://doi.org/10.1007/978-3-319-74433-9_3.
24. Taibi D., Lenarduzzi V., Pahl C. Architectural Patterns for Microservices: A Systematic Mapping Study. 8th International Conference on Cloud Computing and Services Science. 2018. Р. 221–232. DOI: 10.5220/0006798302210232.
Опубліковано
2024-05-30
Як цитувати
Кривий, Я. В., & Лісняк, А. О. (2024). МІКРОСЕРВІСНА АРХІТЕКТУРА СИСТЕМ СКІНЧЕННО-ЕЛЕМЕНТНОГО АНАЛІЗУ. Computer Science and Applied Mathematics, (1), 75-83. https://doi.org/10.26661/2786-6254-2024-1-09
Розділ
РОЗДІЛ III. КОМП’ЮТЕРНІ НАУКИ