S3를 어디서 운영해야할 것인가

임효진·2023년 1월 19일
0

이전 실전프로젝트 당시, 이미지 업로드 과정에서 고민이 있었다.
정말 부끄럽게도 백엔드적 지식이 없다 보니 무지하게도 서버니 당연히 백엔드쪽에서 운영해야하지 않을까라고 생각했었다.
다행히 배포 프로세스를 공부하며 프론트에서 S3를 운영하는 것이 유리하다는 결론에 도달했다.
참고 : https://www.youtube.com/watch?v=yGYeYJpRWPM

미디어의 경우 대부분 큰 용량을 가지고 있고, 미디어 전송 작업은 네트웍(인풋 및 아웃풋)과 CPU time에 부하를 줄 수 있다.
또한 업로드하는 유저의 경우 파일의 전송이 정확하고 제대로 되는지 관리되어야 한다.
기념일과 같은 동시작업이 많아지는 순간에는 충분한 네트웍 대역폭도 필요하다.
만약 업로드 되는 파일들이 서버를 거치지 않고 업로드 된다면 트래픽과 CPU 사용량은 줄어들 것이다.

물론 실전프로젝트 당시 우리는 다른 조에 비해 인원이 부족하였고, 
처음 접해보는 라이브러리와 프레임웍들을 도입하고 있었기 때문에 백엔드 팀원 분들이 S3를 선뜻 가져가주셨다.🙇‍♂️

S3란?

Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스다. 일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야 하는데 S3는 이와 같은 것을 대행한다. 트래픽에 따른 시스템적인 문제는 걱정할 필요가 없어진다. 또 파일에 대한 접근 권한을 지정 할 수 있어서 서비스를 호스팅 용도로 사용하는 것을 방지 할 수 있다. 아래는 S3의 주요한 기능적인 특성들이다.

주요특징

  • 많은 사용자가 접속을 해도 이를 감당하기 위해서 시스템적인 - 작업을 하지 않아도 된다.
  • 저장할 수 있는 파일 수의 제한이 없다.
  • 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있다.
  • 파일에 인증을 붙여서 무단으로 엑세스 하지 못하도록 할 수 있다.
  • HTTP와 BitTorrent 프로토콜을 지원한다.
  • REST, SOAP 인터페이스를 제공한다.
  • 데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다.
  • 버전관리 기능을 통해서 사용자에 의한 실수도 복원이 가능하다.
  • 정보의 중요도에 따라서 보호 수준을 차등 할 수 있고, 이에 따라서 비용을 절감 할 수 있다. (RSS)

출처 : https://opentutorials.org/course/608/3006

결론 : S3를 구축해서 실제로 구현을 해봐야 정확하게 이해가될 것 같다.

profile
프론트 요정임

0개의 댓글

관련 채용 정보