서비스 제공을 위한 소프트웨어 배포는 애플리케이션을 개발 환경에서 실제 사용자들이 사용하는 운영 환경으로 이동시키는 과정을 의미합니다. 무중단 배포를 도입하기 전까지, 전통적인 배포 방법들이 사용되었습니다. 이러한 방법들은 여러 문제를 가지고 있어 현대의 복잡한 시스템에는 적합하지 않은 경우가 많습니다. 전통적인 배포 방법과 무중단 배포의 필요성에 대해 자세히 살펴보겠습니다.
2.1. 수동 배포
수동 배포는 개발자가 직접 애플리케이션 파일을 서버에 복사하고, 필요한 설정을 수동으로 적용하는 방식입니다. 이는 초기의 매우 기본적인 배포 방식으로, 다음과 같은 단계를 포함합니다.
2.1.1. 일반적인 수동 배포 단계
- 개발 환경에서 애플리케이션 빌드
- 파일 전송
- 서버에서 설정 및 준비
- 서비스 중단 및 파일 교체
- 서비스 재시작
- 확인 및 테스트
2.1.2. 수동 배포의 장점과 단점
장점
- 초기 설정이 간단하고, 특별한 도구나 자동화 시스템이 필요하지 않습니다.
- 작은 프로젝트나 초기 스타트업에서 빠르게 시작할 수 있습니다.
단점
- 오류 발생 확률이 높습니다. 사람이 직접 수행하므로 오타나 실수로 인해 배포에 실패할 수 있습니다.
- 배포 과정이 길어질 경우 서비스 중단이 발생할 수 있습니다.
- 반복 가능한 프로세스를 자동화하기 어려워 확장성에 한계가 있습니다.
- 배포 과정이 비효율적이고 시간이 많이 소요됩니다.