실무
시공관리 종합 솔루션 — 인프라 구축 & 배포 자동화
베어메탈 서버 3대(Linux 2대, Windows 1대)를 직접 발굴해 OS 설치부터 RAID/LVM 구성, 컨테이너 기반 배포 환경까지 전체 인프라를 구축하고, 이종 OS(Linux/Windows) 간 아키텍처를 설계했으며, 이 위에 GitLab CI/CD 배포 파이프라인과 Apache Airflow 기반 운영 자동화를 구축해 개발~운영 전 주기를 담당했습니다.
Overview
사내 시공관리 종합 솔루션 개발을 위해, 서버실에 수년간 OS조차 설치되지 않은 채 방치되어 있던 베어메탈 서버 3대(Linux 전용 2대, Windows 전용 1대)를 직접 발굴하여 처음부터 끝까지 인프라를 구축했습니다. 솔루션 내 도면 변환 기능이 Windows 환경(Revit/애드인)에 종속되는 제약이 있어, Linux/Windows 이종 OS 간 아키텍처를 직접 설계해 하나의 파이프라인으로 통합했습니다. 이 인프라 위에 GitLab CI/CD 기반 배포 자동화와 Apache Airflow 기반 운영 자동화(라이센스 만료 알림, 일일 서버 점검 리포트)를 구축해, 인프라 설계부터 배포·운영까지 전 과정을 담당했습니다.
Constraints
- 별도 인프라 담당자 부재 — 서버 셋업부터 운영까지 단독 담당
- 도면 변환 모듈이 Windows(Revit/애드인)에 종속 → Linux 기반 웹 서비스와 이종 OS 아키텍처 필요
- 개발용/운영용(영업·현업 확인용) 배포 환경 분리 요구
- 라이센스 만료, 서버 상태 점검 등 반복적 운영 업무의 누락 리스크
Tech Stack
- Ubuntu Server
- Docker / Docker Compose
- RAID 1 / RAID 5
- LVM
- Samba (SMB)
- GitLab CI/CD
- GitLab Runner
- Apache Airflow
- Shell Script
- SMTP
- Nginx
Learnings
- 인프라와 애플리케이션 아키텍처는 분리된 문제가 아니라 하나의 설계라는 것을 체감했습니다 — 이종 OS 제약을 먼저 이해해야 애플리케이션 구조(리소스 공유 방식, API 분리)가 나옵니다.
- 자동화는 편의 기능이 아니라 운영 리스크를 줄이는 핵심 장치입니다 — 사람이 매번 확인해야 했던 라이센스·서버 상태 체크를 Airflow로 자동화하면서 반복 업무 부담과 휴먼 에러 가능성을 크게 낮췄습니다.
- 방치된 자원을 활용 가능한 인프라로 되살리는 과정에서, 표준 셋업 문서화의 중요성을 다시 확인했습니다.