← 목록으로
PROJECT · 전체

솔루션 배포/개발 파이프라인(DevOps) 체계 구축

DevOpsCI/CDOptimization

1. 도입 배경 및 과제 (Background & Problem)

기존 서비스 포털(Portal)이 거대한 단일 코드 베이스로 이뤄진 모놀리식(Monolithic) 아키텍처로 관리됨에 따라, 팀 내 엔지니어들이 순수한 기능 개발보다 빌드(Build), 테스트(Test) 및 배포(Deploy)의 반복 작업에 더 많은 시간 리소스(Resource)를 낭비하는 문제가 제기되었습니다. 부서의 생산성을 높이기 위해 개발 및 관리 체계를 데브옵스(DevOps) 철학에 맞춰 자동화 파이프라인 구조로 혁신하는 전략을 주도했습니다.

2. 기술적 구현 및 적용 (Technical Implementation)

문서화되어 흩어져있던 스크립트(Script)를 코드로 관리(IaC)하기 시작했고, 거대한 모놀리식 소스에서 도메인(Domain) / 인프라(Infrastructure) / 화면 모듈(Module)을 철저히 분리 재설계(Refactoring)하여 단위 테스트 코드(Unit Test Code) 작성을 의무화하는 규칙을 세웠습니다.

코드 형상 관리 도구인 깃(Git) 브랜치 전략을 코어로, 젠킨스(Jenkins)를 통한 지속적 통합(CI) 및 지속적 배포(CD) 파이프라인(Pipeline)을 구축했습니다. 이후 병합된 모든 코드는 도커(Docker) 컨테이너 이미지(Container Image)로 자동 빌드된 뒤 하버(Harbor) 이미지 레지스트리(Image Registry)에 안전하게 푸시(Push) 되도록 오케스트레이션(Orchestration) 룰을 완비했습니다.

3. 성과 및 유용성 (Result & Benefit)

개발자 3인이 매일 수동으로 검증(Verify)하고 머지를 수행하며 겪었던 악성 깃 충돌(Git Merge Conflict) 이슈가 완전히 해결되었습니다. 타임베이스(Time-based)로 구축된 파이프라인의 자동 회귀 테스트(Regression Test) 덕분에 수동 검증 비용이 제로가 되었습니다.

기존 1시간 가량 소비되던 배포 리드타임(Lead Time)이 스크립트 실행만으로 10분 이내로 비약적으로 단축(Reduction)되었습니다. 이처럼 인프라와 배포 관리 로드를 덜어냄으로써 애자일(Agile) 지라(Jira) 티켓 스프린트 시간 기준으로, 팀 내의 소스코드(Source Code) 핵심 개발 할당량을 70% 이상으로 끌어올리는 강력한 퍼포먼스(Performance) 개선을 달성했습니다.

📎 Flow Diagram: resources/diagrams/devops-pipeline.html


1. 도입 배경 및 과제 (Background & Problem)

발송 성능의 비약적인 향상과 더불어, 복잡한 서버 환경에서의 설정 편의성 및 운영 관리 효율성을 극대화하기 위한 서버 아키텍처 고도화가 요구되었습니다.

2. 기술적 구현 및 적용 (Technical Implementation)

  • 설정 파일 기반의 DMZ 구간 설정과 서버 이중화 및 클러스터링 구성을 통해 안정적인 고성능 발송 인프라 구축
  • Spring Batch와 Quartz Job을 연동한 DB 기반 작업 분산 처리 모델을 도입하여, 소스 내 고정된 데이터 구조의 한계를 극복하고 시스템 유연성 확보
  • Windows/Linux 등 다양한 OS 환경과 스토리지(DAS, NAS, SAN) 특성을 분석하여 파일 I/O 및 Read/Write 성능 최적화
  • 시스템 리소스 상황에 맞춘 JRE 환경(GC 방식, Block Size 등) 튜닝을 통해 JVM 메모리 관리의 안정성 확보

3. 성과 및 유용성 (Result & Benefit)

  • 인프라 이중화 및 클러스터링 구현을 통해 서비스 중단 없는 고성능 발송 환경 안착
  • 고객사 맞춤형 환경 최적화 파일과 다중 JVM 모듈의 일괄 제어 및 상태 모니터링이 가능한 통합 쉘 스크립트를 제공하여 운영 공수 획기적 절감 📎 Flow Diagram: resources/diagrams/email-hybrid.html