프로젝트 요약
완전 관리형 현실공간 기반 디지털 트윈 서비스 플랫폼
•
제목: AR & 디지털트윈 플랫폼 ‘Widearth’ 개발 참여
•
기간: 2024년 01월 - 2024년 10월 (10개월)
•
역할: 리드 ML/Infra 담당 ~ MLOps/DevOps + ML Backend + SRE [기여도 75%]
◦
DevOps & SRE
▪
IaC, GitOps, CI/CD 파이프라인, 모니터링, 로깅, 알림, 다중 배포 시나리오, 긴급 대응
◦
Hybrid Clusters
▪
AWS EKS + 베어메탈 쿠버네티스, API 게이트웨이 패턴, 동적 VM 관리, GPU 비용 최적화
◦
ML Workloads
▪
ML APIs, ML 파이프라인, 데이터레이크, 도커라이징, 모델 CI/CD
•
성과: 서비스 출시 성공 ~ 소수 정예, 모든 기능 구현, 가용성 향상, 비용 절약
◦
서비스 출시
▪
15인 총원, 8인 개발, 1인 인프라 담당으로 기획과 개발에 참여하여 플랫폼 출시와 운영에 기여
◦
고효율 ML
▪
하이브리드 클러스터의 온프레미스 인프라에서 실시간으로 ML 파이프라인 수행. 산출물인 공간맵을 프로덕션 환경에서 300개 이상 생성하였고, 기존 서비스 대비 클라우드 비용을 약 1.5천만원(70%) 절약
◦
고가용 인프라
▪
하이브리드 클러스터 및 장애 대응으로 서비스 연간 가용성 96%, 다운타임 14일의 원만한 서비스를 구현
•
대표 사용 기술
◦
AWS EKS
◦
Kubespray
◦
Python/FastAPI
◦
Argo Workflows
◦
Argo CD
◦
Bitbucket Pipelines
◦
Karpenter
아키텍처
디지털 트윈 플랫폼을 위한 하이브리드 아키텍처를 구성하였습니다. 사내 보안 규정으로 인해 생략/단순화 된 부분이 있는 점 참고 부탁드립니다.
와이더스의 동작 흐름 및 사용자들의 행동 패턴
와이더스는 디지털 트윈 기술로 생성한 공간맵으로 아래 두 사용자를 대상으로 하는 B2B2C 사업입니다. 이는 B2B 사업이지만, 주 고객을 거쳐 일반 소비자에게도 서비스가 제공되는 플랫폼 사업입니다.
사용자들에 대한 설명
와이더스의 아키텍처 중 퍼블릭 클라우드에 해당하는 영역. 사용자와 상호작용하는 부분
•
사용자와 상호작용하는 부분으로, 주로 플랫폼의 퍼블릭 클라우드 영역입니다.
•
FE/BE/파이프라인을 분리한 MSA(마이크로 서비스 아키텍처 혹은 미니 서비스 아키텍처)를 구성하고 있습니다. 각 서비스 마다 데이터베이스가 엄격히 나누어지지 않았으므로 ‘미니 서비스 아키텍처’라 부르는 것이 적절합니다.
•
단일/멀티 클러스터에서 동작가능하며, 사용량/사용환경에 따라서 모든 서버는 수평확장가능하도록 설계하였습니다.
•
파이프라인은 후술할 하이브리드 아키텍처에서 자세히 설명합니다.
와이더스의 아키텍처 중 하이브리드 클라우드(파이프라인)에 해당하는 영역. 사용자와 상호작용하는 부분
•
파이프라인이 동작하는 부분으로, 온프레미스와 퍼블릭 클라우드를 함께 사용하는 하이브리드 영역입니다.
•
온프레미스와 퍼블릭 클라우드에 파이프라인이 동일 명세로 구성되어 있습니다. 이를 위해 각 클라우드에 ‘파일 스토리지, 오브젝트 스토리지’를 각각 구성하였습니다.
•
백오피스를 위한 로그 및 메타데이터의 데이터베이스는 가용성 및 관리를 위해 퍼블릭 클라우드에만 구성하였습니다.
•
맵 생성 요청이 오면 1순위로 온프레미스 데이터센터의 가용영역에 할당이 됩니다. 온프레미스가 응답하지 않거나, 모두 할당한 상태이면 2순위인 퍼블릭 클라우드에 할당되어 파이프라인을 가동합니다.
◦
온프레미스 데이터센터에 장애/재난이 생겼을 경우,
◦
온프레미스 데이터센터의 가용량을 넘어선 요청이 왔을 경우.
•
파이프라인을 위한 퍼블릭 클라우드는 FE/BE을 서비스하는 클러스터에 노드 스케일러(ex. Karpenter)를 최소한의 리소스 할당으로 배정합니다. 이후 파이프라인이 퍼블릭 클라우드에 할당이 된다면 노드를 할당하여 동작합니다.
위와 같은 하이브리드 아키텍처를 통해서, 고성능+고효율+고가용성의 플랫폼을 운영할 수 있습니다.