Microservice construction method based on UML design assets of monolithic applications

모놀리식 애플리케이션의 UML 설계 자료에 기반한 마이크로서비스 구성 방법

  • 김대호 (부산대학교 전기전자컴퓨터공학과, 물류혁신네트워킹연구소, 전기컴퓨터공학부) ;
  • 박준석 (부산대학교 전기전자컴퓨터공학과, 물류혁신네트워킹연구소, 전기컴퓨터공학부) ;
  • 염근혁 (부산대학교 전기전자컴퓨터공학과, 물류혁신네트워킹연구소, 전기컴퓨터공학부)
  • Received : 2018.07.02
  • Accepted : 2018.10.16
  • Published : 2018.10.31

Abstract

Recently, serverless computing is spotlighted. Because it supports the development of application based on micro-service. Micro-service means a small-scale service that can operate independently. Applications with micro-service units have the advantage of enabling individual updates, easy and fast deployment. In addition, it has the advantage of supporting various languages and platforms for each service. Therefore many enterprise are trying to change from monolithic architecture to micro-service based architecture. However, there is a lack of research on methods and baseline for micro-service construction. In this paper, a method is proposed to construct the micro-service unit by analyzing UML design in monolithic application. It also shows the proposed approach can reconstruct monolithic application into micro-service based unit by implementing the constructed micro-services in a real serverless platform environment. In addition, the results of the comparative evaluation with the related studies are presented.

최근 마이크로서비스를 기반으로 애플리케이션 개발을 지원하는 서버리스 컴퓨팅이 각광 받고 있다. 마이크로서비스란 독립적으로 동작 가능한 작은 규모의 서비스를 의미한다. 마이크로서비스 단위로 구성된 애플리케이션은 개별적인 업데이트와 쉽고 빠른 배포가 가능하다는 장점이 있다. 그리고 각 서비스마다 다양한 언어와 플랫폼 등을 지원할 수 있다는 장점이 있다. 따라서 많은 기업들이 모놀리식 구조에서 마이크로서비스 구조로 전환을 시도하고 있지만 마이크로서비스 구성에 대한 방법 및 기준과 이에 대한 연구가 부족한 실정이다. 본 논문에서는 모놀리식 애플리케이션의 UML 설계 자료를 분석하여 마이크로서비스 단위로 구성하는 방법을 제시한다. 구성된 마이크로서비스를 실제 서버리스 플랫폼 환경에서 구현함으로서 제시한 방법이 모놀리식 애플리케이션을 마이크로서비스 단위로 재구성할 수 있음을 보이며 기존 관련 연구와 비교 평가를 수행한 결과를 제시한다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. Microservices, https://martinfowler.com/articles/microservices.html.
  2. M. Villamizar, O. Garcés, L. Ochoa, H. Castro, L. Salamanca, M. Verano, R. Casallas, S. Gil, C. Valencia, A. Zambrano and M. Lang, "Infrastructure Cost Comparison of Running Web Applications in the Cloud Using AWS Lambda and Monolithic and Microservice Architectures", 2016 16th IEEE/ACM Interna tional Symposium on. IEEE, pp. 38-45, May. 2016
  3. Gartner, https://www.gartner.com/smarterwithgartner/top-trends-in-the-gartner-hype-cycle-for-emerging-technologies-2017/.
  4. Amazon AWS Lambda, https://aws.amazon.com/ko/lambda/.
  5. Google Cloud Function, https://cloud.google.com/functions/.
  6. MS Azure Function, https://azure.microsoft.com/ko-kr/services/functions/.
  7. 김진택, 조수지, 오동하, 노준길, "클라우드컴퓨팅 기술스택 분석", 한국차세대컴퓨팅학회 논문지, 제 11권 6호, pp 79-89, 2015. 12.
  8. 신민희, "클라우드 컴퓨팅 산업현황 및 발전 전망", 한국차세대컴퓨팅학회 논문지,제 7권 6호, pp 79-87, 2011. 12.
  9. 신영록, 알 아민 호세인, 임철수, 허의남, "클라우드 컴퓨팅 환경에서 브로커를 위한 SLA 기반 환불 방법 연구", 한국차세대컴퓨팅학회 논문지, 제 9권 4호, pp 72-81, 2013. 8.
  10. I. Baldini, P. Castro, K. Chang, P. Cheng, S. Fink, V. Ishakian, N. Mitchell, V. Muthusamy, R. Rabbah, A. Slominski and P. Suter, "Serverless Computing: Current Trends and Open Problems", Cornell University, Jun. 2017.
  11. F. Rademacher, S. Sachweh and A. Zundorf, "Differences Between Model-driven Development of Service-oriented and Microservice Architecture", 2017 IEEE International Conference on Soft ware Architecture Workshops, pp. 38-45, Apr. 2017
  12. N. Dragoni, S. Giallorenzo, A. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, "Microservices: yesterday, today, and tomorrow", pp. 195-216, Present and Ulterior Software Engineering, Springer, 28 April 2017.
  13. Y. Yu, H. Silveira and M. Sundaram. "A Microservice based Reference Architecture Model in the context of Enterprise Architecture", IEEE Advanced Information Management, Communicates, Electronic and Automation Control Conference, pp. 1856-1860, Oct. 2016.
  14. O. Mustafa, and J. Marx Gomez, "Optimizing economics of microservices by planning for granularity level", ProWeb 2017 Programming Technology for the Future Web Brussels Belgium, Apr. 2017
  15. G. Mazlami, J. Cito and P. Leitner, "Extrac tion of Microservices from Monolithic Software Architecture, Web Services, 2017 IEEE International Conference on, Honolulu, HI, USA, Vol. 40, Issue 11, pp. 524-531, Sep. 2017
  16. R. Chen, S. Li , Z. Li, "From Monolith to Microservices: A Dataflow-Driven Approach", pp. 466-475, 2017 24th Asia-Pacific Software Engineering Conference, IEEE, pp. 466-475, Dec 2017.
  17. Adjacency list, https://en.wikipedia.org/wiki/Adjacency_list
  18. 채흥석, "객체지향 CBD 개발 Bible: J2EE와 .NET 대학 정보 시스템 프로젝트", 2003
  19. SquirrelBin: A Serverless Microservice Using AWS Lambda, https://aws.amazon.com/ko/blogs/compute/the-squirrelbin-architecturea-serverless-microservice-using-aws-lambda/
  20. PostMan, https://www.getpostman.com/