핵심 요약
타다가 비트윈의 스티커 시스템 구현 이야기를 통해 아키텍처 구성과 운영상의 도전, 보안 설계 및 CDN 연계 경험을 공유합니다.
주요 경험
- 비트윈 스티커 시스템은 비트윈 서버, 스티커 스토어 서버(Java/Jersey/Closure Template), 다운로드 서버(S3+CloudFront)로 구성하고 WebP 도입으로 용량을 줄였습니다.
- Flask/SQLAlchemy 구상에서 출발했으나, Java 중심으로 재구성하고 Hibernate/JPA 및 Cordova를 활용해 안정적으로 개발했습니다.
- S3+CloudFront CDN으로 전 세계에 파일을 캐싱하고, GAE를 Rewrite 엔진으로 도입해 적합한 해상도 파일로의 매핑을 최적화했습니다.
- 토큰 기반 보안으로 구매한 사용자만 스티커를 전송하도록 하였으며, 버전/스티커ID/사용자ID/유효기간/서명을 통해 유효성을 검증합니다.
얻은 인사이트
- 기술 선택은 팀의 역량에 좌우되며, 익숙한 스택으로의 빠른 개발이 품질에 큰 영향을 준다는 점을 확인했습니다.
- CDN+GAE 조합은 안정성과 운영 부담 감소에 기여했고, 다중 해상도에 맞춘 파일 포맷(WebP) 결정의 중요성을 배웠습니다.
- 스티커 토큰 구조로 보안성을 확보하는 실무적 방법이 실용적임을 확인했습니다.