넷플릭스, 데이터 자산 관리 혁신!
수백만 테이블과 수만 개 워크로드를 관리하는 넷플릭스 데이터 플랫폼의 자산 관리 복잡성 증가 문제에 직면함
기존 개별 자산 기반 ACL 모델은 조직 변경 시 권한 관리 비효율성과 과도한 접근 권한 부여 문제를 야기함
워크로드 실행 주체를 개인에서 프로젝트 단위의 영구적 식별자(Durable Identity)로 전환하여 안정성 확보
데이터 프로젝트(Data Project)는 자산 그룹화 및 통합 식별자 제공으로 관리 복잡성을 해소하고 데이터 거버넌스(Data Governance) 강화에 기여함
개별 자산 관리의 한계와 프로젝트 단위 추상화
기존 넷플릭스 데이터 플랫폼은 수백만 테이블과 수만 개 워크로드에 대해 개별 자산별 접근 제어 목록(ACL)과 개인 식별자를 사용했음. 이는 조직 개편 시 수백 건의 ACL 업데이트를 수반하며, 관리 부담을 가중시키고 과도한 접근 권한 부여로 이어지는 문제점을 노출했음. 데이터 프로젝트(Data Project)는 이러한 개별 자산 중심 관리에서 벗어나, 관련 자산들을 논리적 컨테이너(Logical Container)로 묶어 프로젝트 단위로 권한과 식별자를 관리하는 추상화 계층을 도입함. 이를 통해 관리 복잡성을 획기적으로 감소시키고 데이터 거버넌스(Data Governance)를 강화함.
워크로드의 영구적 식별자(Durable Identity) 도입
개인 식별자에 종속된 워크로드 실행 방식은 인력 변동 시 워크플로우 실패(Workflow Failure)를 야기하는 고질적인 문제를 안고 있었음. 데이터 프로젝트(Data Project)는 이러한 문제를 해결하기 위해 개인과 분리된 영구적이고 가정 가능한(Durable and Assumable) 애플리케이션 식별자를 제공함. 이 식별자는 프로젝트 자체에 귀속되며, 개인의 라이프사이클과 무관하게 워크로드를 안정적으로 실행시킴. 또한, AWS IAM 역할과 연동하여 보안 및 접근 제어(Security and Access Control)를 강화하고, 개발 환경에서의 테스트 및 문제 해결을 용이하게 함.
그래비티(Gravity)를 통한 자산 자동 관리
데이터 프로젝트의 '그래비티(Gravity)' 속성은 워크로드가 생성하는 신규 자산(테이블, 워크플로우 등)을 자동으로 해당 프로젝트에 포함시키는 메커니즘임. 이는 별도의 구성 없이도 프로젝트의 식별자와 접근 제어 정책을 상속받게 하여, 자산의 발견 및 접근성 문제를 해결함. 결과적으로 데이터 자산의 조직화(Organization of Data Assets)를 자연스럽게 유도하며, 향후 자산 관리 및 접근 권한 부여에 대한 부담을 크게 줄여줌. 이는 데이터 생태계(Data Ecosystem)의 일관성 유지에 중요한 역할을 함.
프로젝트 단위 권한 관리와 역할 기반 접근 제어(RBAC)
기존의 세분화된 ACL 관리 방식 대신, 데이터 프로젝트는 프로젝트 단위의 통합된 권한 관리를 지원함. 사용자, 그룹, 애플리케이션 등 다양한 주체에게 기여자(Contributor), 뷰어(Viewer) 등의 역할(Role)을 부여하여 접근 권한을 제어함. 이를 통해 팀 구성원의 변경이나 역할 전환 시에도 단일 프로젝트 권한 업데이트만으로 모든 관련 자산에 대한 접근 권한을 일괄 관리할 수 있음. 이는 보안 정책(Security Policy)의 일관성을 유지하고 관리 효율성을 극대화하는 데 기여함.
데이터 프로젝트의 확장 가능성과 미래 전망
데이터 프로젝트는 초기 접근 및 식별자 관리 문제를 해결하는 것을 넘어, 데이터 자산 관리의 통합 단위로서 광범위한 잠재력을 지님. 향후 데이터 자산뿐만 아니라 소프트웨어 자산(GitHub 저장소, Spinnaker 애플리케이션), 스튜디오 자산(콘텐츠, 파이프라인)까지 포괄하는 플랫폼 차원의 개념으로 확장될 가능성을 시사함. 또한, 사용량 기반 권한 재조정(Rightsizing Permissions), 비용 추적, 통합 감사 로그 등 다양한 기능 확장을 통해 데이터 엔지니어링 전반의 효율성을 높일 것으로 기대됨.