ModARO: 마이크로서비스 코드베이스를 위한 모듈형 아키텍처 재구성 프레임워크

ModARO: 마이크로서비스 코드베이스를 위한 모듈형 아키텍처 재구성 프레임워크
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

ModARO는 정적 분석 기반의 마이크로서비스 아키텍처 재구성을 위해 ‘추출기(extractor)’라는 모듈을 정의하고, 이들을 공통 모델에 연결해 다중 레포지토리 환경에서도 재사용 가능하도록 설계한 시스템이다. 10개의 오픈소스 프로젝트에 적용한 실험과 8명의 산업 현장 전문가를 대상으로 한 사용자 연구에서 기존 ReSSA 대비 높은 유용성과 사용성을 입증하였다.

상세 분석

ModARO는 마이크로서비스 아키텍처 재구성의 두 가지 핵심 난제—기술 스택의 이질성 및 서비스가 여러 레포지토리에 분산돼 있다는 점—를 해결하기 위해 ‘모듈형 추출기’와 ‘공유 아키텍처 모델’이라는 설계 패턴을 도입하였다. 추출기는 JavaScript 함수 형태로 구현되며, 입력으로 모델 엔티티를 받고 필요한 정보를 추출해 동일 모델에 기록한다. 각 추출기는 JSON‑Schema 기반의 입력 스키마를 사전 등록함으로써, 자신이 처리할 수 있는 엔티티 유형($TYPE)과 필수 필드($path 등)를 명시한다. 이는 실행 시점에 스키마 검증을 수행해 잘못된 엔티티가 전달되는 것을 방지하고, 추출기 간 의존성을 명시적으로 관리한다는 장점을 제공한다.

공유 모델은 JSON 구조를 채택해 임의의 키‑값 쌍을 재귀적으로 저장할 수 있다. $TYPE 필드로 엔티티 종류를 구분하고, ‘$’ 접두사가 붙은 메타 필드는 최종 출력 전 자동 제거된다. 이렇게 설계된 모델은 추출기들이 서로 독립적으로 동작하면서도, 한 추출기가 만든 데이터를 다른 추출기가 바로 활용할 수 있게 해준다. 예를 들어 Docker‑Compose 파일을 파싱해 마이크로서비스 경로를 설정하는 추출기가 먼저 실행되고, 이후 Java 소스 파일을 탐색하는 추출기가 해당 경로 정보를 이용해 ‘java=true’와 같은 속성을 추가한다.

재구성 알고리즘은 재귀적 패스 방식을 채택한다. 최상위 모델 엔티티($MODEL)에서 시작해, 해당 스키마에 매칭되는 모든 추출기를 순차적으로 실행한다. 새로운 마이크로서비스 엔티티가 생성되면, 알고리즘은 자동으로 그 엔티티에 맞는 추출기 집합을 다시 호출한다. 이 과정은 새로운 엔티티가 더 이상 생성되지 않거나, 모든 추출기의 스키마 조건을 만족하는 엔티티가 없을 때까지 반복된다. 충돌 감지 메커니즘도 포함돼 있어, 서로 다른 추출기가 동일 필드에 상충되는 값을 기록하려 하면 오류를 발생시킨다.

ModARO의 가장 큰 혁신은 ‘분산 아키텍처 재구성(distributed architecture reconstruction)’ 개념이다. 각 마이크로서비스 레포지토리마다 독립적으로 추출기를 실행하고, 최종 모델을 CI/CD 파이프라인에서 수집·통합한다. 따라서 기존 방식처럼 모든 서비스 코드를 하나의 분석 대상에 모을 필요가 없으며, 각 팀이 자신들의 레포지토리에서 바로 재구성을 수행할 수 있다. 이는 조직 규모가 커질수록 발생하는 레포지토리 분산 문제를 자연스럽게 해결한다.

평가에서는 10개의 오픈소스 마이크로서비스 프로젝트(다양한 언어·프레임워크 포함)에 ModARO를 적용해 모델을 성공적으로 생성했으며, 추출기 재사용률이 평균 70%에 달했다. 사용자 연구에서는 8명의 산업 현장 실무자를 대상으로 ReSSA와 비교했을 때, ModARO가 제공하는 ‘추출기 작성·재사용 용이성’, ‘다중 레포지토리 지원’, ‘CI/CD 연계 편리성’ 측면에서 유의미하게 높은 점수를 받았다. 특히, 비전문가도 간단한 JavaScript 코드와 JSON‑Schema만으로 새로운 기술 스택에 맞는 추출기를 작성할 수 있다는 점이 실무 적용성을 크게 높였다.

보안 측면에서는 외부 추출기 실행 시 잠재적 위험을 지적했으며, 향후 샌드박스 환경이나 서명 기반 검증 메커니즘 도입이 필요하다고 제안한다. 또한, 현재 모델 스키마는 연구 목적에 맞게 제한적이므로, 보다 포괄적인 마이크로서비스 아키텍처 메타모델을 정의하고 표준화하는 작업이 향후 연구 과제로 남는다.

요약하면, ModARO는 추출기와 공유 모델을 통한 모듈형 설계, 재귀적 실행 알고리즘, 그리고 분산 레포지토리 지원이라는 세 축을 통해 마이크로서비스 아키텍처 재구성의 재사용성·확장성을 크게 향상시킨 프레임워크이며, 실증 실험과 사용자 평가를 통해 그 실효성을 입증하였다.


댓글 및 학술 토론

Loading comments...

의견 남기기