20배 성장, 기술 스택도 진화한다!
1년 만에 20배 성장하며 기존 기술 스택의 한계에 직면, 확장성(Scalability) 문제 해결을 위한 변화 시작
관측 가능성(Observability) 확보를 위해 Axiom에서 Parseable로 전환, 비용 절감(Cost Reduction)과 성능 개선을 동시에 달성
데이터 주권(Data Sovereignty) 요구에 따라 Backblaze, Cloudflare 등 미국 기반 서비스(US-based Services)를 유럽 기반 서비스로 교체
Postgres 데이터베이스(Database)의 한계로 인해 핫 데이터(Hot Data)는 Postgres, 콜드 데이터(Cold Data)는 S3, 쿼리(Query)는 DuckDB를 사용하는 아키텍처 도입
관측 가능성(Observability) 스택의 변화
본문에서는 Axiom에서 Parseable로의 전환을 통해 관측 가능성(Observability) 스택을 개선한 경험을 공유한다.
Axiom의 높은 비용 문제로 인해 자가 호스팅(Self-hosting) 솔루션인 Parseable을 선택, Kubernetes(쿠버네티스) 기반으로 배포하여 운영 비용 절감
Minio(미니오)를 S3 호환 스토리지(S3-compatible Storage)로 활용하여 로그 데이터(Log Data) 저장
Grafana(그라파나)를 사용하여 대시보드(Dashboard) 및 알림(Alert) 시스템을 유지
결과적으로, 자가 호스팅(Self-hosting)을 통해 비용 효율성을 확보하고, 유연한 확장성(Scalability)을 확보했다.
데이터 주권(Data Sovereignty)을 위한 인프라 변화
글쓴이는 유럽 고객의 데이터 주권(Data Sovereignty) 요구사항을 충족하기 위해 미국 기반 서비스(US-based Services)를 유럽 기반 서비스로 교체했다.
Backblaze(백블레이즈)를 IONOS(아이오노스) 및 Hetzner(헤츠너)로 교체: 데이터 저장 위치 변경
Cloudflare(클라우드플레어)를 Bunny(버니)로 교체: CDN(Content Delivery Network) 서비스 변경
GitHub Actions(깃허브 액션)을 Namespace(네임스페이스)로 교체: CI/CD(Continuous Integration/Continuous Delivery) 파이프라인 변경
이러한 변화는 기술적인 장점보다는 고객 요구사항(Customer Requirements) 충족에 초점을 맞춘 결정이며, 유럽 시장(European Market) 진출을 위한 전략적 선택이다.
Postgres 데이터베이스(Database) 아키텍처의 진화
2TB에 달하는 Postgres 데이터베이스(Database)의 관리 어려움과 비용 증가로 인해 데이터 저장 및 쿼리(Query) 방식을 변경했다.
핫 데이터(Hot Data)는 Postgres에 저장: 최근 5분, 500개 로그 등 빈번하게 접근하는 데이터
콜드 데이터(Cold Data)는 S3에 Parquet 파일로 저장: 과거 데이터
DuckDB(덕DB)를 사용하여 S3의 Parquet 파일 쿼리: 분석 쿼리 성능 향상
이러한 아키텍처 변경을 통해 Postgres 관리 부담을 줄이고, 비용 효율성을 높였으며, 쿼리 성능(Query Performance)을 개선했다.
기술 스택 변화의 패턴: 단순함과 유럽 중심
본문에서 제시된 기술 스택 변화에는 두 가지 주요 패턴이 나타난다.
유럽 기반 서비스(European Services) 선호: 데이터 주권(Data Sovereignty) 및 고객 요구사항(Customer Requirements) 충족
자가 호스팅(Self-host) 및 단순한 솔루션(Simple Solutions) 선택: 비용 절감 및 유지보수 용이성 확보
SaaS(Software as a Service) 솔루션의 한계: 비용 증가에 따른 자가 호스팅(Self-hosting) 전환
결론적으로, 단순함(Simplicity)을 유지하면서 고객 요구사항(Customer Requirements)을 충족하는 방향으로 기술 스택을 진화시켰다.
향후 기술 스택 변화 방향
글쓴이는 향후 CI/CD 러너(Runner)를 자가 호스팅(Self-hosting)으로 전환하고, AWS SES(Amazon Simple Email Service)의 대체 서비스(Alternative Service)를 검토할 계획임을 밝혔다.
CI/CD 러너(Runner) 자가 호스팅(Self-hosting) 검토: 더 많은 제어(Control) 및 유연성(Flexibility) 확보
AWS SES 대체 서비스(Alternative Service) 검토: 유럽 기반 서비스(European Services)로의 전환
기술 스택의 지속적인 진화: 문제 해결 및 요구사항 충족을 위한 변화 지속
결과적으로, 유럽 중심(European-focused) 전략을 유지하면서 확장성(Scalability) 및 비용 효율성(Cost-Effectiveness)을 지속적으로 개선해 나갈 것이다.