롯데ON의 실시간 이미지 처리 서비스 LLIS 자체 구축기
롯데ON은 S3 Object Lambda와 CloudFront로 실시간 이미지 처리 서비스를 내재화했다.
롯데ON은 외부 솔루션의 높은 라이선스 비용과 복잡한 구조를 줄이기 위해 LLIS(Lotte Live Image Service) 를 직접 구축했다. 핵심은 기존 상시 서버 기반 실시간 변환 구조를 AWS S3 Object Lambda 중심의 온디맨드 아키텍처로 바꾸고, 변환 결과를 CloudFront 에 장기 캐시하는 방식이다.
LLIS는 크게 세 개의 서버로 나뉜다.
- llis-pipeline: 상품 이미지 등록과 데이터 동기화를 담당하며, 내부 Kafka 이벤트와 DynamoDB Streams, Kinesis 를 연계해 변경 사항을 수집한다.
- llis-image: 사용자 요청 시 필요한 규격으로 이미지를 실시간 가공해 응답한다.
- llis-goodsdetail: 기술서 HTML의 이미지 품질과 보안을 정제하며, HTTPS 전환과 Lazy Loading 을 자동 적용한다.
요청 흐름은 단순하다. 상품 등록 시 이미지는 S3 로 적재되고, 고객이 상품 상세 페이지를 열면 CloudFront 가 S3 Object Lambda 를 호출해 이미지를 즉시 변환한다. 최초 생성된 응답은 캐시에 저장되며, 이후 동일 요청은 Lambda를 다시 거치지 않고 엣지 캐시에서 바로 반환된다.
캐시 효율을 높이기 위해 가상 캐싱 키(Virtual Caching Key) 와 긴 TTL 을 적용했고, width, format, quality 같은 파라미터를 기준으로 동일 결과를 재사용하도록 구성했다. 그 결과 S3 Object Lambda 호출 횟수 30% 이상 감소, 평균 이미지 응답 속도 약 100ms 단축 효과를 얻었다.
이미지 변환은 Lambda에서 원본을 읽어 Sharp 로 리사이즈, 포맷 변환, 압축을 수행하는 방식으로 구현했다. 또한 Access Point 기반 제어로 외부 공개 엔드포인트 없이 내부 호출만 허용해 보안성을 높였다.
기술서 영역에서는 http 리소스를 https 로 바꾸고, HTTPS 접근이 불가능한 경우 프록시 URL로 치환해 Mixed Content 문제를 제거했다. 운영 측면에서는 CloudWatch, S3 로그 스토리지, Slack 알림 을 묶어 장애 대응을 자동화했고, 장애 대응 시간은 평균 50% 단축, 운영 자동화율은 80% 이상 달성했다.
결과적으로 LLIS는 비용 절감, 운영 단순화, 실시간 처리 성능 유지 를 동시에 달성한 내재화 사례가 됐다. 롯데ON은 앞으로도 Serverless와 Edge 기반 구조를 더 고도화해 반복 운영을 줄이고, 개발 자원을 더 가치 있는 영역에 집중시키겠다는 방향을 제시했다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.