확장과 통합

서비스가 성장하며 이미지 서비스는 다양한 백엔드 시스템을 통합하고 전체 플로우를 통합하는 방향으로 확장된다.

멀티 백엔드 통합

서비스해야하는 이미지가 다양한 백엔드로 분산되어 있거나 심지어 외부 어딘가에 존재할 수 있다.

../../_images/adv1.png

모든 이미지에 대해 위치 투명성을 제공한다.

주로 같이 연동되는 기능은 다음과 같다.

기능

용도

hosting

개별 백엔드를 독립적으로 호스팅한다.

fallbacks

404 등 특정 조건을 지정하여 연쇄적으로 백엔드를 탐색한다.

aws_s3

메인 스토리지에 존재하지 않는 이미지를 실시간으로 백업한다.

../../_images/adv2.png

메인 스토리지에 존재하지 않는 이미지를 서비스와 동시에 메인 스토리지로 백업할 수 있다.

이미지 게이트웨이

이미지 게이트웨이는 멀티 백엔드 통합 을 넘어 이미지 갱신 등 백엔드 파이프라인과 통합된 형태를 의미한다.

../../_images/adv3.png

스토리지 탐색시 API를 통해 이미지 위치를 획득하거나 이미지 마이그레이션이 끝날 때마다 메시지 큐로 리포팅하여 프론트엔드 갱신을 유도할 수 있다. 클라이언트 서비스와 트랜잭션과의 완전한 통합은 서비스의 안정성을 한층 강화시킨다.

Note

automation draft 을 통해 약속된 배채작업을 하나의 API 호출로 트랜잭션에 통합할 수 있다.

이미지 분할/병렬 로딩

상품기술서 이미지처럼 세로가 긴 이미지는 로딩 속도가 느리다. 특히 모바일 환경처럼 가시(visible)영역이 작은 경우 다운로드가 완료되기 전까지 사용자는 상품정보를 볼 수 없다.

구성된 이미지팜을 기반으로 상품기술서 이미지를 분할/병렬 로딩한다.

동적 이미지 생성

판매량, 재고, 할인율처럼 지속적으로 변경되는 정보가 반영된 신선한(Fresh) 배너 이미지를 제공하고 싶다. 특히 마케팅 이메일처럼 한밤 중에 발송되고 언제 열람될지 모르는 경우 낡은(Stale) 정보가 제공된다.

URL을 호출하는 시점의 신선한 정보가 배너 이미지에 반영된다.

../../_images/adv4.png

이미지는 호환성이 높기 때문에 어떠한 환경이라도 개발과정 없이 즉시 배포 가능하다.