이미지 리사이징을 도입한 이유는 S3 프리티어 저장 공간이 많이 차면서 이미지 관리의 필요성을 느꼈습니다.
서버에 저장된 이미지의 용량을 최적화하면 저장 공간을 효율적으로 활용할 수 있습니다. 효율적인 용량 관리는 비용 절감에 도움이 될 수 있습니다. 그리고 사용자들은 다양한 디바이스에서 사이트를 이용합니다. 이미지를 리사이징하여 다양한 디바이스에서도 적절한 크기로 보여줄 수 있습니다.
서버리스 (Lambda)vs백엔드
서버리스(Lambda)를 사용하는 경우:
1.
비용 효율성: 사용량에 따라 비용이 발생하므로, 저렴한 사용 패턴에 적합합니다. 즉, 서비스 사용이 획기적으로 증가하거나 불규칙한 경우에 비용이 낮을 수 있습니다.
2.
스케일링: Lambda 함수는 필요에 따라 자동으로 스케일링되므로 대규모의 작업을 효율적으로 처리할 수 있습니다.
3.
이벤트 기반 실행: AWS Lambda는 다양한 이벤트 트리거에 응답하여 실행되므로, 특정 이벤트에 반응해 이미지 리사이징을 수행할 수 있습니다.
백엔드에서 이미지 처리를 한 이유:
1.
관리 용이성: 이미지가 백엔드에서 처리되면, 이미지의 원본 및 리사이징된 버전을 동일한 저장소에 관리할 수 있습니다. Lambda를 사용할 경우, 리사이징된 이미지는 다른 S3 버킷에 저장되므로 관리 포인트가 더 많아집니다.
2.
성능 및 속도: 이미지 처리가 서버 측에서 이루어지면 리소스를 미리 할당하고 특화된 이미지 처리 라이브러리를 사용할 수 있어 성능 및 속도 면에서 향상될 수 있습니다.
3.
유연성: 특정 요구 사항이나 비즈니스 규칙에 따라 이미지 처리를 더 세밀하게 제어하고 수정할 수 있습니다.
서버리스 (Lambda)를 사용 할 경우 상태 저장의 어려움이 있습니다. Lambda 함수는 각 실행 사이에 상태를 유지하지 않습니다. 따라서 장기 실행이 필요한 작업에는 부적합할 수 있습니다.
그렇기 때문에 백엔드에 이미지 처리를 하였습니다
리사이징 전 리사이징 후
용량이 확실히 줄어든걸 확인 할 수 있다.