기획자가 개발자와 회의할 때 꼭 알아야 할 S3와 서버 이야기



기획자가 개발자와 회의할 때 꼭 알아야 할 S3와 서버 이야기

기획자가 개발자와 회의할 때 꼭 알아야 할 S3와 서버 이야기

기획자가 개발자와 회의를 하다 보면 이런 말을 자주 듣게 됩니다. “이 파일은 S3에 저장하면 됩니다”, “이 로직은 서버에서 처리해야 합니다”, “이미지는 서버 디스크보다 스토리지로 분리하는 게 좋습니다.” 문제는 여기서 S3와 서버의 차이를 정확히 구분하지 못하면 회의가 금방 추상적인 말잔치가 된다는 점입니다.

기획자가 인프라를 깊게 이해할 필요는 없습니다. 하지만 무엇은 저장하는 문제인지, 무엇은 처리하는 문제인지 정도는 구분할 수 있어야 요구사항을 더 정확하게 쓰고, 개발자와의 대화도 더 빨라집니다.

이 글에서는 S3와 서버의 차이를 기술 용어 중심이 아니라 기획자가 개발자와 회의할 때 바로 써먹을 수 있는 관점으로 정리합니다. 파일 업로드, 이미지 저장, 다운로드 권한, 비용, 운영 포인트까지 실무 기준으로 쉽게 설명하겠습니다.

이 글의 핵심 한 줄

S3는 저장하는 곳이고, 서버는 처리하는 곳입니다.

기획자가 S3와 서버를 알아야 하는 이유

기획자는 직접 개발하지 않더라도 기능 범위를 정하고, 화면과 정책을 정의하고, 일정과 우선순위를 조율합니다. 이때 S3와 서버를 구분할 수 있으면 회의의 질이 확실히 달라집니다.

  • 요구사항이 더 선명해집니다. 저장 기능인지, 서버 처리 기능인지 구분하면 문장이 구체적으로 바뀝니다.
  • 일정 산정이 쉬워집니다. 단순 업로드인지, 후처리 로직까지 필요한지에 따라 작업량이 달라집니다.
  • 비용 포인트를 빨리 파악할 수 있습니다. 저장량이 늘어나는 구조인지, 서버 처리량이 늘어나는 구조인지 보이기 시작합니다.
  • 보안 이슈를 더 빨리 발견할 수 있습니다. 파일 공개 여부, 접근 권한, 다운로드 정책 같은 항목을 놓치지 않게 됩니다.
  • 운영 관점이 생깁니다. 장애가 저장 문제인지 처리 문제인지 구분하는 데 도움이 됩니다.

S3와 서버를 가장 쉽게 구분하는 방법

S3는 파일을 저장하는 공간이고, 서버는 요청을 처리하고 기능을 실행하는 공간입니다.

S3는 무엇인가

S3는 파일을 저장하고 필요할 때 가져오는 데 적합한 저장소입니다. 이미지, 동영상, 첨부파일, 백업 파일, 로그 파일처럼 보관하고 꺼내는 데이터를 다루는 데 잘 맞습니다.

서버는 무엇인가

서버는 프로그램을 실행하고 요청을 처리하는 환경입니다. 로그인, 권한 체크, 게시글 등록, 결제 처리, 데이터 계산처럼 코드가 실행되어야 하는 일은 서버가 담당합니다.

기획자 관점에서 기억할 핵심

  • 파일을 담아두는 문제라면 먼저 S3를 떠올립니다.
  • 사용자 요청을 계산하고 처리하는 문제라면 서버를 떠올립니다.
  • 대부분의 서비스는 저장과 처리를 나눠서 S3와 서버를 함께 사용합니다.

S3와 서버 차이 한눈에 비교

항목 S3 서버
핵심 역할 파일과 데이터를 저장 애플리케이션과 기능을 실행
대표 대상 이미지, 동영상, 첨부파일, 백업 로그인, API, 관리자 기능, 권한 검증
주요 질문 무엇을 어디에 보관할까? 무엇을 어떻게 처리할까?
기획 포인트 파일 크기, 저장 기간, 공개 여부 처리 로직, 응답 방식, 실패 시 예외 처리
보안 포인트 접근 권한, 링크 공개 범위, 다운로드 정책 인증, 인가, 요청 검증, 로직 보호

회의에서 자주 나오는 상황별 이해

1. 파일 업로드 기능을 기획할 때

사용자가 이미지나 PDF를 업로드하는 기능이라면 파일 자체는 S3에 저장하고, 업로드 가능 여부 확인, 파일 정보 저장, 권한 검증 같은 처리는 서버가 맡는 경우가 많습니다.

2. 게시판이나 상품 이미지 기능을 만들 때

이미지 파일은 S3에 저장하고, 게시글 정보나 상품 정보는 서버와 데이터베이스가 관리하는 구조가 일반적입니다. 그래서 이미지 저장과 게시글 저장은 같은 기능처럼 보여도 실제로는 다른 작업입니다.

3. 다운로드 기능이 필요한 경우

기획자는 단순히 다운로드 버튼을 보지만, 개발자는 그 파일이 누구에게 열려야 하는지부터 봅니다. 누구나 볼 수 있는 공개 링크인지, 로그인한 관리자만 볼 수 있는 제한 링크인지에 따라 구현 방식이 달라집니다.

4. 대용량 파일이나 동영상이 들어가는 경우

