본문 바로가기
기술, 테크놀로지

프로그래밍에서 배포라는 것은 왜 필요한가?

by JeromeEugeneMorrow 2026. 6. 19.

프로그램한 것을 서버에 올리고, 주소를 만들면 사용자는 접속하면 그만 아닌가? 왜 프로그램 언어나 플랫폼에 따라 서버에 올리는 방법이 다르지?  이걸 좀 알기 쉽게 설명해줘봐.

---

"프로그램을 만들었으면 서버에 올리고 주소만 만들면 끝 아닌가?"

겉으로 보기에는 맞는 말입니다. 실제로 사용자는 웹 주소만 입력하면 되니까요.

하지만 개발자 입장에서 보면 "서버에 올린다"는 말 안에 여러 단계가 숨어 있습니다.

비유를 들어 보겠습니다.

웹사이트는 음식점과 비슷합니다.

  • 사용자는 "음식을 주문하면 된다"고 생각합니다.
  • 하지만 식당마다 조리 방식은 완전히 다릅니다.

예를 들어,

  • 샐러드 가게는 재료만 진열하면 바로 판매할 수 있습니다.
  • 냉동 피자는 오븐만 있으면 됩니다.
  • 한식당은 주문이 들어올 때마다 주방에서 조리해야 합니다.

웹서비스도 마찬가지입니다.


1. 정적 웹사이트: 완성된 음식 진열

HTML, CSS, JavaScript 파일만 있는 웹사이트입니다.

예를 들면:

  • 회사 소개 페이지
  • 포트폴리오
  • 블로그

서버는 단순히 파일을 전달합니다.

사용자 → 서버 → HTML 파일 전달

이 경우에는 정말로 "파일을 서버에 올리기만 하면" 끝납니다.

그래서 GitHub Pages 같은 서비스가 가능합니다.


2. React 앱: 반조리 식품

React 프로젝트는 개발자가 작성한 코드를 그대로 올릴 수 없습니다.

개발용 코드를 먼저 브라우저가 이해할 수 있는 파일로 변환해야 합니다.

React 코드
↓
빌드
↓
HTML/CSS/JavaScript 파일 생성
↓
서버 업로드

즉, "서버에 올린다" 전에 빌드 과정이 하나 더 필요합니다.

그래서 Vercel 같은 서비스가 이 과정을 자동으로 처리해 줍니다.

개발자는 Git에 올리기만 하면 됩니다.


3. Next.js: 주문 즉시 요리하는 식당

Next.js는 상황에 따라 서버가 매번 페이지를 만들어야 할 수 있습니다.

예를 들어 쇼핑몰 상품 페이지를 생각해 보겠습니다.

사용자 → 상품 123 요청
↓
서버 → 데이터베이스 조회
↓
서버 → HTML 생성
↓
사용자에게 전달

이 경우에는 단순히 파일만 올려서는 안 됩니다.

서버가 계속 실행되고 있어야 합니다.

  • Node.js 설치
  • 서버 실행
  • 메모리 관리
  • 트래픽 처리

같은 작업이 필요합니다.

그래서 Next.js는 Vercel 같은 플랫폼과 궁합이 좋습니다.


4. 모바일 앱도 비슷하다

스마트폰 앱도 똑같습니다.

사용자는 앱스토어에서 설치만 하면 되지만, 개발자는

  • iOS용 빌드
  • Android용 빌드
  • 심사
  • 배포

과정을 각각 거칩니다.

사용자가 보는 것은 단순하지만, 내부는 복잡합니다.


왜 이렇게 복잡할까?

웹은 오랜 시간에 걸쳐 발전해 왔기 때문입니다.

처음에는 단순한 문서만 보여줬습니다.

HTML

그러다 웹이 점점 복잡해졌습니다.

HTML
↓
JavaScript
↓
React
↓
Next.js
↓
실시간 기능
↓
AI 기능

기능이 늘어날수록 배포 방식도 다양해졌습니다.


그래서 요즘에는 개발자가 복잡한 과정을 직접 처리하지 않도록 배포 플랫폼이 등장했습니다.

이 서비스들이 개발자를 대신해

빌드
↓
서버 설정
↓
HTTPS 설정
↓
CDN 연결
↓
배포

를 자동으로 처리합니다.

그래서 개발자는 다시 원래 생각으로 돌아갈 수 있습니다.

"Git에 올리면 웹사이트가 공개된다."

이 말은 엄밀히는 틀렸지만, 배포 플랫폼 덕분에 실제로는 거의 맞는 말이 된 것입니다.

반응형

댓글