[논문 리뷰] From Monolith to Microservices: Static and Dynamic Analysis Comparison
이 논문은 유사도 측정법과 복잡도 메트릭을 사용하여 모놀리스 시스템 내에서 마이크로서비스 경계를 식별하기 위한 정적 분석 기법과 동적 분석 기법을 비교한다. 정적 분석과 동적 분석이 일관되게 상대적으로 우월하지는 않지만, 동적 분석은 훨씬 더 많은 노력을 요구하고 덜 포괄적인 커버리지로 이어져 결과적으로 유사한 성능에도 불구하고 더 높은 비용-편익 비율을 보인다.
One of the most challenging problems in the migration of a monolith to a microservices architecture is the identification of the microservices boundaries. Several approaches have been recently proposed for the automatic identification of microservices, which, even though following the same basic steps, diverge on how data of the monolith system is collected and analysed. In this paper, we compare the decompositions generated for two monolith systems into a set of candidate microservices, when static and dynamic analysis data collection techniques are used. The decompositions are generated using a combination of similarity measures and are evaluated according to a complexity metric to answer the following research question: which collection of monolith data, static or dynamic analysis, allows to generate better decompositions? As result of the analysis we conclude that neither of the analysis techniques, static nor dynamic, outperforms the other, but the dynamic collection of data requires more effort.
연구 동기 및 목표
- 모놀리스 이관 과정에서 정적 분석과 동적 분석 중 어느 것이 더 나은 마이크로서비스 분해를 제공하는지 평가하기 위해.
- 정적 소스 코드 분석과 런타임 동작 관찰이라는 데이터 수집 기법이 분해 품질에 미치는 영향을 평가하기 위해.
- 모놀리스에서 후보 마이크로서비스를 생성할 때 유사도 측정법과 복잡도 메트릭을 비교하기 위해.
- 미래의 마이크로서비스 이관 연구를 지원하기 위해 공개된 데이터와 구성 가능한 도구를 제공하기 위해.
제안 방법
- 연구는 기능(F), 도메인 엔터티(E), 호출 그래프(G)로 구성된 모놀리스의 형식적 모델을 사용한다. 이는 (F, E, G)의 삼중으로 표현된다.
- 공유된 기능 액세스를 기반으로 도메인 엔터티 간의 결합도를 정량화하기 위해 세 가지 유사도 측정법—액세스, 읽기-쓰기, 순서 유사도—를 적용한다.
- 정적 또는 동적 데이터에서 유도된 유사도 행렬에 클러스터링 알고리즘을 적용하여 분해를 생성한다.
- 복잡도 메트릭은 거래 분포와 상호작용 오버헤드를 측정하여 분해의 품질을 평가한다.
- 동적 데이터는 런타임 인스트루멘테이션을 통해 수집되고, 정적 데이터는 정적 분석을 통해 소스 코드에서 추출된다.
- 해당 방법은 전문가가 정의한 경계와 비교하여 분해의 커버리지와 품질을 정량적 메트릭을 사용해 평가한다.
실험 결과
연구 질문
- RQ1정적 분석과 동적 분석 중 어느 데이터 수집 기법이 복잡도와 품질 측면에서 더 나은 마이크로서비스 분해를 제공하는가?
- RQ2액세스, 읽기-쓰기, 순서 유사도와 같은 다양한 유사도 측정법이 생성된 분해의 품질에 어떤 영향을 미치는가?
- RQ3마이크로서비스 경계 식별을 위한 정적 데이터 수집과 동적 데이터 수집 간의 노력과 커버리지 사이의 트레이드오프는 어떠한가?
- RQ4더 많은 노력을 요구함에도 불구하고, 동적 분석 데이터는 정적 분석보다 더 정확한 분해를 이끌 수 있는가?
주요 결과
- 정적 분석과 동적 분석이 모두 높은 품질의 마이크로서비스 분해를 생성하는 데 일관되게 뛰어나지 못한다.
- 동적 분석은 정적 분석에 비해 훨씬 더 많은 노력을 요구했고, 데이터 커버리지가 낮았다.
- 두 기법이 생성한 분해의 복잡도는 유사했으며, 이는 분산 거래를 최소화하는 데 유사한 성능을 보였음을 시사한다.
- 연구 결과에 따르면 동적 분석 데이터 수집은 더 높은 자원 소비와 완전하지 않은 커버리지로 인해 효율성이 떨어진다.
- 저자들은 향후 연구를 지원하기 위해 공개된 동적 분석 데이터와 구성 가능한 데이터 수집기 도구를 제공한다.
- 결과적으로 유사한 분해 품질에도 불구하고 정적 분석의 비용-편익 비율이 더 높다는 것이 제안된다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.