Close

Atlassian이 고객 데이터를 관리하는 방법


Atlassian이 복원력을 보장하는 방법

Atlassian의 Cloud 제품은 뛰어난 성능을 제공할 수 있도록 설계되었으며 동급 최고의 기술을 기반으로 구축되었으므로 필요할 때마다 데이터와 서비스를 사용할 수 있다는 확신을 가질 수 있습니다. Atlassian은 고객 데이터 및 서비스의 복원력에 깊은 관심을 갖고 있는데, 이것은 특히 Atlassian도 동일한 제품들을 사용하기 때문입니다.

이에 따라 Atlassian은 중단이 발생할 경우 고객에게 미치는 영향을 최소화하기 위해 노력하고 있습니다. Atlassian은 지리적으로 다양한 여러 데이터 센터를 활용하고 포괄적인 백업 프로그램을 보유하고 있으며 정기적으로 재해 복구 및 비즈니스 연속성 계획을 테스트하여 신뢰성을 보장합니다.

이 페이지에서는 서비스의 가용성을 보장하기 위해 AWS(Amazon Web Services)의 기본 기능을 활용하는 백업, 재해 복구 계획을 정기적으로 테스트하는 방법, 재해 복구 및 비즈니스 연속성 계획의 지속적인 개선을 위한 접근 방식을 포함해 Atlassian이 고객 데이터 관리의 전체 수명 주기를 관리하는 방법을 개괄적으로 설명합니다.

Atlassian이 백업을 관리하는 방법

가장 중요한 것: 인프라 및 데이터베이스

대체로, Atlassian은 제품을 실행하는 2개의 기본 인프라, 즉 내부적으로 Micros로 부르는 PaaS(Platform as a Service) 환경과 Micros 이외의 환경으로 나뉩니다. Micros 플랫폼에서 실행하는 제품에는 Jira, Confluence, Statuspage, Atlassian Access 등이 있고, Micros 이외의 환경에서 실행하는 제품에는 Bitbucket, Opsgenie, Trello 등이 있습니다. 간단하게 설명하기 위해 이 문서에서는 주로 가장 큰 제품인 Jira, Confluence, Bitbucket에 초점을 맞춥니다.

Jira 및 Confluence Cloud는 AWS IaaS(서비스 제공 인프라) 서비스를 사용하여 여러 AWS 리전(구체적으로는 미국 동부, 미국 서부, 아일랜드, 프랑크푸르트, 싱가포르, 시드니이며 필요에 따라 다른 리전으로 확대할 계획임)에서 호스팅합니다. Jira와 Confluence Cloud는 모두 각 제품 인스턴스에 논리적으로 분리된 관계형 데이터베이스를 사용하지만, Jira 또는 Confluence Cloud에 저장된 첨부 파일은 Atlassian의 문서 스토리지 플랫폼(“미디어 플랫폼”)에 저장하며 결과적으로는 Amazon S3에 저장됩니다.

Bitbucket Cloud의 서비스 및 기능은 버지니아주 애슈번의 NTT(NTT Communications) 데이터 센터에서 실행하는 서비스를 통해 제공하며, 백업은 AWS뿐만 아니라 캘리포니아주 산타클라라의 NTT 데이터 센터에도 저장합니다. Bitbucket Cloud의 고객 데이터는 PostgreSQL 및 NetApp 파일러에 저장합니다.

백업

Atlassian은 어떤 비즈니스라도 데이터를 생성하며 데이터가 없다면 비즈니스도 없다는 사실을 깨달았습니다. Atlassian은 “고객에게 헛소리하지 않는다”는 가치에 따라 데이터가 손실되지 않도록 보호하는 데 깊은 관심을 갖고 있으며 광범위한 백업 프로그램을 갖추고 있습니다.

Jira 및 Confluence Cloud의 경우 Atlassian은 Amazon RDS(Amazon 관계형 데이터베이스 서비스)의 스냅샷 기능을 활용하여 각 RDS 인스턴스를 매일 자동으로 백업합니다. Amazon RDS 스냅샷은 특정 시점으로 복구를 포함하여 30일 동안 보관되며 AES-256 암호화를 사용하여 암호화합니다.

Bitbucket의 경우에는 백업을 AWS뿐만 아니라 물리적 NTT 데이터 센터에도 저장합니다.

