여러사람이 작업하는 프로젝트에서는 안전한 개발을 위해서는 귀찮더라도 여러개의 서버를 두고 순차적으로 잘 동작하는지 확인하면서 작업해야한다.
순서는 크게 로컬서버 -> 개발서버 -> 스테이징서버 -> 운영서버 로 진행된다.
(필자의 회사에서는 로컬서버를 안쓰는 프로젝트도 있다.. 그래서 작업할때마다 코드가 꼬이지않게 파일을 사용중인지 물어보며 작업한다..)
로컬 서버 (Local Server)
로컬 서버는 웹사이트를 운영하기 위해 웹사이트를 구성하는 파일들을 저장하는 공간이다.
운영단계가 아닌 개발단계에서 서버를 개인의 컴퓨터에 구축하는 것을 로컬 서버라 부른다.
개발 서버 (Development Server)
개발 서버는 개발자들의 개인의 개발환경이 아닌 1개의 통합된 환경으로 테스트를 할 수 있는 서버를 말한다.
프로젝트를 개발할때의 개발 서버는 스테이징 서버와 환경을 비슷하게 구축하여 테스트한다.
스테이징 서버 (Staging Server)
스테이징 서버는 운영 서버와 환경을 거의 동일시하게 맞춘 후 운영 서버에 반영하기 전에 운영 서버에서 사용되는 DB를 가지고 테스트를 하는 곳이다.
스테이징 서버에서 기능들이 잘 작동한다면 운영 서버로 옮기면 된다. (환경에 따라 옮기지 말아야할 파일들이 있다.)
운영 서버 (Productions Server)
운영 서버는 실직적으로 사용자들이 사용하기 위해 운영하기 위한 서버이다.
DB에 관련해서도 엄격하게 나눈다면 스테이징 서버와 운영서버의 DB도 각각 따로 두는게 맞다고한다.
회사마다 다르겠지만 운영 서버에서 사용하는 DB를 스테이징 서버에서 사용하여 배포 전 마지막으로 점검하기도 한다고한다.