서버 배포 계획
이 섹션에서는 Mattermost 서버를 배포하고 관리하는 방법을 종합적으로 안내합니다. Mattermost는 Go와 React로 구축된 유연하고 고성능인 메시징 플랫폼으로, 대규모 환경에서도 안전한 팀 협업을 제공하도록 설계되었습니다. 아래 목록을 통해 단일 서버 설치부터 복잡한 분산 아키텍처까지 Mattermost가 지원하는 다양한 배포 옵션을 살펴보세요.
- Mattermost 서버 환경 준비 - 소프트웨어 및 하드웨어 요구 사항, 프록시 설정, TLS 구성 등 배포 전 작업입니다.
- Kubernetes에 Mattermost 배포 - 고가용성을 지원하는 다양한 Kubernetes 플랫폼에서의 확장 가능한 배포입니다.
- Linux에 Mattermost 배포 - 배포를 완전히 제어할 수 있는 Linux 서버 직접 설치입니다.
- 컨테이너로 Mattermost 배포 - 소규모 설치에 적합한 Docker 기반 배포입니다.
- 사전 인증 시크릿 - 사전 인증 헤더를 사용해 모바일·데스크톱 애플리케이션에 대한 리버스 프록시 검증을 구성합니다.
- 배포 솔루션 프로그램 - 자동화된 배포 도구와 오케스트레이션 솔루션입니다.
핵심 기술 스택
Mattermost의 아키텍처는 현대적이고 신뢰할 수 있는 기술을 기반으로 합니다.
- 백엔드: Go로 작성되어 높은 성능과 동시 처리 능력을 제공합니다.
- 프런트엔드: React 기반 웹 애플리케이션과 모바일 앱입니다.
- 데이터베이스: 기본 데이터 저장소로 PostgreSQL을 사용합니다.
- 검색: 고급 검색 기능을 위한 Elasticsearch(선택 사항)입니다.
- 파일 저장소: 미디어와 첨부 파일을 위한 로컬 파일 시스템, NFS를 사용하는 네트워크 저장소, 또는 클라우드 저장소(S3 또는 S3 호환 서비스)입니다.
- 캐싱: 성능 향상을 위한 Redis 내장 지원입니다.
배포 옵션
Mattermost는 조직의 요구에 맞춰 여러 배포 옵션을 제공합니다.
-
프로덕션 배포에 권장하는 방식이며 다음을 제공합니다.
- 확장성과 고가용성
- 자동 업데이트와 롤백
- 코드형 인프라(Infrastructure as Code)
- 내장된 모니터링과 로깅
- 기존 DevOps 워크플로와의 손쉬운 연동
-
Linux 서버에 직접 설치하는 방식으로 다음을 제공합니다.
- 단순하고 직관적인 설치
- 설치 전반에 대한 완전한 제어
- 컨테이너를 선호하지 않는 환경에 적합
-
Docker 컨테이너는 다음과 같은 특성 때문에 소규모 배포에만 적합합니다.
- 설치와 업데이트가 간단함
- 일관된 환경
- 손쉬운 의존성 관리
- 고가용성 미지원
사전 요구 사항
Mattermost를 배포하기 전에 소프트웨어 및 하드웨어 요구 사항을 확인하고 다음을 갖추었는지 점검하세요.
- 지원되는 Linux 배포판
- 데이터베이스 서버(PostgreSQL 14 이상)
- 리버스 프록시(NGINX 권장)
- 보안 통신을 위한 SSL/TLS 인증서
- 파일과 데이터베이스를 위한 충분한 저장 공간
- 네트워크 접근 권한과 방화벽 구성
- 예상 사용자 부하에 맞는 시스템 요구 사항 충족
배포 계획 수립
Mattermost 배포를 계획할 때는 조직의 요구 사항, 기술 역량, 인프라 여건에 가장 잘 맞는 배포 방식을 선택하기 위해 다음을 고려하세요.
- 예상 사용자 수와 증가 추이
- 고가용성 요구 사항
- 백업 및 재해 복구 요구 사항
- 기존 시스템과의 연동
- 보안 및 컴플라이언스 요구 사항
- 모니터링 및 유지 관리 전략
이어지는 서버, 데스크톱, 모바일 애플리케이션 섹션에서는 각 배포 방식에 대한 자세한 지침을 제공합니다.
최소 데이터베이스 버전 정책
계획 수립을 쉽게 하고 Mattermost 배포가 빠르고 안전하게 유지되도록, PostgreSQL 최소 지원 버전을 갱신하는 정책을 도입합니다. Mattermost가 지원하는 가장 오래된 PostgreSQL 버전은 PostgreSQL 커뮤니티가 지원하는 가장 오래된 버전과 동일하게 맞춰집니다. 이를 통해 최신 기능과 보안 업데이트의 혜택을 받을 수 있습니다.
이 정책 변경은 Mattermost v10.6부터 적용되며, 해당 버전부터 요구되는 최소 PostgreSQL 버전은 PostgreSQL 13입니다. 이는 각 메이저 버전에 5년의 지원을 제공하는 PostgreSQL 커뮤니티의 지원 정책과 일치합니다.
Mattermost v10.6은 Extended Support Release(ESR)가 아닙니다. 앞으로 이 데이터베이스 버전 지원 정책은 ESR 릴리스에만 적용됩니다.
PostgreSQL 버전이 지원 종료(EOL)에 도달하면 Mattermost는 다음 예정된 ESR 릴리스부터 더 높은 버전을 요구합니다. 이에 따라 향후 PostgreSQL 최소 버전은 다음과 같이 상향됩니다.
| Mattermost 버전 | 릴리스 날짜 | 최소 PostgreSQL 버전 |
|---|---|---|
| v9.11 ESR | 2024-8-15 | 11.x |
| v10.5 ESR | 2025-2-15 | 11.x |
| v10.6 | 2025-3-15 | 13.x |
| v10.11 ESR | 2025-8-15 | 13.x |
v11.5 ESR * | 2026-2-15 | 14.x (EOL 2026-11-12) |
* 예상 릴리스 버전 및 날짜입니다.
새 요구 사항이 적용되기 전까지 고객에게는 PostgreSQL 버전을 계획하고 테스트하고 업그레이드할 수 있는 9개월의 기간이 주어집니다. 이 정책은 데이터베이스 업그레이드를 Mattermost 릴리스 일정에 맞출 수 있도록 명확성과 투명성을 제공하는 것을 목표로 합니다. 선택지를 논의하려면 Mattermost 전문가에게 문의하세요.