Atlassian은 분기별로 복원을 위해 백업을 테스트하며, 이러한 테스트에서 식별된 모든 문제가 해결될 때까지 추적되도록 Jira 티켓을 제출합니다.

자세한 내용은 데이터 스토리지 FAQ를 참조하세요.

Atlassian이 고가용성을 위해 여러 데이터 센터와 가용성 영역을 활용하는 방법

태풍, 지진, 쓰나미는 모두 원거리에서 발생하지만 위험성이 있으므로 어떤 일이 일어나더라도 데이터를 복구할 수 있도록 다른 지리적 위치에 데이터를 백업하고 복제해야 합니다.

Atlassian은 전 세계 여러 리전에 있는 AWS의 고가용성 데이터 센터 시설을 활용하여 데이터를 백업합니다. 각 AWS 리전은 독립된 지리적 위치이며, 여기에는 AZ(가용성 영역)라는 여러 격리된 위치가 있습니다. 예를 들어, 미국 서부(미국 서부 해안)는 하나의 리전이고 그 안에는 2개의 AZ인 us-west-1a(캘리포니아 북부에 위치함)와 us-west-1b(오리건에 위치함)가 있습니다. 이 둘은 동일한 전체 리전에 있지만 지리적으로는 격리되어 있습니다.

각 AZ는 다른 AZ의 장애와 격리되고 동일한 리전의 다른 AZ에 낮은 비용으로 대기 시간이 짧은 네트워크 연결을 제공하도록 설계되었습니다. 이 다중 영역 고가용성은 1차 방어선이며, 이것은 다중 AZ 배포에서 실행되는 서비스는 AZ 장애를 견딜 수 있어야 한다는 것을 의미합니다.

Jira와 Confluence는 Amazon RDS에 다중 AZ 배포 모드를 활용합니다. 다중 AZ 배포에서 Amazon RDS는 동일한 리전의 다른 AZ에서 동기식 예비 복제본을 프로비저닝 및 유지 관리하여 이중화 및 장애 조치 기능을 제공합니다. AZ 장애 조치는 자동화되어 있으며 일반적으로 60~120초가 소요되므로 관리자의 개입 없이 데이터베이스 운영을 최대한 빨리 재개할 수 있습니다. 이러한 리전, AZ 및 복제 개념은 아래의 다이어그램에 자세히 설명되어 있습니다. Opsgenie, Statuspage, Trello 및 Jira Align은 복제 타이밍과 장애 조치 타이밍이 약간 다른 유사한 배포 전략을 사용합니다.

Bitbucket의 경우 모든 기본 데이터베이스 서버가 NTT 데이터 센터에 있으며, 복제 노드와 백업은 AWS뿐만 아니라 NTT 데이터 센터에도 저장됩니다. 프로덕션 데이터는 미러링 기술을 통해 버지니아주 애슈번과 캘리포니아주 산타클라라에 있는 NTT 데이터 센터에 모두 지속적으로 복제됩니다. Bitbucket 프로덕션 데이터는 2시간마다 기본 사이트에서 보조 사이트로 복제되며, 복제 지연 시간은 평균 10~20분에서 최대 몇 시간 이내입니다.

Atlassian이 복구 시간 및 복구 지점 목표를 결정하는 방법

이상적인 세상에서는 중요한 비즈니스 데이터가 절대 손실되지 않을 것입니다. 그러나 실제로는 데이터 손실 위험이 없는 시스템은 실현 불가능하거나 비용이 매우 높습니다. Atlassian에서는 문화적으로 이 제로 데이터 손실 시나리오를 실현하고 가용성 영역 장애 시 자동으로 생존하는 능력을 갖추는 것을 목표로 설정했지만, 비즈니스 연속성 계획에서는 비용, 이익, 위험 사이의 적절한 균형을 찾는 “RTO(복구 시간 목표)”와 “RPO(복구 지점 목표)”를 설정해야 합니다.

RTO는 인시던트 후에 비즈니스 프로세스(또는 시스템)을 복구하고 백업 및 실행을 수행하는 시간입니다. RPO는 복구 작업 시 조직에서 손실을 허용할 수 있는 데이터의 유효량입니다. 간단한 예로, 매일 백업을 수행하는 경우 업무 종료 시점에 인시던트가 발생하여 어제 저장된 백업으로 복구하면 1일간의 데이터가 손실되는데 이것이 바로 RPO입니다.