파일이 커질수록 저장과 전달을 S3 중심으로 설계하고, 서버는 권한 확인과 메타데이터 처리에 집중하는 방식이 더 자연스럽습니다.

5. 운영 중 파일 교체가 필요한 경우

배너 이미지나 첨부문서를 교체하는 기능이라면 덮어쓰기인지, 이전 버전 보관이 필요한지, 삭제 시 복구가 필요한지까지 같이 논의해야 합니다.

기획자가 회의에서 꼭 물어봐야 할 질문

저장 관련 질문

  • 이 파일은 어디에 저장되나요?
  • 원본 파일과 썸네일은 같은 위치에 저장되나요?
  • 파일 크기 제한과 확장자 제한은 있나요?
  • 삭제 요청 시 실제 저장소에서도 삭제되나요?

처리 관련 질문

  • 이 기능은 서버에서 어떤 처리를 하나요?
  • 업로드 전후 검증 로직이 필요한가요?
  • 압축, 변환, 리사이징 같은 후처리가 필요한가요?
  • 실패하면 사용자에게 어떤 메시지를 보여주나요?

보안 관련 질문

  • 파일 링크는 공개인가요, 권한 사용자만 접근 가능한가요?
  • 다운로드 링크에 만료 시간이 필요한가요?
  • 권한 없는 사용자가 접근하면 어떻게 막나요?

운영 관련 질문

  • 사용량이 늘어나면 어디가 먼저 부담이 커지나요?
  • 장애가 나면 저장 문제인지 처리 문제인지 어떻게 구분하나요?
  • 운영자가 파일을 교체하거나 복구할 수 있어야 하나요?

기획자가 자주 헷갈리는 표현 정리

“서버에 파일 올려주세요”

이 표현은 자주 쓰이지만 정확하지 않을 때가 많습니다. 실제 구현에서는 파일은 S3에 저장되고, 서버는 그 파일의 정보와 접근 제어를 담당하는 경우가 많기 때문입니다.

“링크만 주면 되지 않나요?”

링크 제공은 단순하지 않습니다. 공개 링크인지, 권한이 있는 사용자에게만 보여야 하는지, 일정 시간이 지나면 만료되어야 하는지에 따라 보안 정책이 달라집니다.

“저장만 하면 끝 아닌가요?”

저장 이후에도 검증, 권한 제어, 목록 조회, 삭제 정책, 버전 관리 같은 논의가 따라옵니다. 저장과 운영은 생각보다 다른 문제입니다.

실무 회의 예시로 이해하는 S3와 서버

상황: 사용자가 계약서를 업로드하고 관리자만 다운로드할 수 있는 기능을 기획하는 경우

막연한 요구사항: “계약서 업로드 기능 만들어 주세요. 관리자에서 다운로드되면 됩니다.”

구분해서 말한 요구사항

  • 계약서 원본 파일은 어디에 저장되나요?
  • 서버에는 파일 경로, 업로드 시간, 사용자 정보 같은 어떤 메타데이터가 저장되나요?
  • 관리자만 다운로드할 수 있게 하려면 링크를 직접 노출하나요, 아니면 서버가 권한을 확인한 뒤 내려주나요?
  • 허용 파일 형식과 크기 제한은 어떻게 되나요?
  • 파일 교체 시 이전 버전은 유지해야 하나요?

결론

기획자가 개발자와 회의할 때 꼭 알아야 할 S3와 서버의 핵심은 어렵지 않습니다.

S3는 저장소이고, 서버는 실행 환경입니다.

파일을 저장하는 문제인지, 요청을 처리하는 문제인지 구분할 수 있으면 요구사항이 더 명확해지고, 일정과 운영 포인트도 더 현실적으로 보이기 시작합니다.

기획자는 모든 기술을 다 알 필요가 없습니다. 대신 회의에서 이렇게 물을 수 있으면 충분합니다. “이건 저장의 문제인가요, 처리의 문제인가요?”

FAQ

Q1. 기획자가 S3와 서버를 꼭 알아야 하나요?

깊게까지 알 필요는 없지만, 저장과 처리의 차이를 구분할 수 있으면 요구사항 정리와 개발 회의가 훨씬 수월해집니다.

Q2. S3는 서버와 같은 개념인가요?

아닙니다. S3는 파일과 데이터를 저장하는 서비스이고, 서버는 애플리케이션 로직을 실행하고 요청을 처리하는 환경입니다.

Q3. 파일 업로드 기능은 전부 S3로 이해하면 되나요?

파일 자체는 S3에 저장되는 경우가 많지만, 업로드 권한 검증, 메타데이터 저장, 후처리 로직은 서버가 담당하는 경우가 많습니다.

Q4. 회의에서 가장 먼저 물어봐야 할 질문은 무엇인가요?

“이 기능은 저장이 핵심인가요, 처리가 핵심인가요?”라고 묻는 것이 좋습니다. 이 질문 하나로 S3와 서버의 역할을 자연스럽게 나눌 수 있습니다.

Q5. 기획자가 개발자와 이야기할 때 특히 조심할 표현은 무엇인가요?

“서버에 파일 올린다”, “링크만 주면 된다”, “저장만 하면 된다” 같은 표현은 범위가 모호할 수 있습니다. 저장 위치, 접근 권한, 서버 처리 여부를 나눠서 말하는 편이 좋습니다.