테스트 서버, 개발 서버, 스테이징 서버 및 프로덕션 서버
많은 사람들과 페이지를 관리하는 대규모 사이트에서 작업하면서 웹 디자인 종이 프로토 타입에서 인터넷에 게시 된 실제 페이지에 이르기까지 다양한 워크 플로를 접하게 될 것입니다. 복잡한 사이트의 워크 플로에는 여러 개의 별도 웹 서버와 서버 위치가 포함될 수 있습니다. 그리고이 서버들 각각은 다른 목적을 가지고 있습니다. 이 기사에서는 복잡한 웹 사이트에있는 일반적인 서버 중 일부와 그 사용 방법에 대해 설명합니다.
프로덕션 웹 서버
이것은 대부분의 웹 디자이너가 잘 알고있는 웹 서버 유형입니다. 프로덕션 서버는 프로덕션 준비가 된 웹 페이지 와 콘텐트를 호스트하는 웹 서버입니다. 즉, 프로덕션 웹 서버의 컨텐츠가 인터넷에 게시되거나 인터넷으로 전달 될 준비가되었습니다.
소규모 회사의 경우 프로덕션 서버는 모든 웹 페이지가있는 곳입니다. 디자이너와 개발자는 로컬 컴퓨터 또는 라이브 서버의 숨겨진 또는 암호로 보호 된 영역에서 페이지를 테스트합니다. 페이지가 생방송 할 준비가되면 로컬 하드 드라이브의 FTP 또는 숨겨진 디렉터리에서 라이브 디렉터리로 파일을 이동하여 프로덕션 서버의 해당 위치로 이동됩니다.
워크 플로우는 다음과 같습니다.
- 디자이너 가 로컬 컴퓨터에 사이트를 빌드합니다.
- 디자이너가 로컬 컴퓨터에서 사이트를 테스트합니다.
- 디자이너가 더 많은 테스트를 위해 프로덕션 서버의 숨겨진 디렉터리에 사이트를 업로드합니다.
- 승인 된 디자인은 웹 사이트의 실제 (비 숨김) 영역으로 이동합니다.
소규모 사이트의 경우 이는 매우 적합한 워크 플로입니다. 사실, 작은 사이트가 index2.html과 같은 이름의 파일과 / new와 같은 이름의 내부 디렉토리를 보면 무엇인지 알 수 있습니다. 검색 엔진에서 찾을 수있는 비 암호로 보호 된 영역을 기억하는 한 프로덕션 서버에 업데이트를 게시하면 추가 서버없이 실제 환경에서 새 디자인을 테스트 할 수 있습니다.
테스트 서버 또는 QA 서버
테스트 서버는 고객 (및 경쟁 업체)이 볼 수없는 웹 서버의 새로운 페이지 및 디자인을 테스트 할 수있는 방법을 제공하기 때문에 웹 사이트 워크 플로에 유용한 추가 기능입니다. 테스트 서버는 실제 사이트와 동일하게 설정되며 일반적으로 변경 내용이 기록되도록 버전 제어를 설정합니다. 대부분의 테스트 서버는 직원 만 볼 수 있도록 회사 방화벽 뒤에 설치됩니다. 그러나 방화벽 외부에서 암호 보호 기능 을 사용 하여 설정할 수도 있습니다.
테스트 서버는 많은 동적 컨텐트, 프로그래밍 또는 CGI를 사용하는 사이트에 매우 유용합니다. 이는 로컬 컴퓨터에 서버와 데이터베이스가 설정되어 있지 않으면 오프라인으로 이러한 페이지를 테스트하기가 어렵 기 때문입니다. 테스트 서버를 사용하면 변경 내용을 사이트에 게시 한 다음 프로그램, 스크립트 또는 데이터베이스 가 의도 한대로 작동하는지 확인할 수 있습니다.
테스트 서버가있는 회사는 일반적으로 다음과 같이 워크 플로에 추가합니다.
- Desginer는 사이트를 로컬로 구축하고 위에서와 같이 로컬에서 테스트합니다.
- 디자이너 또는 개발자가 테스트 서버에 변경 사항을 업로드하여 동적 요소 (PHP 또는 기타 서버 측 스크립트, CGI 및 Ajax)를 테스트합니다.
- 승인 된 디자인은 프로덕션 서버로 이동합니다.
개발 서버
개발 서버는 복잡한 전자 상거래 사이트 및 웹 응용 프로그램과 같이 대규모 개발 구성 요소가있는 사이트에 매우 유용합니다. 개발 서버는 웹 개발 팀이 웹 사이트의 백엔드 프로그래밍을 위해 사용합니다. 그들은 거의 항상 여러 팀 구성원이 사용할 수있는 버전 또는 소스 코드 제어 시스템을 가지고 있으며 새 스크립트 및 프로그램을 테스트하기위한 서버 환경을 제공합니다.
대부분의 개발자가 서버에서 직접 작업하기 때문에 개발 서버는 테스트 서버와 다릅니다. 이 서버의 목적은 일반적으로 프로그램에서 새로운 것을 시도하는 것입니다. 테스트는 개발 서버에서 발생하지만 특정 조건에 맞춰 코드를 테스트하지 않고 코드 작업을 수행하기위한 것입니다. 이를 통해 개발자는 웹 사이트가 어떻게 보일지 걱정하지 않고 웹 사이트의 견해와 걱정을 걱정할 수 있습니다.
회사에 개발 서버가있는 경우 디자인 및 개발 작업을 담당하는 팀이 따로 있습니다. 이 경우 테스트 서버는 디자인이 개발 된 스크립트와 만나는 곳이므로 더욱 중요 해집니다. 개발 서버의 워크 플로는 일반적으로 다음과 같습니다.
- 디자이너는 로컬 컴퓨터에서 디자인 작업을 수행합니다.
- 동시에 개발자는 개발 서버의 스크립트 및 프로그램 작업을 수행합니다.
- 테스트를 위해 테스트 서버에 코드와 디자인이 병합됩니다.
- 승인 된 디자인 및 코드는 프로덕션 서버로 이동합니다.
콘텐츠 서버
많은 콘텐츠가있는 사이트의 경우 콘텐츠 관리 시스템 이있는 다른 서버가있을 수 있습니다. 이를 통해 콘텐츠 개발자는 디자인이나 프로그램의 영향을받지 않고 콘텐츠를 추가 할 수 있습니다. 콘텐츠 서버는 작성자 및 그래픽 아티스트를 제외하고 개발 서버와 매우 유사합니다.
스테이징 서버
스테이징 서버는 프로덕션에 들어가기 전에 웹 사이트의 마지막 중지 지점이되는 경우가 많습니다. 준비 서버는 최대한 프로덕션 환경에 맞게 설계되었습니다. 따라서 하드웨어 및 소프트웨어는 준비 및 프로덕션 웹 서버용으로 대개 미러링됩니다. 많은 회사가 테스트 서버를 스테이징 서버로 사용하지만 사이트가 매우 복잡하면 스테이징 서버를 통해 설계자와 개발자는 제안 된 변경 사항이 설계대로 작동하고 사이트 전반에 부정적인 영향을 미치지 않는지 확인할 수 있습니다. 혼란을 야기하는 테스트 서버에서 다른 테스트를 수행하지 않아도됩니다.
스테이징 서버는 종종 웹 사이트 변경에 대한 "대기 기간"의 한 형태로 사용됩니다. 일부 회사에서는 준비 서버가 자동으로 게시 된 새로운 콘텐츠를 배포하는 반면 다른 회사는 관리, 마케팅 및 영향을받는 그룹과 같은 웹 팀 외부의 사람들을위한 최종 테스트 및 승인 영역으로 서버를 사용합니다. 스테이징 서버는 일반적으로 다음과 같이 워크 플로에 배치됩니다.
- 디자이너는 로컬 컴퓨터 또는 테스트 서버에서 디자인 작업을 수행합니다.
- 디자인 및 코드는 테스트를 위해 테스트 서버에 통합됩니다 (때로는 여기에 내용이 포함되지만 디자인 워크 플로 외부의 CMS에서 유효성이 확인되는 경우가 있음)
- 콘텐츠가 준비 서버의 디자인 및 코드에 추가됩니다.
- 최종 승인이 수신되고 전체 사이트가 프로덕션 서버로 푸시됩니다.
회사의 워크 플로가 다를 수 있음
한 가지 사실은 한 회사의 워크 플로가 다른 회사의 워크 플로와 완전히 다를 수 있다는 것입니다. Emacs와 vi를 사용하여 프로덕션 서버에서 HTML을 직접 작성하는 웹 사이트를 구축했으며 작업중인 페이지의 작은 부분에 액세스 할 수 없었던 웹 사이트를 구축했으며 CMS 내부에서 모든 작업을 수행했습니다. 다양한 서버의 목적을 이해함으로써 설계 및 개발 작업을보다 효과적으로 수행 할 수 있습니다.