ForgeHelm › 제품 › 기술 아키텍처

소스 코드를 제자리에 두기 위해 설계한 아키텍처

분석은 고객 네트워크 안에서 이루어지고, 경계를 넘는 것은 마스킹된 파일명, 행 번호, 통계 수치뿐입니다. 세 구성 요소는 각각 경계가 분명하고 독립적으로 업그레이드됩니다.

세 가지 구성 요소

🔍

분석 엔진(Agent)

고객 네트워크 안에 설치되며, 작업 큐와 분석 결과는 고객이 준비한 PostgreSQL에 저장됩니다. 모든 스캔과 분석은 로컬에서 실행됩니다. 코드 출처는 Git 저장소 주소이거나 관리 플랫폼에서 업로드한 ZIP입니다. 실행 방식은 웹훅, 정기 폴링, 고객 CI의 API 호출입니다. 소스 코드는 절대 외부로 전송하지 않습니다.

내부망 실행 PostgreSQL SignalR 웹훅 / 폴링 / API / ZIP
고객 네트워크

마스킹된 통계 수치만 전송

☁️

관리 플랫폼(SaaS)

테넌트 관리, 프로젝트 설정, 대시보드, 보고서 출력, 협업 흐름이 모두 여기에 있습니다. 저희가 호스팅하는 클라우드를 쓰거나, 전체를 고객 환경에 설치할 수 있습니다.

PostgreSQL SignalR RBAC
클라우드/SaaS
⬡
공용 계약(Contracts)

분석 엔진과 관리 플랫폼 사이의 데이터 형식에는 명확한 버전이 있어, 어느 한쪽을 업그레이드해도 다른 쪽이 깨지지 않습니다.

데이터 흐름

  1. 1 분석 엔진(Agent)이 트리거를 받습니다: Webhook, 폴링 또는 API 호출
  2. 2 고객 네트워크 안에서 분석을 실행하며, 소스 코드는 나가지 않습니다
  3. 3 결과를 마스킹하고 파일명, 행 번호, 통계 수치만 남깁니다
  4. 4 마스킹된 요약을 관리 플랫폼으로 실시간 푸시합니다
  5. 5 관리 플랫폼이 대시보드를 그리고 규정 준수 보고서를 생성합니다

배포 모드

☁️

완전 클라우드

가장 빠른 도입

관리 플랫폼과 분석이 모두 클라우드에 있으며 저희가 운영합니다.

적합한 경우:

  • 정책상 클라우드에서 코드를 분석해도 되는 경우
  • 도입 속도가 가장 중요한 경우
  • 규제 대상이 아니거나 아직 초기 단계인 프로젝트
🏢

프라이빗 클라우드 / 온프레미스

전체 자체 운영

모든 구성 요소를 고객의 데이터센터나 프라이빗 클라우드에 설치하며, 연산과 스토리지를 전부 고객이 통제합니다.

적합한 경우:

  • 엄격한 데이터 현지화 요건
  • 회사 정책상 클라우드를 전혀 쓸 수 없는 경우
  • 공공기관, 인프라를 전부 직접 통제해야 하는 조직
🔒

에어갭(Air-gapped)

최고 수준 보안

외부 연결이 전혀 없는 완전 오프라인 환경입니다. 업데이트는 물리 매체로 반입합니다.

적합한 경우:

  • 기밀 또는 군사 환경
  • 외부 연결이 일절 허용되지 않는 경우
  • 공공기관의 폐쇄망

AI를 연결하는 세 가지 방식

🌐

클라우드 모델(Core)

저희가 호스팅하는 모델(현재 Google Gemini API)을 사용해 가장 빠르게 시작할 수 있습니다. AI 검색용 코드 조각은 해당 공급자로 전송되어 색인됩니다. 세 플랜이 같은 어시스턴트를 쓰며, Core는 할당량에 따라 계량합니다.

💻

내부망 검색, 모델은 선택(Professional)

분석 엔진(Agent)이 고객 내부망에서 데이터 검색과 비밀 정보 차단을 마친 뒤, 질문을 고객이 지정한 모델 엔드포인트로 보냅니다. 퍼블릭 클라우드든 고객의 VPC든 가능하며 사용량 제한이 없습니다.

⚡

완전 오프라인, 자체 모델 사용(BYOL, Enterprise)

AI 배포 키트로 오픈소스 모델을 고객의 GPU에서 실행합니다. 질문과 답변 모두 내부망을 벗어나지 않습니다.

AI를 켜지 않아도 보고서, SBOM, 대시보드, 마이그레이션, 데이터 품질 다섯 모듈은 그대로 동작합니다. 모델 연결이 필요한 것은 AI 어시스턴트만입니다. AI 어시스턴트는 답변을 내보내기 전에 흔히 쓰이는 비밀번호·키 패턴을 차단해, 답변에 섞여 밖으로 나가지 않게 합니다.

