JAN 10, 2026
서버 QC 자동화시스템
수작업으로 진행되던 서버 출고 공정을 Python/FastAPI 기반으로 100% 자동화하여, 생산성을 260% 증대시킨 인프라 자동화 프로젝트
1. 프로젝트 개요
- 기간: 2023.11 ~ 2024.05 (약 6개월, 1인 프로젝트)
- 역할: 전체 시스템 설계 및 개발, 운영 프로세스 구축
- Tech Stack:
- Language:
Python,Bash Shell - Framework:
FastAPI(Backend/Dashboard),iPXE(OS Booting) - Infra Control:
IPMI,Redfish API - Database:
MariaDB
- Language:
2. 문제 정의
시작 계기 및 목적
기존의 서버 QC공정은 평균 한사이클에 60대정도를 진행했습니다. 그 과정에서 사람이 직접 서버의 전원제어부터 BIOS 진입 및 설정, OS 설치 및 과정, Bash Script실행등등 모든 단계를 직접 실행하고 확인하고 OS설치가 잘 되고 있는지, Script실행이 제대로 되고 있는지, 설정 값이 적용이 됬는지 모든 단계를 사람이 모두 확인 했었습니다. 그로 인해 아무리 작업자가 숙련되더라도 절대 시간이 필요했으며, 갑자기 납품 물량이 늘어나게 된다면
그로 인해 늦은 시간까지 밤을 새면서 작업을 해야했고 이는 작업자의 컨디션에 즉각적으로 영향을 미쳤으며 작업자의 컨디션에 따라 서버품질의 결과가 좌우되는 문제가 있었습니다.
- 1 (낮은 생산성): 엔지니어가 물리적으로 서버를 제어하고 눈으로 확인 (일일 최대 150대 한계).
- 2 (휴먼 에러): 모든 과정을 사람이 하므로 컨디션에 따라 품질 저하 발생.
- 3 (대량물량 대응불가): 아무리 숙련된 인력일지라도 절대 시간이 필요하므로 대량납품에 대해 즉각적으로 대응 불가능.
평소 저는 Dell, HP 같은 글로벌 제조사나 Naver, Kakao 같은 국내 빅테크 기업들이 수천 대의 서버를 어떻게 관리하는지, 그들의 인프라 운영 방식에 늘 관심을 두고 있었습니다. 그러던 중 중국 대형 제조사(Inspur)의 공장을 견학하고 오신 상무님을 통해 "그들은 중앙에서 모든 공정을 자동화하여 관리하고 있다"는 사실을 전해 듣게 되었고, 우리 공정에도 이러한 '중앙 집중형 자동화 시스템'을 도입할 수 있겠다는 생각을 가졌습니다.
또한, 매년 특정 시기마다 납품 물량이 몰리는 경향이 있었는데, 그때마다 밤샘 야근으로 대응해야 하는 상황이 반복되었습니다. 아무리 작업자의 숙련도가 높아져도 물리적인 작업 시간의 한계는 명확했기에, 기존 방식으로는 작업 시간을 획기적으로 단축할 수 없다고 판단했습니다.
처음에는 전원 제어와 같은 단순한 호기심에서 시작된 기능 구현이었지만, 이를 하나씩 연결하며 시스템화의 가능성을 보았습니다. 결과적으로 저는 작업자가 물리적으로 개입하지 않고 중앙에서 원격으로 통제하며, 속도는 극대화하되 오류율은 0%를 보장하는 '완전 무인 자동화 표준 시스템'을 구축하는 것을 최종 목표로 삼았습니다.
3. 구성도

1. 워크플로우 사이드바 (Left Sidebar - Workflow Control)
화면 좌측의 메뉴(Upload Logo → Online → Script → ...)는 실제 검수 공정의 순서대로 배치했습니다.
작업자는 위에서부터 아래로 버튼을 순차적으로 클릭하는 것만으로, CLI 명령어 입력 없이 표준화된 검수 프로세스를 수행할 수 있습니다.
2. 실시간 상태 모니터링 (Real-time Status Monitoring)
Task & Status: 현재 백엔드에서 수행 중인 작업 내용(Recording in Database...)과 진행상태을 실시간으로 시각화했습니다.
Visual Indicator: 로딩 인디케이터(Loading)와 완료 마크(Green Check)를 통해 비동기 작업의 완료 여부를 직관적으로 파악할 수 있습니다.
Power Control: 각 서버의 전원 상태(On/Off)를 아이콘 색상으로 표시하여, IPMI 연결 상태를 즉시 모니터링합니다.
3. 하드웨어 정보 자동 수집
우측 테이블의 Serial, BIOS, BMC Firmware 정보는 MariaDB에 저장된 서버 데이터를 불러와 표시한 것입니다.
작업자가 OS 설치를 완료하면, 스크립트가 자동으로 중앙 서버 DB에 현재 시스템 상태를 전송 및 저장합니다. 이를 통해 작업자는 시스템의 현재 상태와 앞으로 할 작업 여부를 미리 파악할 수 있습니다.
4. 실시간 서버 상태체크
메모리 접촉불량, 메인보드 결함, 디스크이상(RAID깨짐), 파워이중화 결함 등등 서버의 전반적인 상태를 실시간으로 검사하여 대시보드 알람아이콘에 표시합니다.
문제가 생긴다면 알람아이콘이 움직이며 빨간색으로 변하고 해당 BMC IP와 위험도를 표시합니다.

추가정보인 발생시간,문제발생지,상세내역을 표시합니다.

IMFORTANT
해당 문제가 사라지면 알람아이콘과 Health항목은 원래상태로 돌아옵니다.
5. 실시간 펌웨어 업데이트 진행여부
서버의 BIOS, BMC Firmware 업데이트 진행 단계를 매 1초마다 실시간으로 반영해서 대시보드에 표시합니다.

각 QC공정의 모든 단계는 설계자가 아닌 사용자를 기준으로 설계 되었으며 누구든 쉽고 빠르고 정확하게 QC를 할수 있도록 설계되었습니다.
4. 핵심 성과
- 생산성 증대: 일일 처리량 150대 → 540대 (260% ▲)
- 품질 확보: 휴먼 에러로 인한 출고 불량률 0% 달성
- 운영 효율화: 비숙련자도 매뉴얼만 있다면 운영 가능한 표준 시스템 정착
5. 실제 시연 영상
사전에 정의해둔 기준치(Firmware 버전, 각종 파츠 장착 여부, IPMI설정, BIOS설정 등 모든단계를 검사)에 벗어나지 않는다면 PASS로 간주합니다.