다중화, 고가용성, 확장성을 고려한 Okta 서비스의 독립형 인스턴스 아키텍처 “Cell”
- Okta는 수백억 명의 IAM을 관장하는 것을 목표로 두어 대규모로 100% 클라우드 아키텍처를 지속적으로 최적화해 왔습니다. 다중화 및 고가용성을 위해 Amazon Web Services의 다중 가용 존의 활용과 전세계적 확장성과 성능 최적화를 위해 CDN을 활용한 것과 더불어, Okta는 별도로 전체 Okta 서비스의 독립형 인스턴스의 형태로 "cell"이라고 부르는 독점적인 Okta만의 혁신 아키텍처를 구축했습니다.
- 각 cell에는 수백 개의 자동화 구성 요소가 포함되어 있어 다음을 제공하도록 설계되어 있습니다:
- 위험 완화
- 인프라의 모든 결함은 여러 영역에 걸쳐 중복 고가용성(HA) 아키텍처를 사용하는 셀 내에 포함되므로 전체 데이터 센터가 다운되더라도 다른 지역의 다른 셀이 한 시간 이내에 영향을 받는 계정의 소유권을 이전해 갈 수 있습니다.
- 단계적 배포 및 롤백
- 한 번에 한 노드에서 한 셀로 코드를 롤아웃하거나 전체 서비스 대신 한 셀에서 롤백할 수 있습니다. 이는 코드 업데이트로 인해 발생할 수 있는 잠재적인 문제를 감소합니다.
- 인프라 프로바이더 독립성
- Google Compute, Microsoft Azure 및 AWS의 추가 존 및 리전에 Okta를 배포할 수 있는 유연성이 있습니다.
- 워크로드 튜닝
- 많은 Okta 서비스를 다양한 계층으로 나누어 고객의 다양한 액세스 패턴에 맞게 조정할 수 있습니다. 예를 들어, 큰 작업과 백엔드 서비스 처리를 분류하고, 계산적으로 복잡한 해싱 알고리즘을 실행하고, Microsoft Office 365와 같은 부하를 유발할 수 있는 앱으로부터 데이터베이스를 보호하고, 대량의 API 호출, 사용자 요청 또는 AD/LDAP 에이전트 요청을 따로 처리합니다.
- 수평 및 수직 확장성
- 셀을 추가하여 용량을 빠르게 늘릴 수 있습니다. 또한 셀을 분할하여 원래 셀의 테넌트 용량을 두 배로 늘릴 수 있습니다. 또한 모든 테넌트가 동일한 셀에서 호스팅되는 것은 아니므로 성능에 대한 저하를 방지합니다.
- 지리적 고립
- 각 고객의 데이터가 관련 정치적 경계 내에서 유지되도록 보장할 수 있습니다.
Okta의 각 계층별 이중화 구축
- Okta의 셀 아키텍처 외에도 기술 스택의 각 계층에 극도의 이중화를 구축했습니다. Okta에서 사용하는 SaaS, PaaS 또는 IaaS 제품이 중단되더라도 고객은 Okta를 계속 사용할 수 있도록 설계되었습니다. 추가로 인프라 전반에 걸친 중복 모니터링 및 경고로 확장됩니다. 이 접근 방식을 통해 전체 AWS 가용 존 또는 시스템이 오프라인 상태가 된 경우에도 Okta가 계속 켜져 있고 작동할 수 있으며 이에 따라 zero downtime을 보장하고 있습니다.
관련참조 링크:
Back to Okta 관련 정보