Разработка распределенных приложений сбора и анализа данных на базе микросервисной архитектуры

Автор: Артамонов Юрий Сергеевич, Востокин Сергей Владимирович

Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc

Рубрика: Информатика, вычислительная техника и управление

Статья в выпуске: 4-4 т.18, 2016 года.

Бесплатный доступ

В статье рассматривается применение микросервисной архитектуры в области вычислительных наук. Микросервисная архитектура в основном применяется для распределенных приложений в промышленных системах и не является распространенной в области научных вычислений и анализа данных. Однако ее применение в настоящее время приобретает все большую актуальность. Декомпозиция научных приложений, связанных с вычислениями и обработкой данных, на микросервисы имеет потенциальные преимущества, известные в области промышленных систем: увеличение гибкости системы, снижение трудоемкости ее сопровождения, упрощение масштабирования и другие. Декомпозиция систем на микросервисы является сложной задачей и существует несколько методик, позволяющих выделить сервисы из монолитной системы. В промышленных системах пока нет единого подхода к декомпозиции систем и в каждой системе нужно выбирать методику, основываясь на особенностях предметной области, связанности подсистем и других параметрах системы. В работе обсуждаются основные подходы к реализации систем научных вычислений на базе микросервисной архитектуры, приводятся отличия научных систем от промышленных и выделяются аспекты, позволяющие проще, чем в промышленных системах, применять микросервисную архитектуру в научных приложениях. На примере реализованной авторами системы сбора и анализа данных о загрузке вычислительного кластера «Сергей Королёв» Самарского университета демонстрируются принципы определения границ сервисов при декомпозиции первоначальной монолитной системы. Процесс миграции существующего приложения на микросервисную архитектуру для каждой системы индивидуален и не может быть выполнен за одну итерацию. В качестве примера такой миграции показано преобразование архитектуры облачного сервиса Templet Web от монолитной версии системы с 3-х слойной архитектурой к микросервисной версии системы с выделенным сервисом Service Discovery / API Gateway. При миграции сильно связанные части системы не были разбиты на микросервисы, чтобы не усложнять дизайн системы. Авторами даются практические рекомендации решения проблем, возникающих при эксплуатации системы на базе микросервисов. В заключении приводятся важнейшие отличия микросервисной версии системы от монолитной и преимущества, позволяющие решать больший, по сравнению с монолитными системами, спектр задач.

Еще

Распределенные системы, вычислительная наука, микросервисы, архитектура систем, обмен сообщениями, интеграция систем

Короткий адрес: https://sciup.org/148204752

IDR: 148204752

Список литературы Разработка распределенных приложений сбора и анализа данных на базе микросервисной архитектуры

  • Fowler M., Lewis J. Microservices URL: http://martinfowler.com/articles/microservices.html(дата обращения 05.09.2016)
  • Namiot D., Sneps-Sneppe M. On M2M Software Platforms//International Journal of Open Information Technologies, 2(8). 2014. C. 29-33.
  • Service-oriented e-learning platforms: From monolithic systems to flexible services/D. Dagger, A. O’Connor, S. Lawless, E. Walsh, V. Wade//IEEE Internet Computing. Т. 11. №. 3. 2007.С. 28-35.
  • The Database-is-the-Service Pattern for Microservice Architectures/A. Messina, R. Rizzo, P. Storniolo, M. Tripiciano, A. Urso//International Conference on Information Technology in Bio-and Medical Informatics. Springer International Publishing, 2016. С. 223-233.
  • A purely functional approach to packet processing/N. Bonelli, S. Giordano, G. Procissi, L. Abeni//Proceedings of the tenth ACM/IEEE symposium on Architectures for networking and communications systems. ACM, 2014. С. 219-230.
  • Villamizar M. Infrastructure Cost Comparison of Running Web Applications in the Cloud Using AWS Lambda and Monolithic and Microservice Architectures//2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid). IEEE, 2016. С. 179-182.
  • Namiot D., Sneps-Sneppe M.On micro-services architecture//International Journal of Open Information Technologies 2(9). 2014. C. 24-27.
  • Артамонов Ю.С., Востокин С.В. Инструментальное программное обеспечение для разработки и поддержки исполнения приложений научных вычислений в кластерных системах//Вестник Самарского государственного технического университета. Сер. Физ.-мат. науки, 19:4. 2015. C. 785-798.
  • Hassan M., Zhao W., Yang J.Provisioningwebservicesfromresourceconstrainedmobiledevice//InCloudComputing (CLOUD), 2010 IEEE 3rd International Conference on. IEEE.С. 490-497.
  • Microservices URL: http://microservices.io/patterns/microservices.html (дата обращения 05.09.2016)
  • Balalaie A., Heydarnoori A., Jamshidi P. Microservices migration patterns//Tech. Rep. TR-SUTCE-ASE-2015-01, Automated Software Engineering Group, Sharif University of Technology, Tehran, Iran, 2015.
  • Newman S. Building Microservices. O’Reilly Media, 2015. 280 с.
  • Fernández J., Iglesias C., M. Garijo Microservices: Lightweight service descriptions for REST architectural style//ICAART 2010 -Proceedings of the International Conference on Agents and Artificial Intelligence, Volume 1 -Artificial Intelligence, Spain, 2010.С. 186-189.
  • An architecture for self-managing microservices/G. Toffetti, S. Brunner, M. Blöchlinger, F. Dudouet, A. Edmonds//Proceedings of the 1st International Workshop on Automated Incident Management in Cloud. ACM, 2015. С. 19-24.
  • Performance Evaluation of Microservices Architectures using Containers/M. Amaral, J. Polo, D. Carrera, M. Steinder//Network Computing and Applications (NCA), 2015 IEEE 14th International Symposium on. IEEE, 2015. С. 27-34.
Еще
Статья научная