피드로 돌아가기
InfoQInfoQ
Backend

Zero-Dependency Java 전략을 통한 유지보수성 극대화 및 LLM Inference 최적화

Podcast: From Java EE to Quarkus and LLMs: Adam Bien’s Playbook for Boring, Future‑Proof Systems

Adam Bien2026년 5월 11일32intermediate

Context

과거 Java EE 환경의 과도한 Application Server 의존성과 Spring Framework의 복잡한 XML 설정으로 인한 아키텍처 비대화 발생. 불필요한 Dependency 중첩으로 인해 시스템 복잡도가 증가하고 배포 및 유지보수 효율이 저하된 상황을 분석함.

Technical Solution

  • Jakarta EE 표준 기반의 Zero-Dependency 설계를 통해 프레임워크 종속성을 최소화한 아키텍처 지향
  • Spring의 과도한 XML 설정 대신 Java EE 5부터 도입된 Convention over Configuration 원칙을 적용하여 설정 최적화
  • Quarkus 도입을 통해 기존 Java EE 애플리케이션의 통증 없는 마이그레이션 및 클라우드 네이티브 환경으로의 전환 구현
  • LLM Inference 단계에서 Python의 복잡한 의존성 문제를 해결하기 위해 TornadoVM과 GPU Lama를 활용한 Java 기반 실행 구조 설계
  • CI/CD 파이프라인 내에서의 원활한 배포를 위해 별도의 외부 프로세스(Ollama 등) 설치 없이 JDK 내에서 직접 LLM을 구동하는 전략 채택

1. 신규 프로젝트 설계 시 외부 Dependency 도입 전 표준 JDK/Jakarta EE API로 대체 가능한지 검토

2. 설정 파일의 비대화를 방지하기 위해 Convention over Configuration 원칙 적용 여부 확인

3. AI 모델 서빙 시 Python 런타임 의존성을 줄이기 위해 Java 기반 Inference 라이브러리(TornadoVM 등) 검토

4. CI/CD 파이프라인의 복잡도를 낮추기 위해 런타임 설치 최소화 구조 설계

원문 읽기