엔터프라이즈 롤아웃 체크리스트
Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
이 체크리스트는 수천 명 규모의 사용자에게 Mattermost를 롤아웃하는 엔터프라이즈를 위한 안내서로 활용할 수 있도록 작성되었습니다.
체크리스트 개요
롤아웃 준비
- 1. 롤아웃 프로젝트 정의
- 2. 필수 보안 및 컴플라이언스 요구 사항 검증
- 3. 개발·스테이징·운영 환경 구축
- 4. Mattermost 사이트 설정 및 맞춤화
- 5. 운영 환경 성능 및 이중화 테스트
Mattermost 롤아웃
롤아웃 검토
체크리스트 상세
롤아웃 준비
준비 작업의 상당 부분은 사용자를 온보딩하기 전에 환경을 배포하고 보안을 확보하는 데 집중됩니다.
1. 롤아웃 프로젝트 정의
- 핵심 이해관계자와 프로젝트 팀원을 정의합니다.
- 프로젝트 팀원 예시: 프로젝트 관리자, 네트워크 관리자, 데이터베이스 관리자, 사내 디렉터리 관리자, 보안·컴플라이언스 관리자, 사용자 지원, 사용자 챔피언, 사용자 교육 담당
- 팀별 사용 사례와 요구 사항, 워크플로, 연동을 정의합니다.
- 성공 기준, 목표, 성과를 측정할 지표를 정의합니다.
- 목표, 작업, 산출물, 결정 사항을 기록할 프로젝트 차터를 작성합니다.
- 프로젝트 차터에 대해 프로젝트 팀원과 핵심 이해관계자의 동의를 얻습니다.
2. 필수 보안 및 컴플라이언스 요구 사항 검증
- Mattermost 보안 기능을 검토합니다.
- 모니터링 요구 사항을 파악합니다.
- 데이터베이스, 네트워크, 스토리지, 로그 무결성
- 로그 관리 도구에서 사용할 필드를 식별합니다(예: Splunk Enterprise 이벤트 데이터).
- 환경 접근 정책을 정의합니다.
- 네트워크 접근, 물리적 접근, 그룹 기반 통제 접근
- 암호화 정책을 정의합니다.
- 시스템 관리 접근 정책을 정의합니다.
- Mattermost 시스템 콘솔, 명령줄 도구, API 권한에 대한 관리자 접근이 필요한 사용자 또는 그룹 목록을 파악합니다.
- 인증 정책을 정의하고 설정합니다.
- 다중 인증 요구 사항을 파악합니다.
- SSO 또는 사내 디렉터리 연동(SAML 또는 AD/LDAP)을 설정하고 테스트합니다.
- 모바일 사용 정책을 정의합니다.
- 외부 네트워크 접근 요구 사항을 평가합니다.
- Mattermost Marketplace는 Mattermost가 호스팅하는 서비스로, 사용할 수 있는 Mattermost 연동의 최신 버전을 모아 두는 중앙 저장소 역할을 합니다. 필요한 외부 네트워크 접근에 대한 자세한 내용은 Enable Remote Marketplace 문서를 참고하세요.
- Mattermost는 외부 GIF 제공자를 지원합니다. 필요한 외부 네트워크 접근에 대한 자세한 내용은 GIF Commands 설정 문서를 참고하세요.
3. 개발·스테이징·운영 환경 구축
- 예상 사용량과 고가용성 요구 사항을 바탕으로 하드웨어를 산정해 운영 환경 설계를 확정합니다.
- 참고 자료: https://docs.mattermost.com/deployment-guide/application-architecture
- 참고 자료: https://docs.mattermost.com/deployment-guide/deployment-guide-index.html
- 참고 자료: https://docs.mattermost.com/deployment-guide/scale/scaling-for-enterprise
- 참고 자료: https://docs.mattermost.com/deployment-guide/server/high-availability-cluster-based-deployment
- 개발 환경과 스테이징 환경을 구축합니다.
- 고가용성과 부하 분산을 설정하기 전에 데이터베이스, 인증, 파일 스토리지, Elasticsearch의 초기 설정을 테스트하는 데 사용할 것을 권장합니다.
- 스테이징은 운영 환경과 동일하게 복제해 구성할 것을 권장합니다.
- 운영 환경을 구축합니다.
- Mattermost를 설치합니다.
- 운영 환경 설계에 명시된 고가용성 요구 사항에 따라 노드 수를 정해 설치합니다.
- 권장 사항: Kubernetes와 Mattermost Operator를 사용하고, 지원되는 외부 데이터베이스 및 파일 스토리지 솔루션과 함께 구성하세요. 이렇게 하면 블루/그린 배포, 롤링 업그레이드, 카나리 빌드도 활용할 수 있습니다.
- 데이터베이스를 설치하고 설정합니다.
- 운영 환경 설계에 명시된 고가용성 요구 사항에 따라 읽기 복제본과 검색 복제본의 수를 정해 설치합니다.
- (선택) 고가용성 환경을 위해 설정 파일 대신 데이터베이스를 통한 설정 관리를 구성합니다.
- 파일 스토리지를 설치하고 설정합니다.
- 프록시 또는 로드 밸런서를 설치하고 설정합니다.
- 참고: Kubernetes와 Mattermost Operator를 사용하는 경우 프록시가 자동으로 생성됩니다.
- SSL 인증서를 추가합니다.
- (선택) 디지털 인증서를 이용한 사용자 또는 기기 기반 인증을 위해 인증서 기반 인증(CBA)을 설정합니다.
- 이메일 알림을 위해 SMTP를 설정합니다.
- Elasticsearch를 구축합니다(게시물이 200만 건을 넘을 것으로 예상되는 조직에는 적극 권장).
- Mattermost를 설치합니다.
- 네트워크 구성을 문서화합니다.
4. Mattermost 사이트 설정 및 맞춤화
- Mattermost에 로그인하고 시스템 콘솔에 접근해 환경을 Mattermost에 연결합니다.
- 참고 자료: https://docs.mattermost.com/administration-guide/configure/configuration-settings.html#environment-variables
- Edition and License에서 유효한 Enterprise 라이선스를 업로드합니다.
- 운영·개발·스테이징 환경에 맞게 사이트 URL이 적절히 설정되어 있는지 확인합니다.
- System Console > Environment > Database(시스템 콘솔 > 환경 > 데이터베이스)에 데이터베이스 설정을 추가합니다.
- System Console > Environment > Elasticsearch에 Elasticsearch 또는 AWS OpenSearch 설정을 추가합니다.
- System Console > Environment > File Storage에 파일 스토리지 시스템 설정을 추가합니다.
- System Console > Environment > Image Proxy에 프록시 설정을 추가합니다.
- System Console > Environment > SMTP에 SMTP 설정을 추가합니다.
- System Console > Environment > Push Notification Server에 서버를 추가해 푸시 알림을 활성화합니다.
- System Console > Environment > High Availability에 클러스터 설정을 추가합니다.
- 시스템 콘솔에서 사이트를 설정합니다.
- 역할 권한과 게스트 접근을 포함한 사이트 접근 정책을 설정합니다.
5. 운영 환경 성능 및 이중화 테스트
- 재해 복구 정책과 절차를 정의하고 테스트합니다.
- 운영 환경의 성능을 테스트합니다.
- 예상 사용자 부하를 감당할 수 있는지 확인하기 위해 운영 환경에 부하 테스트를 수행합니다.
- 성능을 모니터링하기 위해 Prometheus와 Grafana를 구축합니다.
- Grafana에서 알림을 설정합니다.
Mattermost 롤아웃
이제 환경이 갖춰졌으니 다음 항목들을 반복적인 절차로 진행할 것을 권장합니다. 사용자 그룹을 온보딩하면서 조직에 맞게 조정하기 위해 각 주제를 여러 차례 반복해야 할 수도 있습니다.
1. 팀 및 채널 전략 정의
- 환경에 맞는 팀 구조를 정하고 생성합니다.
- 권장 사항: 롤아웃 초기에는 팀 수를 적게 유지하며 시작하세요.
- 참고 자료: https://docs.mattermost.com/end-user-guide/collaborate/channel-naming-conventions.html
- 사용자를 지원할 핵심 채널을 정하고 생성합니다. 기본 Town Square 채널은 자동으로 생성되어 모든 팀에서 사용할 수 있습니다.
- 권장 사항: 사용자가 질문을 에스컬레이션할 수 있도록 “Support” 채널을 추가하세요.
- (선택) 레거시 시스템에서 메시지와 채널을 마이그레이션합니다.
2. 핵심 연동 활성화
- 팀에서 사용하는 핵심 연동과 도구의 목록을 작성합니다.
- 플러그인, 봇, 웹훅, 슬래시 명령에 대한 사용 사례와 요구 사항을 정의합니다.
- 핵심 연동을 설정합니다(또는 PoC 환경에서 마이그레이션합니다).
- Mattermost API의 기능을 파악합니다.
- 참고 자료: https://api.mattermost.com/
3. 사용자 온보딩 준비
- 챔피언 사용자를 온보딩합니다.
- 교육 담당자와 지원 팀을 온보딩합니다.
- 교육 계획을 수립합니다.
- 사용자 에스컬레이션과 지원 절차를 정의합니다.
- System Console > Site Configuration > Customization에서 사이트의 지원 URL을 자사 지원 팀 주소로 설정했는지 확인하세요.
- 롤아웃 전에 사용자에게 미리 안내합니다.
4. 클라이언트 앱 배포
- 데스크톱 앱을 롤아웃합니다.
- 참고 자료: https://docs.mattermost.com/deployment-guide/desktop/desktop-app-deployment.html
- (선택) MSI 설치 관리자를 사용해 Windows 장비에 설치합니다.
- 모바일 앱을 롤아웃합니다.
5. 사용자 그룹 단위 롤아웃
- 사용자 계정을 프로비저닝합니다.
- (선택) 사용자를 일괄 로드합니다.
- 사용자를 팀과 채널에 온보딩합니다.
- 권장 사항: LDAP 그룹 동기화를 사용해 이 과정을 자동화하세요.
- Mattermost 사용법에 대한 교육 계획을 최종 사용자에게 실행합니다.
- Mattermost 사용법을 교육합니다.
- 연동 사용법을 교육합니다.
6. 도입 확산
- 추가 사용자 그룹으로 점진적으로 롤아웃합니다.
- “사용자 그룹 단위 롤아웃”을 참고하세요.
- 최종 사용자의 지원 요청과 제품 요청을 관리합니다.
- 참고 자료: https://mattermost.com/support/
- Mattermost로 에스컬레이션하는 절차는 아래를 참고하세요.
- 사용자 워크플로를 지원할 추가 연동과 플러그인을 활성화합니다.
- 사용자를 지원하는 데 활용할 수 있는 관리 도구를 파악합니다.
롤아웃 검토
사용자 롤아웃을 반복적으로 진행하는 주기에 맞춰 롤아웃을 검토할 것을 권장합니다. 아래는 검토할 만한 영역입니다.
1. 프로젝트 차터의 성공 지표 검토
- 최종 사용자 설문을 실시하고 만족도를 측정합니다.
- 최초 요구 사항 수집 단계에서 정의한 사용 사례가 충족되었는지 검증합니다.
- 사용자 지원 이슈에 대한 응답 시간과 해결률을 측정합니다.
- 활용도가 낮은 부분을 파악해 해결하거나 해결 계획을 수립합니다.
2. 사용 현황 검토 및 분석
- 프로젝트 차터의 성공 지표를 검토하고, 활용도가 낮은 부분을 파악해 해결하거나 해결 계획을 수립합니다.
- 사이트와 팀 통계를 모니터링합니다.
- 참고 자료: https://docs.mattermost.com/administration-guide/manage/statistics.html
- 검토 항목: 전체 게시물 수, 전체 팀 수, 전체 채널 수, 전체 그룹 대화 수, 전체 다이렉트 대화 수, 상위 채널, 상위 팀
- 사업 부문별 사용 현황과 사용량이 가장 많은 시간대를 분석합니다.
3. 시스템 성능 분석
- CPU·메모리 사용량 추이를 모니터링합니다.
- 데이터베이스 연결 수 추이를 검토합니다.
- Go 루틴 추이를 검토합니다.
- 동시 세션 수 추이를 검토합니다.
4. 보안 강화
- 웹, 데스크톱, 모바일 보안 관련 통제를 강화합니다.
- 설정 관리를 강화합니다.
- 네트워크 보안을 강화합니다.
- 추가로 수행할 테스트와 스캔을 파악합니다.
- (선택) 컴플라이언스 리포팅을 활성화합니다.
5. 유지 보수 작업 수행
- 보안 업데이트를 모니터링합니다(또는 이메일 업데이트를 구독합니다).
- 첫 업그레이드를 수행합니다.
- Mattermost 릴리스 일정과 수명 주기를 바탕으로 업그레이드 일정을 정합니다.
- 시스템 점검을 수행하고 문제를 해결하거나 해결 기한을 정합니다.