하이파킹 Java → NodeJS 전환 및 Multi Cloud 마이그레이션

1. 문제 (Problem)

하이파킹은 전국 1,300여 개 주차장, 29만 주차면, 연 최대 25백만 대 차량을 관리하는 대규모 주차 시스템을 운영하고 있었습니다. 하지만 다음과 같은 문제점들이 있었습니다:

  • 레거시 Java 시스템의 한계: 기존 Java 기반 시스템의 성능 한계와 유지보수 어려움
  • 단일 클라우드 의존성: AWS RDS(MariaDB)에 대한 의존도가 높아 장애 시 전체 서비스 영향
  • 모니터링 부족: 시스템 상태를 실시간으로 파악하기 어려운 환경
  • 확장성 제약: 주차장 수 증가에 따른 시스템 확장의 어려움

2. 해결 (Solution)

이러한 문제들을 해결하기 위해 다음과 같은 접근 방식을 취했습니다:

Java → NodeJS 전환

  • 점진적 마이그레이션: 기존 Java 서비스를 단계적으로 NodeJS로 전환
  • 성능 최적화: NodeJS의 비동기 처리 특성을 활용한 성능 개선
  • API 호환성 유지: 기존 클라이언트와의 호환성을 보장하면서 전환

Multi Cloud 마이그레이션

  • AWS RDS → Multi Cloud MariaDB Cluster: 단일 클라우드 의존성 해소
  • 고가용성 확보: 여러 클라우드 제공업체를 활용한 장애 복구 능력 향상
  • 비용 최적화: 클라우드 제공업체 간 경쟁을 통한 비용 효율성 확보

모니터링 시스템 구축

  • MariaDB 모니터링: Connection, Lock Wait Timeout, Disk, Memory, CPU 모니터링
  • Java 서비스 모니터링: Connection Pool 상태 실시간 모니터링
  • 알림 시스템: 이상 상황 발생 시 즉시 알림 받을 수 있는 시스템 구축

주차 도메인 기능 개발

  • 정기권 관리: 주차장별 정기권 발급 및 관리 시스템
  • 할인 시스템: 다양한 할인 정책 적용 및 관리
  • 주차 통제 외부 연동: 외부 시스템과의 연동을 통한 통합 관리

3. 결과 (Results)

  • 시스템 성능 향상: NodeJS 전환을 통한 응답 속도 개선
  • 고가용성 확보: Multi Cloud 환경을 통한 99.9% 이상의 서비스 가용성 달성
  • 운영 효율성 증대: 실시간 모니터링을 통한 선제적 장애 대응
  • 확장성 확보: 주차장 수 증가에 유연하게 대응할 수 있는 시스템 구축
  • 비용 절감: Multi Cloud 전략을 통한 인프라 비용 최적화

4. 나의 역할 및 인사이트 (My Role & Insights)

역할:

  • Java → NodeJS 전환 프로젝트 리드
  • Multi Cloud 마이그레이션 아키텍처 설계
  • 모니터링 시스템 구축 및 운영
  • 주차 도메인 기능 개발

인사이트: 대규모 시스템의 기술 스택 전환은 단순한 기술적 문제가 아니라 비즈니스 연속성을 보장하면서 점진적으로 진행해야 한다는 것을 배웠습니다. 특히 25백만 대 차량을 관리하는 시스템에서는 무중단 서비스가 최우선이었고, 이를 위해 철저한 계획과 단계적 접근이 필수적이었습니다. Multi Cloud 전환을 통해 단일 클라우드 의존성의 위험성을 해소하고, 더욱 안정적인 서비스 운영 환경을 구축할 수 있었습니다.