자체 호스팅 로컬/스테이징 환경 설정 옵션 또는 추천?

일부 조사를 거쳐, 제가 일하는 기술 협동조합은 자체 호스팅되는 로컬/스테이징 환경에 대해 다음과 같은 옵션을 제시했습니다. 결국 hosting 비용을 두 배로 늘리는 것을 감수해야 할 수도 있지만(필요할 때), 최적의 관행이나 대안에 대한 조언이나 추천이 있는 분이 있는지 확인해 보자는 생각이었습니다.

*저희는 작은 비영리 단체이며 영국에서 관리형 호스팅을 사용하고 있으므로, 비용이 만만치 않습니다.

— — —

옵션:

1. 로컬 환경 설정

장점:

  • 매우 안전하고 격리되어 있음 – discourse 플러그인/테마/코어 코드를 자유롭게 수정 가능

단점:

  • 성능이 상당히 나쁨: 기본적으로 PC를 재부팅할 때마다 docker image pull을 수행하며, 시작할 때마다 bundle install을 다시 실행해야 합니다(많은 수의 ruby 패키지를 다운로드하고 소스에서 빌드). 또한 OSX에서는 네이티브 컨테이너 지원이 부족하여 모든 작업이 느린 VM에서 실행됩니다.
  • WP-discourse 플러그인이 작동하려면 discourse 코드에 수동 패치를 적용해야 합니다 (해당 패치를 적용하는 방법조차 파악하려면 추가 조사가 필요합니다).
  • 라이브 환경과의 동기화에는 도구 개발 작업이 필요하며, 라이브 데이터를 불러오는 것이 실제로 안정적으로 작동할지는 미지수입니다.

예상 소요 시간: 설정 4~6시간

2. 스테이징 서버

장점:

  • 신규 참여자가 시작하기 쉬우며, 설정 불필요
  • 상위(upstream)와 동일한 버전, 플러그인 등을 비교적 쉽게 유지 가능
  • 동기화는 라이브에서 백업을 복원하는 것만큼 간단할 “수도” 있음

단점:

  • 지속적인 비용이 높음

예상 소요 시간: 설정 1~2시간 + 호스팅 비용

3. (안전하게) 라이브 사이트에서 테스트하는 방법 찾기

장점:

  • 항상 동일한 discourse 버전, 플러그인, 테마로 테스트한다는 점이 확실함

단점:

  • 사용자에게 ‘새 게시물!’ 알림을 스팸처럼 보내지 않는 방법을 찾아야 함 / 실수를 할 경우 사용자에게 스팸이 발송될 위험. 데이터에 대한 작은 위험이 있으며, 백업에서 복원해야 할 수도 있음.

예상 소요 시간: 설정 1~2시간

스테이징 환경을 클라우드에서 전용 인스턴스로 구성하는 것을 추천합니다. 라이브 사이트에서 테스트하는 것은 이상적이지 않으며, 프로덕션 환경과 매우 유사하게 유지하기 어렵습니다. 로컬에서 호스팅하는 것도 가능하지만, 전기 요금을 조금 아낀다는 점을 제외하면 거의 이점이 없으면서 불필요한 문제를 자초하게 됩니다.