비즈니스 영향 및 위험 평가는 팀이 클라이언트 사용자 요구 사항과 중단의 잠재적인 영향에 따라 사용자 지정 RTO 및 RPO 목표를 설정하는 데 도움이 됩니다.

좀 더 구체적으로 Atlassian은 서비스를 티어라는 이해하기 쉬운 버킷으로 나눕니다. 제품 및 고객에 직접 관련된 서비스, Atlassian 비즈니스 시스템 및 내부 도구에는 3개의 티어(티어 1, 2, 3)가 정의되어 있으며, 기본 티어(티어 0)는 모든 요소가 의존하는 중요 구성 요소에 대해 훨씬 더 높은 가용성 표준을 제공합니다.

Atlassian은 각 티어에 대해 무엇보다도 비즈니스 영향 평가와 구축하는 서비스에 대한 일반적인 사용 시나리오를 검토하여 필수 목표를 정의했습니다. 서비스 티어는 아래의 표에 명시된 대로 가용성, 신뢰성, RTO 및 RPO 목표를 결정하는 데 도움이 됩니다.

티어 0 티어 1 티어 2 티어 3
중요 인프라 및 서비스 구성 요소 티어 0 서비스는 다른 모든 서비스의 기반이 되며 제품의 제공에 매우 중요한 서비스입니다. 티어 1 서비스는 일반적으로 Atlassian 제품이거나 제품 제공과 직접적인 관련이 있습니다. 티어 2 서비스는 중요하지 않은 서비스이거나 내부에서 사용하는 서비스입니다. 티어 3 서비스는 중요하지 않은 서비스이거나 내부에서 사용하는 서비스입니다.
예시 서비스:

예시 서비스

· AWS 플랫폼

· Micros 서버

· 네트워킹 코어

예시 서비스

· Jira 및 Confluence Cloud

· Bitbucket

예시 서비스

· 이미지 효과

· CAC

예시 서비스

· 분석 및/또는 BI 데이터 수신

RPO* < 1시간 < 1시간 < 8시간 < 24시간
RTO** < 4시간 < 6시간 < 24시간 < 72시간

*RPO – 복구 지점 목표 – 재해 발생 시 데이터 손실

**RTO – 복구 시간 목표 – 재해 발생 시 서비스 복원

Atlassian은 관련 서비스가 해당 RPO 및 RTO 목표를 충족할 수 있도록 서비스 소유자에게 책임을 위임합니다.

Atlassian이 재해 복구 테스트를 수행하는 방법

Atlassian은 정기적인 재해 복구 테스트를 수행하며 DR(재해 복구) 프로그램의 일환으로 지속적인 개선을 위해 노력하고 있습니다. 이것은 고객 데이터와 서비스의 안정성과 복원력이 보장하기 위한 것입니다. Atlassian은 다음 요소를 비롯하여 예정된 테스트와 임시 테스트를 모두 수행합니다.

문서 - 중요 및 고객에게 관련된 서비스(티어 0 및 티어 1 포함)의 경우 분기별로 백업 설명서가 정확하고 완전하며 최신 정보를 담고 있는지 검토합니다. 식별된 모든 문제는 문서화하며, 내부 Jira 티켓을 만들어서 문제가 해결될 때까지 추적합니다.

프로세스 - 중요/고객 대면 서비스(티어 0 및 티어 1 포함)에 대해 분기별로 실제 기술 백업/복구 프로세스 테스트도 완료하여 서비스 티어 분류에 따라 RTO 및 RPO 목표가 달성되었는지 확인합니다. 이러한 테스트에서 식별된 모든 문제는 Jira 티켓을 만들어서 문제가 해결될 때까지 추적합니다.

복원력 및 장애 조치 – AZ 전반의 복원력 수준에 대한 정기적인 테스트와 임시 테스트를 수행하여 Atlassian이 최소한의 가동 중지 시간으로 AZ 장애를 처리할 수 있는지 확인합니다. Atlassian은 전체 리전 장애가 발생할 가능성은 거의 없다는 것을 알고 있지만, 리전 장애 조치도 정기적으로 테스트하고 리전 복원력을 지속적으로 강화하고 있습니다.

시스템 - SRE(사이트 안정성 엔지니어링) 팀과 제품 엔지니어링 팀이 서비스 전반의 광범위한 지표를 지속적으로 모니터링하여 사용자가 탁월한 경험을 할 수 있도록 보장합니다. 서비스 지표의 특정 임계값을 초과할 경우 SRE 팀원에게 알리도록 자동 알림이 구성되어 있으므로 인시던트 대응 프로세스 내에서 즉각적인 조치를 취할 수 있습니다.

