Deploy에 대한 소개
발행: (2026년 1월 9일 오전 08:06 GMT+9)
3 min read
원문: Dev.to
Source: Dev.to
소개
우리가 애플리케이션을 개발할 때 코드를 컴퓨터에 작성합니다. 작성된 코드는 로컬 환경에서만 실행될 수 있으며, 애플리케이션은 자신의 디바이스에서만 접근할 수 있습니다.
그렇다면 이 코드를 하루 24시간 실행하고 다른 사람들도 접근할 수 있게 하려면 어떻게 해야 할까요? **배포(deploy)**가 답입니다: 소프트웨어를 “가져와서” 지속적으로 안정적이고 안전하며 접근 가능한 환경에 배치하는 과정입니다.
프로덕션에 있는 모든 시스템은 네 가지 기본 요소가 필요합니다:
- 코드(애플리케이션)
- 코드를 실행할 머신
- 데이터(데이터베이스, 파일)
- 네트워크(인터넷)
서버 종류
- 물리 서버 – 데이터센터에 있는 실제 머신; 모든 것을 직접 관리합니다. 일반적으로 비용이 많이 들고 복잡합니다.
- 가상 서버 – 다른 서버 안에 존재하는 가상 서버로, 운영체제(SO)를 제어합니다. 예시:
- Azure VM
- EC2 (AWS)
- 플랫폼 서비스(PaaS) – 코드를 관리하고, 클라우드가 서버를 관리합니다. 예시: Azure App Service.
- 컨테이너 – 애플리케이션을 필요한 모든 것과 함께 패키징하여 어디서든 동일하게 실행되며, 여러 컨테이너를 관리하고 높은 확장성과 복잡성을 제공합니다.
주의: 자신의 컴퓨터를 서버로 사용할 수는 있지만, 프로덕션 환경에서는 권장되지 않습니다.
수동 배포
- 개발자가 코드를 작성합니다.
- 코드를 컴파일합니다(빌드).
- 파일을 서버에 복사합니다.
- 환경 변수를 설정합니다(예: 연결 문자열, 통합 비밀번호 등).
- 애플리케이션을 시작합니다.
- 네트워크 포트를 엽니다.
- 도메인을 지정합니다.
- 오류를 모니터링합니다.