프로그래밍/Infra

    무중단 배포

    무중단 배포 왜 해야할까? 현재 운영중인, 서비스의 신 기능 추가로 인해 버전이 업그레이드 되고 새로운 파일을 배포해야할 때, 다운 타임이 발생하게 됩니다 다운타임이 발생하는 배포 방식을 중단 배포라고 하며, 이 시간동안은 유저가 서비스를 이용할 수 없기에 유저에게 지속적으로 서비스를 제공하기 위해 무중단 배포 방식을 고려해봐야 합니다 무중단 배포 무중단 배포는 서비스가 중단되지 않은 상태(zero-downtime)로, 새로운 버전을 사용자들에게 배포하는 것을 의미합니다 무중단 배포를 하기 위해서는 최소 서버가 2대 이상 확보되어야 합니다. 무중단 배포의 종류 롤링(Rolling) 배포 현재 운영중인 서비스의 트래픽을 점진적으로 구버전에서 새로운 버전으로 옮기는 방식 입니다. 점진적으로 트래픽을 옮기는 ..

    서버 확장 전략 어떤걸 선택해야 할까?

    현재 프로젝트를 진행하고 있으면서 제가 만들고 있는 서비스의 흥행으로 사용자 이용량이 증가하게 되면 시스템의 확장이 필요해집니다. 그렇다면 그 때, 시스템의 확장을 위한 방법에는 어떤 것이 있을지 그리고 어떤 방식을 채택하는게 좋을지 알아보도록 하겠습니다. 먼저 서버의 확장이 왜 필요할지에 대해 알아보도록 하겠습니다. 간단한 사이드 프로젝트를 진행하게 되면, 위 그림과 같이 사용자 단말에서 웹 서버를 바로 조회하는 형식으로 프로젝트를 진행하게 됩니다. 이러한 단일 서버 형태의 단점은 사용자의 데이터를 웹 서버에 보관한다는 점, 그리고 그로인해 웹 서버가 사용자 단말과의 트래픽 처리와 함께 데이터 처리도 관여 하기 때문에, 전체적으로 웹 서버의 트래픽이 증가 해 장애 가능성이 높아진다는 점이 있습니다. 따..