어떤 통신을 열어야 하는지 분명히

하이브리드 배포에서 반드시 나오는 질문입니다. 두 경로는 방향이 반대라 나누어 설명합니다.

스캔과 보고서: 아웃바운드만 필요

분석 엔진(Agent)이 직접 밖으로 접속해 작업을 가져오고 진행 상황을 보고하며, 마스킹된 결과와 보고서 파일을 전송합니다. 이 경로에서는 분석 엔진에 외부로 노출되는 포트를 열 필요가 없습니다.

대시보드와 아키텍처 다이어그램: 관리 플랫폼이 분석 엔진에 닿아야 함

거버넌스 대시보드, 아키텍처 다이어그램 20종, 데이터 품질 정리, 코드 자동 변환 실행, AI 도우미의 검색은 관리 플랫폼이 분석 엔진에 질의하는 방식입니다. 관리 플랫폼이 클라우드에 있고 분석 엔진이 내부망에 있다면 이 경로에는 통제된 인바운드 통로가 필요합니다. 열고 싶지 않다면 관리 플랫폼도 내부망에 설치하시면 됩니다(프라이빗 클라우드 방식).

물리적 분리(Air-gapped) 배포에서는 이 문제가 없습니다 — 모든 구성 요소가 같은 격리 구간 안에 있습니다.

분석 엔진 서버는 어느 정도 규모가 필요한가

직접 구축하는 분석 엔진과 온프레미스 관리 플랫폼의 참고 사양입니다. 클라우드 전용 Core 플랜은 별도 장비가 필요 없습니다.

배포 규모 분석 엔진 CPU 분석 엔진 메모리 저장 공간 관리 플랫폼 메모리
소규모(저장소 10개 이하, 100만 줄) 2 vCPU4 GB20 GB8 GB
중규모(저장소 10~50개, 500만 줄) 4 vCPU8 GB100 GB16 GB
대규모(저장소 50개 이상, 2,000만 줄) 8 vCPU16 GB500 GB32 GB
물리적 분리 + 자체 모델(BYOL) 8 vCPU 이상 + GPU 32 GB + GPU 메모리 1 TB+32 GB

컨테이너 이미지와 docker compose 설정도 제공합니다. 자체 모델(BYOL)에는 호환 GPU가 필요하며, 양자화 모델도 최소 8 GB의 비디오 메모리가 필요합니다. 스캔 시간은 코드베이스 규모와 활성화한 프레임워크 수에 따라 늘어나며, 대규모 단일 저장소에는 증분 스캔을 권장합니다.

분석 엔진에는 PostgreSQL이 필요합니다 — 준비하는 방법은 세 가지

전산팀의 첫 반응은 대개 "관리할 데이터베이스가 또 늘어나느냐"입니다. 꼭 그렇지는 않습니다. 환경에 맞는 방법을 고르시면 됩니다.

컨테이너와 함께

제공해 드리는 컨테이너 설정을 쓰면 분석 엔진과 PostgreSQL이 함께 기동합니다. 데이터베이스는 컨테이너가 관리하므로 고객사에서 따로 유지보수할 필요가 없습니다. 가장 손이 덜 가는 방법입니다.

호스트의 서비스로

정책상 컨테이너를 쓸 수 없다면, PostgreSQL은 공식 설치 프로그램이 있어 Windows나 Linux의 시스템 서비스로 설치됩니다. 분석 엔진 설정에 연결 문자열만 넣으면 됩니다.

기존 인스턴스에 연결

이미 PostgreSQL을 쓰고 계시면 분석 엔진용 데이터베이스와 계정만 만들어 주시면 되고, 새로 설치할 필요가 없습니다. 최근 Oracle에서 전환한 환경은 대개 여기에 해당합니다.

분석 엔진은 연결 문자열로 접속하므로 세 방법 모두 동일하게 동작합니다. ※ 내장된 SQLite는 오프라인 시 이벤트 임시 보관용이며 주 데이터베이스로는 쓸 수 없습니다.

자체 모델 사용을 위한 AI 배포 키트(BYOL, Enterprise)

고객이 GPU와 오픈소스 모델을 준비하면 ForgeHelm이 미리 구성한 배포 조합을 제공해, AI 어시스턴트의 추론과 모델이 모두 내부망 안에 남습니다.

  • ✓ 분석 엔진의 AI 서비스, Ollama, 벡터 데이터베이스를 한 번에 올리는 배포 템플릿
  • ✓ 에어갭 환경을 위한 오프라인 설치 파일과 모델 다운로드 안내

이 아키텍처를 고객 환경에서 직접 검증해 보시겠습니까?

2주 개념 검증(PoC)을 신청하세요. 고객이 대표성 있는 저장소 하나를 지정하면, 저희가 고객 네트워크 안에 분석 엔진(Agent)을 설정하고 스캔을 실행해 보고서를 전달합니다. 코드는 전 과정에서 고객 환경에 남습니다.