Skip to content

시스템 아키텍처

Yun Yu Gyeom edited this page Jan 22, 2026 · 7 revisions

Decision Branch Options Flow-2026-01-22-141741

시스템 아키텍처

이 백엔드 서버(Admin BE)는 연구실 GPU 서버(Farm/Lab)를 자동으로 관리하기 위한 서버입니다.
프론트엔드(사용자/관리자 화면)에서 들어오는 요청을 처리하고, 필요한 경우 GPU 인프라 서버와 Kubernetes에 작업을 요청합니다. 승인/만료 같은 주요 이벤트가 발생하면 Slack/Email로 알림도 보냅니다.

구성 요소와 역할

  • 프론트엔드
    사용자/관리자가 신청, 승인, 조회 등을 하는 화면입니다.
    프론트엔드는 API를 통해 Admin BE에 요청을 보냅니다.

  • 백엔드 서버

    • 신청/승인/거절/변경 요청을 처리합니다.
    • DB에 신청 상태와 만료 정보 등을 저장하고, 조회 결과를 제공합니다.
    • GPU 인프라 서버에 계정 생성/삭제, 자원 할당/회수 같은 작업을 요청합니다.
    • 승인/만료/회수 등 중요한 상황에서는 Slack/Email 알림을 전송합니다.
  • 인프라 서버
    실제로 계정을 만들고 지우거나, 자원을 할당/회수하는 대상 서버입니다.
    Admin BE가 승인/회수 과정에서 인프라 서버에 작업을 요청합니다. Pod 상태 조회 등 운영 상태 확인을 위한 시스템입니다.
    Admin BE는 관리자 기능에서 Pod 목록/상세 정보를 조회합니다.

  • Slack/Email
    승인/거절, 만료/회수 같은 중요한 알림을 전달하는 채널입니다.
    Admin BE가 서비스 처리 상 필요한 시점에 알림을 전송합니다.

  • Config Server
    내부 시스템 연동을 위해 특정 사용자(username)의 승인/설정 정보를 조회합니다.
    Config Server는 Admin BE의 Config 관련 API로 정보를 받아갑니다.

주요 흐름

  1. 신청/조회 (사용자)
    사용자가 프론트엔드에서 신청/조회하면, 프론트엔드는 Admin BE API를 호출합니다.
    Admin BE는 신청 정보를 DB에 저장하고, 조회 요청에는 DB 기준으로 응답합니다.

  2. 승인/거절 (관리자)
    관리자가 승인하면 Admin BE는 GPU 인프라 서버에 계정 생성 및 자원 할당을 요청합니다.
    처리 결과를 DB에 반영한 뒤, 필요하면 Slack/Email 알림을 보냅니다.

  3. 운영 상태 확인 (관리자)
    관리자가 Pod 상태를 확인하면 Admin BE가 Kubernetes에 조회 요청을 보내 결과를 반환합니다.

  4. 만료일 기반 자동 회수 (Admin BE 내부 스케줄러)
    Admin BE 내부에서 주기적으로 만료 대상을 확인합니다.
    만료 대상이 있으면 인프라 서버에 자원 회수를 요청하고, DB 상태를 갱신한 뒤 알림을 전송합니다.

Clone this wiki locally