본문바로가기
E.T Code
LLM Serving Infrastructure
E.T Code
LLM Serving Infrastructure
E.T Code
E.T Code
사내 AI 코딩 어시스턴트를 위한 LLM 서빙 인프라
  • vLLM
  • OpenAI Compatible API
  • GPU Inference
  • MCP Server
  • Caddy
  • systemd
  • Python
  • Project
    E.T Code
  • Release Date
    2026.04
  • Type
    Enterprise / LLM Infrastructure
  • Role
    LLM Serving & Infrastructure
프로젝트 유형
Enterprise / LLM Serving Infrastructure
기술 스택
vLLM, Python, OpenAI Compatible API, Caddy, systemd, MCP Protocol
인프라 구성
GPU 추론 서버, Caddy Reverse Proxy, systemd 서비스, MCP 도구 서버
담당 역할
LLM 서빙 인프라 설계 및 구축, MCP 도구 서버 개발, 운영 환경 구성
개발 기간
약 2주
핵심 성과
vLLM 기반 GPU 추론 서버 구축, OpenAI Compatible API 제공, MCP 도구 서버 통합
E.T Code - 서빙 인프라
Serving
Infrastructure

사내 AI 코딩 어시스턴트에 LLM 추론 능력을 제공하는 서빙 인프라를 구축한 프로젝트입니다.

vLLM — GPU 서버에서 LLM을 서빙하고 OpenAI Compatible API를 제공
Caddy — 자동 HTTPS + 와일드카드 서브도메인 리버스 프록시
systemd — 프로덕션 수준의 프로세스 관리 및 자동 복구
MCP Server — AI에게 웹 검색, 크롤링 등 외부 도구를 제공

E.T Code - 핵심 기능
Key
Features

vLLM 서빙: 사내 GPU 서버에서 128K 컨텍스트 LLM 추론 + 스트리밍 응답
OpenAI Compatible API: /v1/chat/completions 표준 엔드포인트 제공
MCP 도구 서버: 웹 검색(6개) + 웹 크롤링(7개) = 13개 도구 제공
로드밸런싱: 4대 검색 백엔드 서버 풀 분산 처리
보안: 프로젝트 경로 제한, 내부 네트워크 격리
인프라: Caddy HTTPS + systemd 자동 재시작 + journalctl 로그

Challenge 1 | vLLM GPU 추론 서버 구축

문제: 사내 AI 코딩 어시스턴트가 사용할 LLM을 GPU 서버에서 서빙해야 했습니다. 외부 API(OpenAI, Claude)를 사용할 수 없는 보안 환경에서 128K 토큰 컨텍스트의 스트리밍 추론이 필요했습니다.

해결: vLLM으로 GPU 서버에 LLM을 배포하고, OpenAI Compatible API(/v1/chat/completions)를 제공하도록 구성했습니다. KV Cache 최적화로 반복 프롬프트 처리 효율을 높이고, Continuous Batching으로 동시 요청 처리량을 확보했습니다.

Challenge 2 | MCP 도구 서버 개발 및 통합

문제: AI 코딩 어시스턴트에 웹 검색, 크롤링 등 외부 도구 기능을 제공해야 했습니다. AI가 도구를 동적으로 탐색하고 호출할 수 있는 표준 인터페이스가 필요했습니다.

해결: MCP(Model Context Protocol) 기반으로 Python 도구 서버를 개발했습니다. 웹 검색 서버(6개 도구)와 웹 크롤링 서버(7개 도구)를 stdio 트랜스포트로 연동하고, 4대 검색 백엔드 서버 풀로 로드밸런싱하여 안정적인 도구 실행 환경을 구축했습니다.

Challenge 3 | Caddy + systemd 프로덕션 운영 환경

문제: 원격 개발자들이 HTTPS로 안전하게 접근할 수 있어야 하고, 서비스 장애 시 자동 복구가 필요했습니다. DevOps 전담 인력 없이 1인이 운영 가능해야 했습니다.

해결: Caddy로 자동 HTTPS(Let's Encrypt) + 와일드카드 서브도메인({PORT}.code.etribe.cloud → localhost:{PORT}) 리버스 프록시를 구성했습니다. systemd로 서비스를 등록하여 자동 재시작, 부팅 시 자동 시작, journalctl 중앙 로그 관리를 확보했습니다.

What I Learned | 배운 점

LLM 서빙: vLLM의 Continuous Batching, KV Cache 최적화 등 GPU 추론 서버 운영 패턴을 학습했습니다
OpenAI Compatible API: 표준 API 형식으로 LLM을 서빙하면 다양한 클라이언트와 즉시 연동 가능하다는 것을 체득했습니다
MCP 프로토콜: AI 도구 확장을 위한 표준 프로토콜 기반 서버 개발 경험을 얻었습니다
인프라 운영: Caddy, systemd를 활용한 프로덕션 서비스 배포 및 운영 노하우를 습득했습니다