재해 복구 대시보드 - DR 대시보드는 내부에서 유지 관리하므로 중요 및 고객 관련 서비스(티어 0 및 티어 1 포함)의 경우 감독, 유지 관리 및 테스트와 관련된 Jira 티켓을 중앙에서 추적하여 문서 및 백업/복구 프로세스에 대한 검토를 적시에 완료할 수 있습니다.

DR 테스트 및 시뮬레이션 – 매년 또는 임시로 DR 테스트를 수행합니다. Atlassian은 DR 테스트의 일환으로 테이블탑 연습을 수행하여 DR 팀이 다양한 잠재적인 인시던트 시나리오를 익힐 수 있도록 돕습니다. 테이블탑 연습은 다양한 시나리오를 테스트하고 복구 프로세스의 격차를 식별합니다. 테이블탑 연습을 위한 시나리오로는 지진, 화재, 자연재해, 복구 훈련 및 테스트 등이 있습니다. DR 테스트를 수행한 후에는 지속적인 개선을 위해 테스트 결과를 캡처, 분석 및 논의하여 다음 단계의 범위를 결정합니다. 개선 노력은 Jira 티켓 내에 캡처되며 해결될 때까지 추적됩니다.

Atlassian은 테스트와 프로세스가 기술적으로 철저하다는 것을 알고 있지만, 계속해서 뛰어난 인력을 하나로 모으는 표준을 수립하고 있습니다. 이에 따라서 Atlassian은 DR 프로그램에 다음과 같은 인적 요소를 포함합니다.

사이트 안정성 엔지니어(“SRE”) – SRE는 지속적인 정기 DR 모임을 위해 노력하며 중요 서비스를 대표합니다. SRE는 필요에 따라 수정에 초점을 맞춰 위험 및 규정 준수 팀과 함께 DR 격차를 식별합니다.

재해 복구 챔피언 - DR 챔피언은 각 제품/서비스 팀 내에서 지명되어(기본 서비스 포함) 해당 제품/서비스 내에서 DR의 구현을 감독 및 관리해 서비스 티어 요구 사항을 충족하도록 보장합니다.

리더십 - Atlassian은 DR 프로세스에 임원 및 고위 경영진이 지속적으로 참여 및 개입하도록 합니다. 리더십의 참여를 통해 Atlassian은 복원력에 대한 전략에서 비즈니스 및 기술적 추진력을 모두 얻을 수 있습니다.

기타 광범위한 기타 비즈니스 연속성 방안 및 계획

Atlassian은 운영 중단이 발생하는 경우 고객에게 미치는 영향을 최소화하는 DR 기능과 강력한 비즈니스 연속성(“BC”)을 유지하기 위해 노력하고 있습니다. BC 및 DR 프로그램을 이끄는 주요 원칙은 다음과 같습니다.

지속적인 개선 – Atlassian은 운영 효율성, 자동화, 새로운 기술, 입증된 관행을 통해 복원력을 개선하기 위해 노력하고 있습니다.

테스트를 통한 확신 – Atlassian은 정기적으로 예정된 테스트를 수행하고 지속적으로 개선을 적용하여 최적의 복원력을 달성할 수 있음을 잘 알고 있습니다.

전담 리소스 – Atlassian에는 고객 대면 제품이 BC 및 DR을 가능하게 하는 데 필요한 관심을 얻도록 하는 전담 인력과 팀이 있습니다. Atlassian은 현장에서 실제 인시던트는 물론, 운영 위원회, 위험 평가, 비즈니스 영향 분석 테스트를 지원하는 적절한 수준의 리소스를 보유하고 있습니다.

요약

Atlassian은 최고 수준의 기술과 지속적인 테스트 및 유효성 검사를 결합하여 고객 데이터의 높은 가용성, 안정성 및 복원력을 보장합니다. Atlassian은 다양한 지역에 데이터 센터를 여러 개 운영하고 광범위한 백업 프로그램을 보유하고 있으며 정기적으로 재해 복구 및 비즈니스 연속성 계획을 테스트하여 신뢰성을 보장합니다. 그뿐만 아니라 프로세스를 통합하는 전담 리소스와 우수한 인력을 보유하고 있습니다.