데이터는 효율적인 비즈니스 활동을 지원하며, 새로운 수익 기회를 창출하고, 탁월한 사용자 경험을 제공하기 위해 사용되어야 하는 필수 요소입니다. 그러나 기업 환경에서 사용되었던 기존 환경, 도구 및 아키텍처는 오늘날 급증하는 데이터 공급 및 수요를 맞추지 못하고 있습니다. 단순한 리포팅 업무, 데이터 시각화 앱 그리고 알고리즘 기반의 고급 AI/ML에 이르기까지 데이터에 의존하는 애플리케이션 및 워크로드는 데이터의 양과 다양성이 증가하면서 사용자 요구사항을 만족시켜주지 못하는 한계에 도달했습니다. 클라우드 기반의 데이터 플랫폼은 새로운 아키텍처가 아닙니다. 모든 데이터를 안전하게 저장하고 일관되게 작동하도록 하는 통합된 서비스입니다. 클라우드 기반의 데이터 플랫폼에서는 분석을 위한 데이터 웨어하우스, 데이터 탐색을 위한 고성능 데이터 레이크, 데이터 수집 및 변환을 위한 데이터 엔지니어링, ML 모델을 작성하는 데이터 과학, 데이터 애플리케이션 개발 및 운영, 승인된 사용자에게만 데이터를 안전하게 공유하기 위한 데이터 교환 기능이 모두 가능합니다.
1. Cloud Data Platform에 빠르게 적응
지난 40년 동안 소프트웨어 산업은 데이터 저장 및 분석을 위한 다양한 솔루션을 제공해 왔습니다. 이러한 데이터 관련 솔루션 중 가장 눈에 띄는 것은 데이터 웨어하우스와 데이터 레이크입니다. 사용자는 이와 같은 솔루션을 통해, 기업용 애플리케이션에서 생성하는 기존 정형 데이터와 웹 사이트, 모바일, IoT 디바이스 및 기타 데이터 소스에서 생성되는 새로운 데이터를 데이터 분석 용도로 모두 활용할 수 있었습니다. 그러나 전통적인 데이터 웨어하우스와 데이터 레이크는 너무 복잡하고 큰 비용 투자가 필요하기 때문에, 제한된 유즈케이스와 워크로드에 대해서만 사용되어 왔습니다. 오늘날 모든 기업은 데이터를 핵심 가치로 정의하였지만, 기존 솔루션 및 아키텍처는 민첩하게 대응하지 못하고 있으며 클라우드 환경에서 제공하는 무제한에 가까운 객체 저장소, 유연하고 확장 가능한 컴퓨팅 리소스의 기본 기능을 제대로 활용할 수도 없었습니다. 지난 10년 동안 온-프레미스 환경을 위해 설계, 개발되어 제공된 DW 및 데이터 레이크 공급 업체의 솔루션은 클라우드 환경으로 마이그레이션되어 제공하고 있습니다. 대다수 1세대 클라우드 데이터 솔루션은 온-프레미스 환경에서 제공되는 제품보다 개선된 성능 및 낮은 가격을 제공하고 있지만, 솔루션 아키텍처가 처음부터 클라우드용으로 설계되지 않았기 때문에 클라우드 환경에서 제공하는 다양한 혜택을 제대로 활용할 수 없습니다. 전통적인 EDW는 기업 내의 존재하는 정형 데이터를 분석하여 비즈니스 의사 결정을 위한 용도로는 올바르게 동작했습니다. 데이터 분석에 대한 요구 사항이 꾸준히 증가함에 따라 이러한 솔루션은 오늘날 기업 환경에서 생성되는 데이터양, 속도, 다양한 데이터 유형 및 분석 워크로드를 수용할 수 없습니다. 데이터 중심으로 변화를 시도하는 기업들은 다양한 유형의 데이터를 지원하면서, 새로운 유형의 분석 업무를 수용할 수 있고, 자동화된 데이터 파이프라인 기능을 지원하면서, 데이터를 안전하게 공유하고, 계속 증가하는 분석 워크로드를 빠르고 간편하게 확장할 수 있는 단일 데이터 플랫폼이 필요합니다. 이 단일 플랫폼은 대용량 데이터를 수용할 수 있어야 하며, 성능 및 동시 사용성을 보장해야 합니다. 즉, 새로운 개념의 클라우드 기반의 데이터 플랫폼이 필요합니다.
1.1 Cloud Data Platform 정의
현대화된 클라우드 데이터 플랫폼은 그림 1-1과 같이 레거시 데이터 웨어하우스 및 데이터 레이크의 장점을 그대로 계승하면서 클라우드 플랫폼에서 제공하는 이점을 동시에 제공해야 합니다. 이러한 플랫폼은 다음과 같은 네 가지 기본 사항으로 구축되어야 합니다:
» 다양한 워크로드를 지원하는 단일 데이터 플랫폼
» 모든 데이터에 대한 안전한 데이터 접근 및 데이터 거버넌스 기능 제공
» 빠른 성능 및 용이한 확장성
» 별도의 유지 관리 불필요(Zero-maintenance) 및 비용 효율적인 클라우드 서비스를 통한 즉각적인 서비스 및 사용 편의성 제공
1.2 Multi-Cluster Shared Data Architecture에 대한 이해
전통적인 데이터 플랫폼은 물리적 노드에 배포되어 단일 클러스터를 구축하는 방식입니다. 물리적 노드(제한된 컴퓨팅 및 스토리지 리소스만 사용 가능)에 클러스터를 구성하는 방식은 동시에 실행되는 쿼리 작업 수 제한을 의미합니다. 클라우드 기반의 멀티-클러스터, 공유 데이터 아키텍처를 사용하면, 컴퓨팅과 스토리지 리소스가 분리되어 구축되기 때문에 클라우드에서 제공하는 확장성과 탄력성 및 유연한 아키텍처를 통해 컴퓨팅과 스토리지 계층을 워크로드 기반으로 독립적으로 확장하여 사용 가능합니다. 이를 통해, 데이터 파이프라인 기반의 데이터 수집, 처리 워크로드와 데이터 분석가 및 과학자들이 수행하는 분석 또는 AI/ML 워크로드가 동시에 동일한 데이터-셋을 대상으로 수행되더라도 성능 간섭 현상 없이 처리 가능합니다. 다중-클러스터, 공유 데이터 아키텍처는 논리적으로 통합되어 있지만, 다음과 같은 세 개의 독립된 계층으로 구성되어 있습니다:
- Storage: 모든 정형 및 반정형 데이터를 위한 단일 데이터 저장소
- Compute: 워크로드 유형에 따른 리소스 경합을 제거하기 위한 개별 워크로드 전용의 독립된 실행 환경
- Services: 인프라, 보안, 메타 데이터 및 쿼리 최적화 기능을 담당하는 공통 서비스 계층
이상적으로 이 아키텍처는 클라우드 애그노스틱(별도의 클라우드 지식 없이도 사용할 수 있어야 함)이여야 하며, 사용하는 클라우드 플랫폼과 상관없이 개별 클라우드 리전 및 모든 클라우드 인프라에 일관된 서비스 계층을 제공해야 합니다(그림 1-2 참조). BLOB 기반으로 구축된 스토리지 계층은 확장 가능한 특징을 제공하기 때문에 정형 및 반정형과 같은 모든 데이터를 모두 저장 가능하며, 단일 클라우드 및 멀티-클라우드 환경에 대해서도 멀티-리전에 걸쳐 서비스를 제공해야 합니다. 컴퓨팅 계층은 대용량 데이터를 처리할 수 있어야 하며, 개별 워크로드가 사용할 전용 클러스터 수를 지정하거나 실행 환경이 자동으로 확장되는 기능을 제공해야 합니다. 서비스 계층은 데이터 로드 및 쿼리 작업을 동시에 실행할 수 있도록 모든 워크로드에 대한 작업을 조정해야 합니다.
1.3 Cloud Data Platform의 필요성
모든 기업들은 데이터를 통해 다양한 비즈니스 업무를 수행하며 새로운 미래 기회를 발견합니다. 이를 위해 더 많은 양과 다양한 데이터를 쉽게 사용할 수 있고 일관된 방식으로 데이터를 통합하여 저장하고 관리하기 위한 데이터 플랫폼이 필요합니다. 또한, 기업 내 다양한 부서뿐만 아니라 고객, 관계사 및 협력사 등의 비즈니스 에코 시스템 내에서 데이터를 분석하고 공유할 수 있어야 합니다. 클라우드 데이터 플랫폼은 다음과 같은 세 가지 기술 동향을 통해 오늘날 주목받고 있습니다.
» 클라우드 시대 도래: 기존 데이터 센터 인프라는 정의된 데이터 관리 작업에 맞춰 사이징을 했으며, 데이터 및 워크로드 증가를 예측하여 인프라 개선 활동을 비정기적으로 수행해야 했습니다. 클라우드는 데이터 저장 및 처리를 무제한으로 제공하기 때문에, 중앙 집중식 데이터 플랫폼에서 기대하지 못했던 제약 없는 동시 워크로드가 유연하게 가능해졌습니다.
» 데이터의 폭팔 적인 증가: 인터넷, 모바일, 소셜 미디어 및 IoT 확산으로 인해 데이터의 양 및 다양성이 계속해서 증가하고 있습니다.
» 분석 워크로드의 다양화: 오늘날의 모든 기업의 사용자들은 데이터 분석가이기 때문에, 데이터를 분석하는 시점, 장소 및 방법은 기업 전체에서 데이터 분석의 민주화로 인해 빠르게 변화하고 있습니다. 데이터에 대한 수요가 계속 증가함에 따라 데이터 분석은 과거 데이터 분석에서 현재 데이터 모니터링을 거쳐 미래 예측 및 예방 분석으로 다양화되었으며, 점차 더 많은 비즈니스 프로세스의 중심이 될 것입니다.
2. 데이터의 기하급수적인 증가와 다양성에 대한 고려
데이터 발전 역사를 살펴보는 것은 오늘날 클라우드 데이터 플랫폼에 대한 요구사항을 이해하는 데 도움이 됩니다. 얼마 전까지만 해도 기업은 CRM, ERP, SCM 및 기타 비즈니스 애플리케이션에서 생산하는 데이터만을 사용했습니다. 데이터의 양은 매우 제한적이였으며, 데이터 증가도 예측이 가능했습니다. 오늘날의 비즈니스는 과거에 활용한 기업용 애플리케이션뿐만 아니라 모바일, 웹 사이트, PoS 및 IoT 장치에서 생성하는 예측 불가능한 데이터를 필요합니다. 일부 기업은 데이터를 기반으로 사업을 수행하고 있습니다. 온-프레미스 레거시 데이터 플랫폼 및 1세대 클라우드 기반의 데이터 플랫폼은 오늘날의 데이터 속성을 감당할 수 없습니다. 대부분은 반정형 데이터이기 때문에 전통적인 DW에서 처리 할수 없으며, 이미지 및 오디오 파일과 같은 비정형 데이터들은 BLOB 스토리지에 저장되어야 합니다.
2.1. 전통적인 데이터 관리 접근 방식의 문제점 검토
이에 대응하여, 많은 기업들은 전사 리포팅 업무를 위한 데이터 웨어하우스 시스템, 부서 단위의 비정형 리포팅 및 분석을 위한 데이터 마트, 데이터 탐색을 위한 데이터 레이크와 같은 데이터와 워크로드 유형에 따라 개별적인 시스템을 구축하였으며, 이처럼 사일로 환경으로 구축된 개별 데이터 플랫폼 간의 데이터 교환을 위해 ETL 솔루션을 사용하여 데이터 파이프라인을 구현했습니다. 이러한 "포인트 솔루션"들은 독립적인 하드웨어 및 소프트웨어가 필요하며, 사일로인한 아키텍처 복잡도 증가에 따른 관리 및 유지보수 어려움의 문제점이 발생하였습니다. 오늘날 기업내에 존재하는 데이터 플랫폼에 대한 다양한 요구 사항을 충족하는데 필요한 성능, 확장성 및 동시 사용자 작업 요청을 완벽하게 처리 할 수 있는 데이터 플랫폼이 존재한다면 어떨까요? 기존의 분석 환경을 살펴보도록 하겠습니다. 온-프라미스 EDW는 사전에 정의된 정형 데이터에 대해서만 동작하도록 설계되었습니다. 일부 클라우드 기반의 데이터 웨어하우스는 정형 및 반정형 데이터를 모두 수용할 수 있도록 설계되었지만, 다음에 살펴볼 내용과 같이 현대화된 데이터 플랫폼과 달리 다양한 데이터 유형의 데이터에 대해 여러 다른 워크로드를 수용하면서 다양한 작업을 독립적으로 실행하면서 확장 가능한 아키텍처의 유연성이 없습니다. 예를 들면, 스트리밍 데이터를 수집하는 기능입니다. 즉, 클라우드 기반의 데이터 웨어하우스는 전통적인 EDW와 비교해서 개선된 탄력성과 가격/성능을 제공하는데 도움이 될 수 있지만, 급증하는 사용자의 다양한 작업을 수용하는 데는 제한적입니다. 이러한 제약 사항을 해결하기 위한 방안으로 반정형의 원시 데이터를 대량으로 저장 및 처리할 수 있도록 데이터 레이크가 탄생되었습니다.
- 데이터 레이크 등장 배경: 초창기 데이터 레이크에 사용된 핵심 기술은 범용 하드웨어 간의 데이터 저장 및 처리를 분산으로 수행하는 Apache Hadoop 에코 프로젝트를 기반으로 했습니다. 해당 에코 프로젝트에는 데이터를 수집하고 처리하기 위한 도구도 포함되어 있습니다. 불행하게도 대부분의 Hadoop 기반의 데이터 레이크 프로젝트는 데이터 변환 및 통합을 위한 프로그래밍 개발을 요구했기 때문에 결과로 많은 가치를 창출하지 못하였습니다. 포레스터 분석가인 "Noel Yuhanna"의 "Big Data Fabric 2.0 Drives Data Democratization(May 9, 2019)" 보고서에 따르면, 단순하게 많은 양의 다양한 데이터를 Hadoop 기반의 데이터 레이크에 저장한다는 것은 데이터 변환, 강화와 같은 추가 작업 없이 의미 있는 새로운 통찰력을 생성할 수 없다고 판단했습니다. 데이터 레이크는 데이터 웨어하우스가 할 수 없는 일, 즉, 데이터 유형과 관계없이 모든 데이터를 단일 데이터 저장소에 저장하는 목표는 달성했지만, 비즈니스 사용자는 이 방대한 데이터를 분석하는 데 어려움을 경험하였으며, 대다수의 기업들은 데이터 레이크를 운영하기 위해 전문가를 채용하고, 해당 팀을 유지하는 데 어려움을 겪었습니다. 또한, 보안 및 데이터 거버넌스를 위한 기능을 제공하지만, HIPPA, 금융 데이터 보안을 포함한 보안 표준(PCI DSS) 및 일반 데이터 보호 규정(GDPR)과 같은 데이터의 보안 및 개인 정보 보호를 위한 산업 표준을 준수하도록 설계되지 않았습니다. 데이터 보안의 취약성을 해결하기 위한 적절한 데이터 보안 제어와 데이터 거버넌스 체계가 없다면 데이터 레이크는 사용이 불가능한 비정형 데이터 늪이 될 수 있습니다. 데이터양이 많고 다양화될 수록 이 문제는 더욱 심각해집니다.
- 클라우드 활용: 데이터 레이크나 데이터 웨어하우스 시스템에 모든 유형의 데이터를 저장하는 것은 비용이 빠르게 증가하며, 대용량 데이터-셋 기반으로 분석 업무를 수행하는데 얼마나 많은 컴퓨팅 및 스토리지 리소스가 필요한지 예측하기는 매우 어려우므로, 불필요하게 과도한 리소스를 프로비저닝 하는 경향이 있습니다. 간헐적으로 발생하는 사용량 급증을 처리하기 위해 실제로 요구되는 것보다 더 많은 리소스를 투자해야 합니다. 시스템의 최대 부하를 기반으로 플랫폼을 구축하더라도 해당 플랫폼이 대중화되고 데이터 및 워크로드가 증가하면 시스템 용량을 쉽게 초과할 수 있습니다. 이와 같은 이유로 동시에 여러 워크로드의 작업 요청이 있는 경우, 클러스터의 제한된 컴퓨팅 및 스토리지 리소스 경합이 발생하며 요청받은 작업은 큐잉되기 때문에 중요한 워크로드를 위한 사일로 된 분석 환경을 구축해야되며, 이는 또 다른 문제를 야기하는 원인이 됩니다. 아무리 잘 계획된 용량 산정은 정확하게 미래의 워크로드를 예측할 수 없으며, 그렇다고 워크로드를 위한 리소스를 계속 증설할 수도 없습니다. 이러한 문제점을 해결하기 위한 방안으로 일부 클라우드 공급 업체들은 S3, MS Azure Blob 및 GCS와 같은 데이터 레이크를 대체할 수 있는 기능을 제공하고 있습니다. 이와 같은 탄력적인 클라우드 스토리지를 사용하면 원천 데이터를 무제한으로 확장하여 저장할 수 있어서 새로운 스토리지 기반의 2세대 데이터 레이크를 공급할 수 있게 되었습니다. 객체 스토리지는 데이터와 메터데이터를 포함한 객체로 데이터를 저장합니다. 이 기능을 통해 정형, 반정형 및 비정형 데이터를 객체 스토리지에 저장할 수 있게 되었습니다. 하지만, 고객이 클라우드 기반의 데이터 레이크 솔루션을 사용하면 하둡 기반의 데이터 레이크와 같이 하드웨어 스택을 관리할 필요가 없지만, 여전히 소프트웨어 환경을 구축 및 관리해야 합니다. 사용자가 관리 해야 하는 작업에는 데이터 분석 작업을 수행하기 위해 사전에 수행되어야 하는 사용자 관리, 데이터 암호화, 데이터 거버넌스 및 데이터 파이프라인 작업이 포함되어 있습니다. 그림 2-1은 온-프레미스 데이터 웨어하우스 및 데이터 레이크에서 출발하여 클라우드 기반으로 발전하게 된 배경과 현대화된 클라우드 기반의 데이터 플랫폼으로 진화되는 내용을 보여주고 있습니다. 현대화된 클라우드 데이터 플랫폼만이 모든 유형의 사용자들에게 범용 분석 및 시각화 도구를 지원하기 위한 표준 SQL을 지원하며 동시에 다양한 유형의 데이터에 대해 월등한 성능을 지원하고 있습니다.
2.2 Cloud-Washed Versus Cloud-Built
모든 클라우드 기반의 솔루션들이 모두 동일한 특성이 있지 않습니다. 대부분의 솔루션은 온-프레미스 기반으로 시작했고, 클라우드로 솔루션(Cloud-Washed 솔루션이라고 함) 일부 기능을 마이그레이션 하여 확대 지원하고 있습니다. 이와 반대로, 클라우드 기반의 플랫폼은 처음부터 클라우드 기반으로 설계되었습니다. 클라우드 환경에 최적화된 아키텍처 기반으로 설계된 솔루션을 식별하기 위해서는 다음과 같은 특징을 지원하는지 살펴봐야 합니다:
- 모든 데이터를 위한 중앙 집중식 데이터 스토리지 계층 제공
- 컴퓨팅 및 스토리지 리소스의 독립적인 확장 기능 제공
- 리소스 경합 없이 동시 사용성 보증
- 성능 저하 현상 없이 데이터 로드와 쿼리 작업이 동시에 실행 가능
- 시스템 가용성과 확장을 단순화하기 위해 내장된 복제 기능: 클라우드 리전 간의 복제 기능
- 전체 시스템 일관되게 적용되는 글로벌 메타데이터 서비스
- 데이터를 안전하게 공유하고 활용할 수 있는 기능
앞서 살펴본 현대화된 클라우드 데이터 플랫폼이 갖춰야 하는 속성의 중요성은 다음에 살펴보도록 하겠습니다.
CLOUD의 장점: 사용량-기반의 가격 정책 및 제한 없는 확장성과 같은 클라우드 혜택을 제공하는 데이터 솔루션은 대용량 데이터를 통합하여 저장하기 위한 최적의 대안입니다. 대량의 데이터-세트 및 리소스-집약적인 분석에 적합한 클라우드 특징은 다음과 같습니다:
- 무제한 리소스: 클라우드 인프라는 몇 초 내에 온-디맨드 방식으로 사용자가 원하는 만큼의 리소스를 제공할 수 있습니다. 사용한 만큼만 비용을 지불하기 때문에, 성능 저하 없이 모든 규모의 사용자와 워크로드를 즉시 지원할 수 있습니다.
- 신속한 램프-업: 클라우드 기반의 솔루션을 도입하면, 온-프레미스 시스템을 유지 관리 및 업그레이드하는 지속적인 운영 관리 비용 및 하드웨어, 소프트웨어 및 기타 인프라에 대한 선 투자를 피할 수 있습니다. 이러한 이점을 최대한 활용하여 기업은 분석 업무에 집중할 수 있습니다.
- 단일 데이터 통합 관점: 새로운 유형의 데이터 교환, 마켓 플레이스 및 기타 온라인 데이터 서비스 공급 업체의 등장으로 기업이 필요로 하는 데이터의 일부는 외부 데이터 소스입니다. 외부 데이터의 경우 분석 용도로 사용할 데이터양을 사전에 예측하는 것은 불가능하기 때문에, 클라우드 환경으로 통합하여 사용하기가 쉽고 저렴한 방법입니다.
2.3 단일화된 클라우드 데이터 플랫폼의 장점
오늘날 대부분의 기업들은 데이터양과 관련 없이 정형 및 반정형 데이터를 비용 효율적으로 저장, 로드, 변환하고 분석할 수 있는 더 쉬운 방법을 원하고 있습니다. 데이터 기반으로 비즈니스 모델을 전환하기 위한 기업들은 데이터 활용을 민주화하고 데이터 관리 작업을 자동화하여 조직 내의 모든 사용자들이 광범위한 데이터 분석 워크로드를 수행하기 위해, 단일 저장소에 모든 데이터를 통합하여 수집, 저장 및 분석하여 활용할 수 있는 데이터 플랫폼을 요구하고 있습니다. 클라우드 기반으로 설계된 데이터 플랫폼은 사용자의 모든 요구 사항을 수용하기 위해 사용 방법을 간소화하는 공통 서비스 기능을 제공합니다. 관련 내용에 대해서는 다음에 논의하도록 하겠습니다. 모든 유형의 데이터와 다양한 데이터 워크로드를 단일 플랫폼으로 통합함으로써, 클라우드 데이터 플랫폼은 기존 아키텍처에 내제된 비용을 발생시키지 않으면서 인프라 아키텍처를 단순화하였습니다. 예를 들어, 데이터를 중앙 집중화됨으로써, 사일로 시스템과의 데이터 동기화를 위한 파이프라인 구축이 불필요해졌습니다. 데이터 동기화가 불필요하기 때문에 사용자는 원하는 시점에 정확한 데이터를 활용하여 분석 업무를 수행할 수 있게 되었습니다.
3. 현대화된 클라우드 데이터 플랫폼 선정
기존 데이터 플랫폼은 다양한 이유로 많은 기업에서 요구하는 기능을 충족하지 못하고 있습니다. 새로운 유형의 데이터를 활용하여 분석해야 하는 경우, 시스템 통합 작업에 지연이 발생할 수밖에 없습니다. 예를 들어, 데이터 과학자가 영업 팀에서 요청하는 고객 이탈 방지를 위한 예측 모델을 만든다고 가정해 보겠습니다. 머신 러닝은 데이터 집약적인 작업이기 때문에 새로운 모델을 훈련하기 위해서는 많은 양의 데이터가 필요로 합니다. 이 모델의 성공 여부는 고객 패턴에 대한 클릭-스트림과 같은 새로운 데이터를 많이 수집하여 저장하고 분석하여 활용하는데 달려 있습니다. 또한, 영업 팀은 소셜 미디어 게시물을 통해 고객의 추세, 문제 및 태도를 식별하고자 할 수 있습니다. 이 데이터는 JSON 형태의 반정형 데이터이며, 데이터 분석가는 영업팀의 요구사항을 충족하기 위해, 이 데이터와 관계형 데이터베이스에 저장된 정형 데이터와 함께 시각화하여 사용하려고 합니다. 만일 제품 및 판매 위치를 나타내는 지리 정보 데이터와 함께 분석한다고 생각해 보십시오. 기존 데이터 플랫폼은 새로운 데이터 엔지니어, 데이터 과학자 및 데이터 분석팀이 요구하는 새로운 데이터를 획득하고 활용하는 데 불편하고 어려우면 구축하는 데도 오랜 시간이 걸립니다.
3.1 고객의 분석 요구사항 검토
그림 3-1은 현대화된 클라우드 데이터 플랫폼에 요구되는 사항입니다. 사용자 자신의 요구 사항이 무엇인가요? 기존에 활용한 데이터와 새로운 데이터를 통합하여 분석하고자 하는 요구 사항이 있을 수 있습니다. 또는, 데이터 수집 아키텍처를 개선하고자 하는 요구 사항일 수도 있습니다. 데이터의 가치가 증가함에 따라 데이터 수익화로 비즈니스 모델을 전환하는 요구 사항일 수도 있습니다. 새로운 워크로드가 추가되지 않더라도 데이터 증가에 따라 레거시 온-프레미스 또는 클라우드 기반의 데이터 플랫폼이 대용량 데이터를 지원하지 못하는 경우도 마찬가지 입니다. 데이터가 이전보다 빠르게 증가함으로써, 현재 아키텍처에서 시스템을 확장하는 데 너무 큰 비용이 소요될 수도 있습니다. 클라우드 플랫폼으로 마이그레이션해야 하는 이유든, 비즈니스에 관련된 이유든, 기술적인 이유든 최적의 클라우드 데이터 플랫폼을 선택하기 위한 4가지 "필수 사항"에 관련된 기본 원칙은 다음과 같습니다:
» 다양한 워크로드를 위한 단일 데이터 플랫폼
» 모든 데이터에 대한 안전한 데이터 접근과 데이터 거버넌스 기능 제공
» 데이터 및 워크로드 증가에 따른 유연한 확장성
» 유지 관리 작업이 불필요하고, 사용량 기반의 서비스로 제공
3.2 모든 워크로드를 위한 단일 데이터 플랫폼
모든 유형의 분석 워크로드 성능을 극대화하기 위해서는 매우 탄력적인 클라우드 환경이 필요합니다. 플랫폼은 컴퓨팅 성능과 스토리지 용량의 정확한 균형을 포함하여 개별 워크로드에 대한 최적의 리소스가 동적으로 할당되어야 합니다. 데이터 엔지니어, 과학자 및 분석가에 의해 실행되는 워크로드는 플랫폼에서 제공하는 리소스 경합이나 데이터 지연 없이 동일한 데이터에 대한 작업을 원활하게 수행되어야 합니다. 이 플랫폼은 기업 내에서 사용되는 3rd 도구를 지원해야 하며, 플랫폼 내에서 수행되는 데이터 저장, 처리, 트랜잭션 관리, 데이터 보안 및 메타데이터 관리에 대한 모든 것을 자동화해야 합니다. 단일 클라우드 데이터 플랫폼은 데이터 분석가, 데이터 과학자, 데이터 엔지니어 및 애플리케이션 개발자의 다양한 요구사항을 지원합니다. 데이터 플랫폼이 클라우드 기반으로 올바르게 설계 된다면, 모든 워크로드는 무제한으로 확장되어 수행될 수 있으며, 수천 명의 사용자가 성능 병목 현상 없이 동시에 데이터를 분석하고 공유할 수 있습니다.
3.3 데이터 보안 및 거버넌스
클라우드 데이터 플랫폼은 모든 산업 및 나라의 데이터 보안 규정을 준수하면서 데이터 침해를 방지하기 위해 데이터를 보호하고 관리하는 방법을 단순화하는 데 중점을 두어야 합니다. 데이터 보안은 다음과 같은 세 가지 필수 요소가 고려되어야 합니다:
» 기밀성: 데이터에 대한 허가되지 않은 사용자 접근 방지
» 무결성: 데이터가 수정되거나 손상되지 않도록 적절하게 관리되어야 함.
» 협업: 서로 다른 팀에서 승인된 데이터-세트에 대해 협업 할 수 있는 방법 제공
클라우드 데이터 플랫폼은 데이터 보안 및 종합적인 데이터 거버넌스 기능을 제공해야 합니다. 이를 통해, 어떤 유형의 쿼리, 워크로드, 애플리케이션 또는 프로시저에 의해 호출되는지에 관계없이 권한을 부여받은 사용자만이 데이터에 접근할 수 있기 때문에 일관된 결과를 제공할 수 있습니다. 데이터는 기업의 중요한 자산입니다. 데이터 사용을 극대화하기 위해서는 기업 내의 데이터를 안전하게 관리되고 올바르게 사용되도록 통제되어야 합니다.
3.4. 플랫폼 관리 및 운영(Zero-Maintenance) 불필요
레거시 데이터 시스템은 데이터를 물리적 노드에 저장하고 기업 네트워크 환경에서만 접속하여 사용할 수 있었습니다. 데이터 분석이 점차 중요해 짐에 따라 레거시 시스템에 너무 많은 동시 사용자와 급증하는 데이터로 인해 성능이 저하되었습니다. 데이터 플랫폼을 클라우드 사상에 맞게 설계하면, 사용자 워크로드 실행 환경은 클라우드 인프라를 통해 자동으로 프로비저닝 할 수 있기 때문에 컴퓨팅 리소스를 워크로드에 맞게 자동으로 조정할 수 있습니다. 이는 동일한 데이터에 대해 기존 실행 중인 워크로드 성능에 영향을 주지 않으면서 확장되어 제공됩니다. 모든 기업들은 데이터 기반으로 비즈니스 모델을 확대 적용하기를 원하지만, 데이터베이스 유지 보수, 시스템 / IT 관리에 지속적인 투자를 확대하고 싶지 않습니다. 클라우드용으로 설계, 개발된 현대화된 클라우드 데이터 플랫폼을 사용하면 플랫폼 구축을 위한 인프라 설계, 인프라 프로비저닝 또는 복잡한 소프트웨어 환경을 관리하지 않고도 데이터에 관련된 다양한 작업을 수행할 수 있습니다. 완벽한 클라우드용 데이터 플랫폼은 보안을 필요한 플랫폼의 모든 관리 기능이 제품의 일부로 제공되어야 합니다. 이로 인해 현대화된 클라우드용 데이터 플랫폼을 도입한 기업은 진정으로 IT 역량 강화가 아닌 데이터 분석 업무에 집중할 수 있음을 의미합니다.
4. 왜 데이터 플랫폼을 클라우드에 구축해야 하는가?
앞서 우리는 클라우드 사상에 맞게 설계/개발된 데이터 플랫폼의 가치를 살펴봤습니다. 여기에서는 클라우드 데이터 플랫폼에 대한 주요 고려 사항과 이 솔루션이 기존 온-프레미스 환경에 구축하는 것과 비교하여 더 적은 비용으로 더 많은 가치를 제공하는 이유를 살펴보도록 하겠습니다. 가장 중요한 점은 현대화된 클라우드 데이터 플랫폼은 진화적이면서 동시에 매우 혁신적이라는 점을 명심해 주시기 바랍니다.
» 진화(Evolutionary): IT 산업은 온-프레미스 환경에서 데이터 플랫폼을 탄생시켰습니다. 시간이 지남에 따라 새로운 솔루션은 기존 솔루션의 기능과 혁신을 기반으로 진화되어 왔으며, 다양해졌습니다. IDC에 따르면, 분석 워크로드의 75%가 여전히 온-프레미스 환경에서 수행되고 있고, 25%만이 클라우드로 마이그레이션 되었습니다. 이 비율은 2023년까지 50/50으로 전환될 것으로 예측하고 있습니다.
» 혁신(Revolutionary): 대부분의 레거시 데이터 플랫폼은 클라우드 시대 이전에 설계 및 개발되었습니다. 플랫폼을 구성하는 물리적 노드의 제한된 리소스만을 활용하고 데이터 센터에 배포/구축되도록 설계되었습니다. 리소스를 추가하기 위해서는 물리적 노드를 클러스터에 추가 구성해야 함을 의미합니다. 하지만, 클라우드용 데이터 플랫폼은 탄력적인 스토리지와 컴퓨팅 리소스를 활용하도록 설계되었습니다.
4.1 가치 실현 시간(Time to Value) 평가
오늘날 기업은 빠르게 분석 시스템을 온-프레미스 데이터 센터에서 클라우드로 마이그레이션하고 있습니다. 클라우드로 마이그레이션 하는 데는 몇 가지 주요 이유가 있습니다. 첫 번째 이유가 봐로 "Time to value"입니다:
오늘날의 기업은 빠르게 분석 시스템을 온-프레미스 데이터 센터에서 클라우드로 마이그레이션하고 있습니다. 클라우드로 마이그레이션 하는 데는 몇 가지 주요 이유가 있습니다. 첫 번째 이유가 바로 "Time to value"입니다: 데이터 센터에 분석 플랫폼을 구축하는 데는 적게는 6개월에서 많게는 1년 이상이 소요될 수 있습니다. 이 구축 기간 동안 플랫폼 요구 사항이 비즈니스 이해 관계자에 의해 변경될 수도 있으며, 프로젝트 투입 직원의 이직, 기업 수익 구조 변경, 경기 변화를 포함한 기업 내/외부의 다양한 요소에 의해 리스크는 증가할 수 있습니다.
4.2 초기 환경 구축 비용 산정
두 번째 이유는 온-프레미스 환경에 구축할 때 필요한 초기 비용입니다. 데이터 플랫폼을 데이터 센터에 구축하기 위해서는 1) 인프라 비용, 여기에는 하드웨어 도입, 네트워크 및 데이터 센터 공간에 관련된 모든 비용이 포함되며, 2) 소프트웨어 라이센스 비용, 일부 솔루션은 사용자 및 리소스에 대한 추가 비용이 발생할 수 있으며, 3) 하드웨어 및 소프트웨어에 대한 연간 유지 보수 비용, 일반적으로 구매 비용의 20% 또는 년 단위 서브스크립션 비용이 발생하며, 4) 미션-크리티컬한 업무를 호스팅하는 경우, DR 환경을 구축해야 비용이 발생합니다.
4.3 시스템 사이징
온-프레미스 환경에 데이터 분석 플랫폼을 구축하기 위해서는 전문가가 요구사항을 명확하게 분석한 뒤, 시스템의 크기를 산정해야 합니다. 일반적으로 시스템 사이징은 피크-시점을 기준으로 산정해야 하므로, 실제로 사용되지 않는 리소스에 대해서도 비용을 투자해야 하는 경우가 많습니다. 시스템 사이징을 잘못 산정한 경우 시스템 부하 시 장애가 발생합니다. 전문가에 의해 수행되는 시스템의 사이징은 다음을 포함합니다:
» CPU 사이징
» 메모리 사이징
» 데이터 저장을 위한 디스크 수 및 볼륨 크기
» I/O Bandwidth(특정 시점에 전송할 수 있는 데이터의 양)
4.4 전문 인력 고용
데이터 및 분석 프로젝트 기간 동안 온-프레미스 솔루션을 구축, 배포, 구성 및 유지 관리할 숙련된 IT 직원을 채용하고 유지해야 합니다. 예를 들어, 기존 데이터 레이크 플랫폼의 경우, Java 및 Spark 개발 경험을 포함한 Hadoop 에코 프로젝트를 잘 알고 있는 전문가가 필요합니다. 이러한 숙련된 전문가는 데이터 분석 작업보다는 인프라 관리와 같은 작업에 많은 시간을 할애해야 합니다. 개발, 유지 관리 및 문제 발생 시 해결할 전문가가 없는 경우, 시스템 문제는 장기화 될 수 있습니다. 보안으로 확대 적용해보면, 온-프레미스 데이터 플랫폼을 선택하는 경우 방화벽을 포함한 네트워크 보안, 데이터 암호화, 사용자 역할 및 접근 권한 제어에 대한 지속적인 관리 및 대응이 필요합니다. 즉, 민감한 데이터에 대한 보안 체계 구축, 사이버 보안 대응 체계 구축은 복잡하고 비용이 많이 듭니다. 보안이 구축되지 않은 데이터 플랫폼에 보안 사고가 발생한 경우 소송을 포함한 더 많은 잠재 비용이 발생할 수 있습니다.
4.5 데이터 보호 및 복구
모든 정보 시스템은 장비 고장, 정전 및 자연재해로 인한 데이터 손실 가능성이 존재합니다. 온-프레미스에 시스템을 구축한 경우, 데이터 유실을 방지하기 위해 DR 사이트를 구축해야 하며, 정기적으로 데이터를 DR 사이트로 백업해야 합니다. DR 사이트 구축 및 유지 보수에 관련된 비용이 발생합니다. 또한, 장애가 발생한 경우, 허용된 시간 내에 시스템 및 데이터를 복구하기 위한 절차가 사전에 마련되어 있어야 합니다. 즉, 온-프레미스 환경에서 데이터 보호 및 복구를 위한 DR 사이트 구축은 운영 시스템 구축과 별도로 구축해야 하는 부분이며, 이에 대한 비용도 운영 시스템과 유사하게 투자되어야 합니다. 클라우드 서비스는 이러한 백업 및 복구 기능이 서비스의 부분으로 포함되어 있습니다. 데이터는 스토리지 영역에 분리되어 저장되며, 여러 가용 영역에 자동으로 백업되고 보호됩니다. 문제가 발생한 경우, 신속하게 복구할 수 있습니다. 최적의 데이터 플랫폼은 멀티-클라우드 환경을 지원해야 하며, 여러 클라우드 환경에 데이터 플랫폼을 쉽고 빠르게 마이그레이션 할 수 있어야 합니다.
4.6 다양한 플랫폼 및 도구의 차이점 이해
특정 데이터 플랫폼 공급 업체는 자신의 플랫폼이 완벽하다고 설명하지만, 그 플랫폼의 탄생 배경을 살펴봐야 합니다. 대다수의 기업용 소프트웨어 공급 업체는 주로 온-프레미스 데이터 센터에서 실행되도록 설계되었습니다. IT 환경에 변화함에 따라, 온-프레미스 용 솔루션 공급 업체는 레거시 솔루션을 클라우드로 마이그레이션 하기 위해 대대적인 노력을 기울였습니다. 하지만, 온-프레미스 기반에서 설계된 아키텍처는 태생적으로 클라우드에서 제공하는 동적 실행 환경이 아닌 정적 실행 환경에서 실행되도록 설계되어 있어서, 완벽하게 클라우드에 적용하는 것은 결코 쉬운 작업이 아닙니다. 따라서, 많은 소프트웨어 공급 업체는 특정 작업을 처리하는 "포인트" 솔루션을 인수하고 이를 클라우드 제품의 툴킷에 통합하는 접근법을 취하고 있습니다. 초창기 클라우드 시대에 솔루션 벤더는 IaaS 기반으로 자체 솔루션을 클라우드 환경에서 지원하는 것으로 시작하였습니다. 고객사의 클라우드 적용이 가속화됨에 따라, 솔루션을 PaaS 형태로 변경하게 되었습니다. PaaS 기반의 솔루션은 클라우드 적용이 완료된 것으로 보일 수 있지만, 다양한 사용자 히든 작업이 숨겨져 있습니다. 하지만, PaaS 기반의 솔루션의 긍정적인 영향력은 SaaS 계층의 토대를 마련하는 계기가 되었습니다. 클라우드 데이터 플랫폼을 사용하면, 사용자는 인프라 구축 및 관리가 아니라 데이터 분석 작업에 더 많은 시간을 할애 할 수 있습니다. 스토리지 및 컴퓨팅 리소스는 개별 워크로드의 변화하는 요구 사항을 충족할 뿐만 아니라 많은 동시 워크로드에 대해 성능 저하 없이 독립적이고 탄력적으로 워크로드 실행 환경을 확장할 수 있습니다. 태생적으로 유연한 시스템 용량을 제공하기 때문에 사용자가 요청하는 시점에 시스템 리소스를 확보할 수 있습니다. 그러나 모든 클라우드 데이터 플랫폼이 동일한 기능을 제공하는 것이 아니기 때문에 데이터 플랫폼이 올바른 클라우드 아키텍처로 설계되어 있는지 확인해야 합니다. 클라우드 데이터 플랫폼은 온-프레미스 솔루션보다 더 매력적인 가격 체계를 제공하고 있습니다. 온-프레미스 시스템 개발 및 구현과 관련된 CapEx 기반의 높은 투자 비용은 클라우드 솔루션의 사용량 기반의 저렴한 OpEx로 대체됩니다.
5. 다양한 클라우드 데이터 플랫폼 비교
클라우드 데이터 플랫폼은 최초 온-프레미스 환경에서 개발된 솔루션을 클라우드화시킨 것도 있으며, 처음부터 클라우드에 맞게 설계되어 개발된 솔루션도 있습니다. 두 개의 클라우드 데이터 플랫폼은 동일하게 취급해서는 안 됩니다. 여기에서는 두 가지 클라우드 플랫폼의 기술과 차별성을 알아보도록 하겠습니다.
5.1 오늘날 사용자들이 데이터를 사용하는 방식
오늘날 기업 내의 모든 직원들이 일정 수준의 데이터를 소비하고 있습니다. 모든 직원들이 데이터 소비자이지만 데이터 요구 사항은 모두 다릅니다. 예를 들어, 임원을 포함한 현업 사용자들은 직관적인 차트나 대시보드를 통해 데이터를 시각화하기를 원합니다. 데이터 분석가들은 원시 형태의 데이터를 더 잘 활용 할 수 있습니다. BI 도구에서 데이터를 로드하여 리포트를 생성하여 데이터를 분석하거나, 직접 SQL 문을 작성하여 ad-hoc 쿼리 형태로 데이터를 분석할 수도 있습니다. 데이터 분석가들은 데이터 모델을 만들고, 테이블을 조인하여 사용하는 데 익숙합니다. 데이터 과학자는 ML 모델을 개발하고 학습시키는데 대용량 데이터-셋을 사용합니다. 데이터 엔지니어는 다양한 데이터 소스에서 생성되는 데이터를 수집하고, 데이터 저장소에 저장하는 작업을 수행합니다. 데이터 파이프라인과 ETL 도구를 사용하여 실시간 또는 배치 모드로 데이터 관련 작업을 수행합니다. 기업 내 모든 직원들은 증가하는 데이터에 실시간으로 접근하여 사용할 수 있는 데이터 플랫폼을 원하고 있습니다.
- 데이터 접근 및 협업 민주화: 협업 사용자, 데이터 분석가, 데이터 엔지니어, 데이터 과학자 및 애플리케이션 개발자는 일관된 사용자 경험을 보장하기 위해 단일 데이터 플랫폼에서 작업을 수행해야 합니다. 클라우드 데이터 플랫폼을 올바르게 선정한다면 이러한 요구 사항을 충족할 수 있습니다. 데이터 플랫폼의 사일로를 제거함으로써, 다양한 데이터 사용자들이 동시에 동일한 데이터를 사용할 수 있습니다. 이는 기술적 또는 비즈니스적 원인으로 사일로 된 데이터 플랫폼 환경을 구축 해야 하는 레거시 데이터 플랫폼과 가장 큰 차별성입니다.
- 클라우드 환경의 데이터 위치: 많은 솔루션들이 클라우드 솔루션이라고 하지만, 실제로는 온-프레미스 기반의 솔루션을 단순하게 "리프트 앤 시프트"하였을 뿐입니다. 이상적인 클라우드-기반 플랫폼은 처음부터 클라우드 기반으로 설계 및 개발되어야 합니다. 전통적인 데이터 플랫폼의 데이터 저장 방식인 Share-Nothing 구조는 객체 저장소를 제공하는 클라우드 사상과 상충됩니다. 클라우드 환경의 데이터는 중앙의 단일 데이터 저장소에 저장되기 때문에, 비즈니스에서 필요로하는 전체 데이터를 통합하여 저장할 수 있습니다.
5.2 Cloud Data Platform의 가능성
유연한 클라우드 데이터 플랫폼은 기존 도구인 BI, AI/ML 기반의 고급 분석 및 더욱 새로운 데이터 분석 활동을 지원해야 합니다(그림 5-1 참조). 기존 사일로 환경으로 존재한 데이터 웨어하우스, 데이터 마트 및 데이터 레이크를 단일 데이터 소스로 통합하여, 기존 복잡하게 구현되어 있던 모든 유형의 데이터 저장, 변환, 관리 및 분석 프로세서를 단순화해야 합니다. 또한, 다양한 팀이 데이터를 공유하는 방법을 간소화하여 여러 데이터 복사본을 유지 관리하거나 다른 곳으로 이동할 필요 없이 공통 데이터에 대해 협업 할 수 있어야 합니다. 이 아키텍처 방식은 다중 복사본을 관리할 때 발생하는 비용 및 관리 문제를 최소화해 줍니다. 여기에서 대부분 언급했던 내용과 같이 현대화된 데이터 플랫폼은 오늘날 대다수의 기업에서 요구하는 확장성, 유연성, 보안 및 사용 편의성을 제공하는 멀티-클러스터 공유 아키텍처를 기반으로 합니다. 데이터 저장, 처리, 트랜잭션 관리, 보안, 거버넌스 및 메타데이터 관리에 이르는 플랫폼의 E2E를 자동화하여 협업을 단순화하고 데이터 품질을 강화합니다. 진정한 의미의 클라우드 데이터 플랫폼은 서비스 형태의 사용 편의성, 온-디맨드 및 탄력적인 실행 환경 및 멀티-리전 및 클라우드 환경을 지원해야 합니다.
5.3 Enabling Global Flexibility: Any Workload, Any Cloud
현대화된 클라우드 데이터 플랫폼은 멀티-리전 및 멀티-클라우드 전역에 사용자 요청을 조정해야 합니다. 글로벌 상태 관리(Global State Management) 기술을 사용해 전 세계 모든 클라우드의 모든 데이터에 대한 트랜잭션 무결정을 관리할 수도 있습니다. Shared-All 또는 Shared-Nothing 어떤 방식을 사용하든 DBMS는 트랜잭션 기능을 제공하여 데이터에 대한 무결성을 지원합니다. 또한, 공통 메타 데이터 계층이 일관성을 유지함으로 모든 사용자가 실행하는 다양한 워크로드는 사용자의 위치나 도구와 관련 없이 항상 일관된 결과를 사용자에게 제공합니다. 이러한 고유 기능을 통해 플랫폼은 전 세계 멀티-리전 및 멀티-클라우드 환경에 저장된 데이터를 안전하게 관리 할 수 있게 도와줍니다. 이 유형의 멀티-클라우드, 크로스-클라우드 플랫폼은 다음에 논의할 내용과 같이 데이터 공유, 비즈니스 연속성(DR) 및 지역/산업별 보안 규정 준수에 상당한 이점을 제공합니다.
6. 데이터에 대한 안전하고 통제된 접근 제어
많은 기업 사용자들은 현재 데이터를 공유하고 있으며, 데이터를 공유하기를 원하고 있습니다. 기존 데이터 공유 방법은 새롭게 생성되거나 변경된 데이터를 계속해서 복사 및 전송해야 했습니다. 대 다수의 사용자들은 원천 데이터에 변경이 발생되면 실시간으로 동기화되기를 원하지만 이는 생각 처럼 쉬운 문제가 아닙니다. 일부 기업에서는 FTP 또는 API 방식으로 데이터 동기화 작업을 자동화하고자 노력하지만, 유지 관리에 지속적인 노력이 필요하며 산업 또는 국가별 데이터 보안 및 규제 정책을 거의 준수하지 않은 경우가 많습니다.
6.1 안전한 데이터 공유 아키텍처 구축
온-드맨드 방식으로 안전하게 관리되는 환경에서 라이브 데이터를 원하는 시점에 바로 사용할 수 있다면 어떠할까요? 비즈니스 파트너 또는 여러 부서 간에 데이터를 쉽게 공유하고 데이터 공유를 위해 복사나 동기화 없이 모두가 동일한 하나의 데이터 소스를 사용할 수 있다면 어떨까요? 클라우드 데이터 플랫폼을 사용하면 부서, 자회사, 파트너사, 공급 업체 및 고객과 안전하게 데이터를 공유할 수 있어야 합니다. 현대화된 클라우드 데이터 플랫폼은 기업 내/외부의 데이터 소비자 수와 관계없이 라이브 데이터를 실시간으로 공유할 수 있으며, 모든 데이터는 종단 간 보안, 거버넌스 및 메타 데이터 관리 서비스와 함께 데이터 플랫폼 내에서 유지 관리되고 업데이트됩니다. 데이터 공유를 위한 별도 관리 작업이 추가되지 않습니다. 또한, 데이터가 데이터 공급자에서 소비자로 복사되지 않기 때문에 추가 스토리지를 구매할 필요가 없습니다(그림 6-1 참조). 현대화된 클라우드 데이터 플랫폼은 데이터 일부를 안전하고 관리되는 방식으로 쉽게 공유할 수 있습니다. 내/외부 소비자에게 물리적으로 데이터를 전송하는 방법 대신, 사용자는 라이브 데이터-셋의 일 부분에 대한 읽기-전용 접근 권한을 데이터 소비자에게 부여하여 데이터를 안전하게 공유할 수 있습니다.
- 민감 데이터 보호: DB 테이블에 민감 정보에 대한 데이터 공유는 어떻게 해야 하나요? 민감 정보를 가진 테이블을 공유하면 민감한 정보가 노출됩니다. 데이터 공급자가 개별 테이블에 대한 접근을 제어하고 안전하게 데이터를 공유할 수 있는 플랫폼을 선택해 해야 합니다. 데이터 공급자는 테이블을 데이터 소비자에게 공유하는 것이 아니라 뷰 형식으로 공유 가능한 테이블의 컬럼만을 공유함으로써 데이터를 제어할 수 있습니다. 이 뷰는 소비자에게 접근 권한이 있는 경우에만 사용할 수 있습니다. 클라우드 데이터 플랫폼에서 제공하는 공유는 클라우드 생태계의 승인된 구성원이 플랫폼에 저장된 라이브 Read-Only 데이터에 실시간 접근하여 사용할 수 있게 해줍니다. 이는 데이터 동기화에 대한 파이프라인을 제거함으로써, 데이터 변경에 대한 여러 개의 데이터 복제본을 관리할 필요가 없게 해줍니다. 통합된 데이터 플랫폼을 제공하는 또 하나의 혜택은 데이터를 활용하는 모든 사용자를 통합하여 모니터링할 수도 있습니다.
- 트랜잭션 일관성 보장: 서비스 계층은 현대화된 클라우드 데이터 플랫폼의 핵심입니다. 서비스 계층을 통해 메타데이터, 트랜잭션, 보안 및 다른 관리 기능이 제공됩니다. 데이터 공유 관점에서 서비스 계층은 트랜잭션 일관성을 적용하여 플랫폼 내부 및 공유된 플랫폼 외부 사용자들에게도 일관된 최신 버전의 데이터를 사용할 수 있게 해줍니다. 플랫폼 내부의 사용자가 공유된 데이터를 갱신하면, 모든 데이터 소비자들은 ACID(atomicity, consistency, isolation, 및 durability)-기반 일관성에 따라 갱신된 데이터를 바로 사용할 수 있습니다.
7. 멀티-클라우드 전력으로 옵션 다양화
클라우드 데이터 플랫폼은 멀티-리전 및 멀티-클라우드 내에서 데이터 워크로드를 쉽게 이동할 수 있어야 합니다. 이러한 배포 유연성은 지리적 확장을 지원하며, 비즈니스 연속성을 개선하고, 클라우드 벤더 종속성을 제거할 수 있게 도와줍니다. 클라우드 스토리지 옵션을 사용하면, 데이터를 전 세계 어늘 곳으로든 안전하게 이동하여 사용할 수 있습니다. 다음은 알아야 할 몇 가지 주요 용어입니다:
» 멀티-클라우드(Multi-Cloud)는 AWS, MS Azure 및 GCP와 같은 다양한 클라우드 환경을 사용할 수 있음을 의미
» 크로스-클라우드(Cross-Cloud)는 여러 클라우드 환경에서 동시에 데이터에 액세스 할 수 있을 뿐 아니라 데이터 워크로드를 클라우드 벤더 간에 원할하게 마이그레이션 할 수 있음을 의미.
» 데이터 복제(Data Replication)은 데이터를 두 개 이상의 리전에 저장하여 데이터를 보호하고, 특정 리전에 장애가 발생한 경우에도 가용성을 제공하기 위한 프로세스를 의미.
7.1 비즈니스 연속성 구현
현대화된 클라우드 데이터 플랫폼은 데이터베이스를 자동으로 복제하고, 멀티-리전 및 멀티-클라우드 간 데이터 동기화를 유지하여 가용성을 높이고, 워크로드 장애 조치를 자동화하고, 모든 규모의 데이터베이스에 대한 즉각적인 접근 및 복구를 보장합니다(그림 7-1 참조). 크로스-클라우드 복제는 비즈니스 연속성 및 재해 복구에 매우 중요합니다. 장애가 발생하면, 가동 중지 시간 없이 데이터 및 분석 작업을 즉시 재개할 수 있습니다. 이를 위해, 데이터 플랫폼은 멀티-리전 및 멀티-클라우드 간의 데이터를 자동으로 동기화해야 합니다.
7.2 올바른 요구 사항에 적합한 클라우드 활용
기업 내의 부서별로 데이터 플랫폼에 대한 개별 요구 사항이 있을 수 있습니다. 멀티-클라우드 환경을 지원하면, 이와 같은 다양한 개별 요구 사항을 더 쉽게 충족해 줄 수 있습니다. 모든 클라우드 벤더가 모든 리전에 동일한 서비스를 제공하는 것이 아니기 때문에 이는 글로벌 회사에서 요구하는 사항이 될 수 있습니다. 가장 적합한 데이터 플랫폼은 사용자에게 클라우드 벤더 선택의 유연성을 제공할 수 있어야 합니다. 즉, 클라우드 벤더 락인 요소를 제거해 주어야 합니다. 개별 퍼블릭 벤더들은 사용자의 지역에 리전이 있을 수도 있고 없을 수도 있습니다. 크로스-클라우드 데이터 플랫폼은 전 세계 어디든지 데이터를 자유롭고 안전하게 이동할 수 있어야 하며, 사용자에 요구사항에 맞는 클라우드 벤더를 선택할 수 있어야 합니다.
7.3. 관리 작업 간소화
멀티-클라우드 환경에서 동일한 보안 구성은 어떻게 해야 하나요? 클라우드 벤더 간의 차이점이 존재하는 감사 및 이벤트 로그는 어떻게 해결해야 하나요? 데이터 암호화를 위한 보안키는 어떻게 해야 하나요? 멀티-클라우드 환경에 단일 코드 기반의 플랫폼을 제공하면, 관리 작업을 최소화 할 수 있습니다. 특정 기술 또는 멀티-클라우드에 기술력을 가진 전문가를 채용할 필요가 없습니다. 데이터 플랫폼 공급 업체가 클라우드 환경에 관련 없이 솔루션 관리 작업에 책임집니다. 솔루션은 항상 가용한 상태이며, 최신 버전으로 자동으로 업데이트됩니다.
7.4 보다 광범위하게 데이터 공유 확대 적용
데이터 복제는 특정 데이터를 여러-리전과 클라우드 환경을 사용할 때 데이터를 공유할 수 있게 해주는 기본 기술입니다. 데이터 공유를 더 활성화하기 위해서는, 클라우드 환경에 구애받지 않고 데이터 공유를 위한 데이터 공급자와 소비자를 식별하는 것입니다. 단일 데이터 소스를 사용하면 여러 데이터 저장소 간 동기화 상태를 유지할 필요가 없기 때문에 소모적인 작업들을 제거할 수 있습니다. 데이터가 있는 위치와 관계없이 사용자의 경험을 동일하게 제공됩니다. 예를 들어, 분석가는 동일한 방식으로 AWS, MS Azure 나 GCP에 있는 데이터를 쿼리할 수 있습니다.
8. Secure, Resilient, Always-On 아키텍처 활용
클라우드 데이터 플랫폼은 독창적인 도구나 서비스는 아니지만, 단일 플랫폼에서 1) 분석을 위한 데이터 웨어하우스, 2) 데이터 탐색을 위한 데이터 레이크, 3) 데이터 수집 및 변환을 위한 데이터 엔지니어링, 4) AI/ML 모델 개발 및 학습을 위한 데이터 과학 및 5) 데이터 애플리케이션 개발과 같은 다양한 워크로드들을 지원해야 합니다. 즉, 클라우드 데이터 플랫폼은 다양한 워크로드를 위한 단일 플랫폼으로, 가용성, 안정성, 확장성, 내구성 및 보안과 거버넌스와 같은 기능을 여러 워크로드에 걸쳐 표준화하여 제공할 수 있습니다.
8.1 Reliable, Always Up-to-Date 플랫폼의 이점
클라우드 데이터 플랫폼은 가용성을 항상 보장합니다. 이것은 클라우드 솔루션의 기본 요구 사항입니다. 어떤 SaaS 솔루션을 선정하든 해당 업체는 최소 99.995%의 가용성에 관련된 SLA를 제공해야 합니다. 이는 연간으로 환산해 보면 28분의 중지 시간만을 허용함을 의미합니다. 클라우드 데이터 플랫폼은 가용성, 신뢰성를 제공하면서 동시에 신규 기능이 원활하게 지속적으로 업데이트되어야 합니다. 이 업데이트 작업은 워크로드에 미치는 영향이 없어야 하며, 일반적으로 2주마다 새로운 기능을 반영해야 합니다. 또한, 고객이 원하는 경우까지 특정 업데이트를 연기하는 "Opt out"기능을 제공해야 합니다.
8.2 안전하고, 통제된 플랫폼으로 데이터 보호
데이터 보안 및 산업 및 나라별 정보 보호 규정을 준수하는 것은 클라우드 데이터 플랫폼 서비스 아키텍처, 구현 및 운영의 기본이 되어야 합니다. 서비스의 모든 측면은 데이터를 정기적으로 백업하고, 여러 지리적 위치에 복제하는 것 보다는 데이터 자체를 보호하는데 중점을 둬야 합니다. 클라우드 데이터 플랫폼 공급 업체는 접근 제어, 데이터 저장 및 물리적 인프라와 함께 포괄적인 모니터링 및 알림을 포함한 보안 전략을 지원함을 입증해야 합니다(그림 8-1 참조).
- 인증 및 허가: 클라우드 데이터 플랫폼은 사용자 자격증명을 통해 인증하고, 사용자에게 권한을 부여하며, 허가된 사용자만이 데이터에 접근을 허용해야 합니다. 역할-기반의 접근 통제는 기업 내의 사용자 역할에 따라 제약사항을 적용할 수 있습니다. 접근 제어는 데이터가 저장된 테이블을 포함한 모든 데이터 베이스 및 뷰 객체와 데이터베이스의 구조를 설명하는 스키마에 적용될 수 있습니다. 그러나 강력한 접근 및 권한 제어가 있더라도 사용자 인증 정보(ID/Password)가 해킹될 가능성은 항상 존재하며, 이를 방지하기 위해서는 클라우드 데이터 플랫폼에서는 OTP를 활용한 다중 인증 방식을 지원해야 합니다. 여러 애플리케이션과 인증을 간소화하기 위해서 SSO도 지원해야 합니다.
- 데이터 암호화: 데이터 암호화 및 복호화는 데이터 플랫폼에서 보안의 기본 사항이며, 클라우드 데이터 플랫폼은 데이터 암호화/복호화가 워크로드 성능 영향도 없이 자동으로 항상 실행되어야 합니다. 데이터는 플랫폼 종단 간의 모든 영역(1: 네트워크 구간, 2: 디스크에 저장)에서 암호화되어야 합니다. 쿼리 결과 역시 암호화되어야 합니다. 클라우드 벤더는 계층적 키 관리 모델과 함께 AES-256 암호화 알고리즘을 사용합니다. 이는 암호화 키 자체도 암호화하며, 단일 키를 사용하는 시간을 제한하여 보안을 더욱 강화합니다.
- 데이터 보호, 보존 및 중복성(protection, retention & redundancy) 보장: 플랫폼 보안 관점에서는 모든 데이터베이스 객체들이 데이터 플랫폼 중앙에서 관리하는 것이 다른 보안적인 원칙들 보다 더 효과적인 방식입니다. 예를 들어, 내/외부 데이터 소비자에게 데이터를 물리적으로 전송하는 것은 해당 데이터에 대해 적절한 통제를 할 수 없음을 의미합니다. 데이터 복제는 여러 위치에 데이터를 자동으로 유지 관리하여 특정 리전에 장애가 발생하더라도 데이터를 보호하고 가용성을 확보하기 위한 기술입니다. 장애가 발생한 경우, 클라우드 공급 업체는 SLA에 따라 지정된 보존 기간 내에 테이블 또는 데이터베이스에 있는 이력 정보를 기반으로 데이터를 즉시 복원할 수 있습니다. 데이터의 완벽한 보전 전략은 멀티-존 및 밀티-리전으로 데이터를 복제하는 것을 의미합니다. 지리적 중복성을 고려하여 여러 가용 영역에 데이터를 복제해야 합니다. 이는 클라우드 환경에서 주는 데이터 복제의 장점으로 최대한 활용한 기능입니다.
- 거버넌스 및 컴플라이언스 준수: 데이터 거버넌스는 데이터가 적절하게 접근되어 사용되며, 일상적인 데이터 활동이 기업 내 모든 관련 규정 요구 사항을 준수하도록 도와줍니다. 데이터의 소유권과 접근성을 제어하기 위한 룰과 절차를 거버넌스 정책으로 설정합니다. 규정 준수는 데이터 플랫폼 공급 업체가 필요한 보안 절차를 갖추고 있으며 이를 증명할 수 있는지에 관련된 내용입니다. 클라우드 데이터 플랫폼 벤더는 위협 및 보안 사고를 적절하게 모니터링하고 보안 사고 대응 절차가 수립되어 있음을 입증해야 합니다. 산업-표준 증명서는 클라우드 공급 업체가 적절한 보안 체계를 갖추고 있는지를 확인하는데 도움이 됩니다. 예를 들어, PCI DSS 규정 준수는 공급 업체가 신용 카드 정보를 적절하게 저장하고 처리하는지 여부를 알려줍니다. ISO/IES 27001 및 SOC 1/SOC 2 Type II와 같은 산업 표준 기술 인증 외에도 클라우드 공급자가 모든 국가 정부 및 산업 규정을 준수하는지 확인해야 합니다. 여기에는 PCI, HIPAA, HITRUST, FedRAMP 인증이 포함될 수 있습니다.
9. Cloud Data Platform을 어떻게 사용해야 합니까?
클라우드 데이터 플랫폼은 최신 기술을 통해 데이터의 가치를 극대화하는 것입니다. 여기에서는 현대화된 클라우드 데이터 플랫폼이 이러한 워크로드를 활성화, 자동화 및 개선하는 방법에 대해 살펴봅니다.
9.1 Modern Data Warehouse 구축
클라우드 데이터 플랫폼은 모든 규모의 데이터, 워크로드 및 사용자를 위한 단일 데이터 소스로, 다음과 같은 작업을 수행할 수 있습니다:
» 정형 및 반정형 데이터에 대한 SQL 쿼리 작업 수행
» 무제한의 동시 사용자와 워크로드에게 일관된 서비스 수준 제공
» 데이터 복사 및 이동 없이 기업 내/외부의 다양한 사용자에게 안전한 방식으로 데이터 공유 지원
» 기업내 존재하는 데이터 도구를 그대로 확장하여 활용: ETL, BI 및 ML 솔루션
9.2 데이터 레이크 구축 또는 확장
클라우드 데이터 플랫폼을 사용하여 기업 내 중앙 데이터 리파지토리를 구축하면, 기존 데이터 레이크를 개선하거나 신규 데이터 레이크로 활용할 수 있습니다. 멀티-클러스터, 공유 데이터 아키텍처는 기존 대안보다 훨씬 더 좋은 성능을 제공하고 있습니다. 표준 SQL을 지원한다는 것은 데이터 레이크에 숨겨진 가치를 보다 효율적으로 발견하고 모든 비즈니스 사용자에게 데이터 기반의 통찰력을 신속하게 제공할 수 있음을 의미합니다.
9.3 Data Engineering 간소화
기존의 데이터 파이프라인은 복잡한 ETL 작업을 필요로 하며, 이와 같은 레거시 솔루션은 정형 데이터만을 처리하도록 개발되었기 때문에, 웹 로그, 모바일, IoT장치에서 생성하는 JSON과 같은 반정형 테이터는 처리할 수 없습니다. 현대화된 클라우드 데이터 플랫폼은 표준 SQL을 지원하면서 JSON과 같은 반정형 데이터를 쉽고 효율적으로 수집할 수 있습니다(그림 10-1 참조). 또한, Apache Kafka를 통한 배치 및 스트리밍 데이터 수집도 지원합니다.
9.4 정확하고, 쉽고, 안전하게 데이터 교환
데이터 공유는 데이터 복사 및 이동이 포함되서는 안 됩니다. 클라우드 데이터 플랫폼을 통해 기업은 데이터 복사 및 이동 없이 라이브 상태의 데이터를 안전한 방식으로 데이터 제공자에서 소비자에게 제공되어야 합니다. 이는, 전통적인 데이터 공급자와 소비자 간의 데이터 동기화로 인해 야기된 다양한 이슈를 해결할 수 있는 유일한 방법입니다. 클라우드 에코 시스템에 인가된 사용자는 읽기-전용 버전의 데이터를 실시간으로 사용할 수 있으며, 데이터는 기업 내/외부 소비자에게 물리적으로 전송되는 대신 플랫폼 내부에서 공유된 데이터-셋만 SQL을 통해 접근하여 사용할 수 있습니다. 이러한 공유 방식은 기업 내 부서 간 및 기업 외부의 비즈니스 파트너와 쉽게 데이터를 공유함으로써 자신의 데이터와 공유받은 데이터를 통합하여 분석업무에 활용할 수 있으며, 데이터를 기반으로 한 새로운 수익 모델을 창출할 수 있습니다.
9.5 새로운 데이터 애플리케이션 개발
소프트웨어 개발자는 신규 애플리케이션 개발 및 배포 프로세스를 가속화하기 위해 클라우드 네이티브 개발 도구가 필요합니다. 클라우드 데이터 플랫폼은 개발, 테스트 및 QA을 위한 별도의 인프라 구축 없이 프로비저닝을 통한 유연한 환경을 제공합니다. 또한, 데이터 플랫폼은 Python, Node.js, Go, .NET, Java 및 SQL과 같은 언어를 포함한 도구 및 유틸을 쉽게 사용할 수 있도록 지원해야 합니다.
9.6 AI/ML 고급 분석으로 영역 확대
데이터 과학자는 ML 모델을 개발하고 학습하기 위해 많은 양의 데이터가 필요하며, 대략 80% 시간을 모델링을 위한 데이터의 탐색, 정리, 준비 과정에 씁니다. 데이터 준비 과정이 완료되면, ML 모델을 학습하고 주기적으로 재학습해야 하므로 항상 새로운 데이터가 필요합니다. 현대화된 클라우드 데이터 플랫폼은 AI/ML 분석 및 예측 애플리케이션 개발의 전체-사이클을 지원합니다. 데이터를 단일 데이터 저장소에 통합하여 저장하고, notebook, AutoML 도구와 같은 데이터 과학자 툴을 통해 쉽게 데이터와 상호작용 할 수 있습니다. 또한, Scala, R, Java, Python 및 기타 언어를 지원합니다. 이를 통해 데이터 과학자는 새로운 고급 분석 애플리케이션을 보다 쉽게 개발하고 관련 ML 모델 훈련 작업을 수행할 수 있습니다.
10. Cloud Data Platform를 시작하기 위한 5단계
올바른 클라우드 데이터 플랫폼을 선택하기 위한 5단계를 살펴보도록 하겠습니다.
Step 1: 보유하고 있는 데이터 특성, 기 사용중인 도구, 향후 계획 및 발전 방향을 포함한 데이터 플랫폼에 대한 요구 사항을 평가
- 기존 스킬, 도구 및 프로세서와 적합성: 현재 사용중인 어떤 기술과 도구를 사용해야 하나요? 플랫폼 변경 사항이 비즈니스 프로세스에 미치는 영향이 있습니까?
- 사용 현황: 어떤 사용자가 플랫폼의 주 사용자이며 어떤 애플리케이션을 지원해야 하나요? 쿼리 유형 및 최대 동시 접속자는 몇 명인가요? 데이터 및 시간에 관련된 워크로드 패턴은 어떠한가요?
- 데이터 공유: 데이터 공유 요건이 있나요? 있다면, 조직 내 부서 간의 데이터 공유 요건인가요 아니면 기업 외부와의 공유 요건인가요? 데이터 수익화에 대한 요구사항은 있나요?
- 글로벌 액세스: S3, Azure Blob Storage, GCS와 같은 클라우드 스토리지에 데이터를 저장할 예정인가요? 이 중 하나만 사용하나요 아니면 모두 사용해야 하나요? 어느 리전에 배포할 예정인가요? 최대 가용성 보장을 위한 크로스-클라우드 아키텍처가 필요한가요?
- 관리 리소스: 가용성, 성능 및 보안을 모니터링하고 관리하기 위해 얼마나 투자할 예정입니까? 플랫폼을 위한 전담 관리팀이 필요한가요? 아닌 DepOps 팀이 필요한가요? 이와 같은 전담 관리 팀이 불필요한 플랫폼을 찾고 있나요?
Step 2: 클라우드 데이터 플랫폼 구축 방향성(1: 마이그레이션, 2: 신규 구축) 정의 - 이는 기존 환경의 어느 정도를 신규 시스템으로 마이그레이션해야 하는지를 평가해야 합니다.
- 신규 프로젝트인가요?
- 이미 데이터 플랫폼이 구축되어 있다면, 현재 데이터 플랫폼의 가장 큰 이슈는 무엇인가요? 가장 성공적인 마이그레이션 전략은 가장 문제가 많이 발생하는 워크로드를 가장 먼저 마이그레이션하거나 마이그레이션을 간편하게 진행하기 위해 가장 간단한 워크로드를 마이그레이션 할 수 있습니다.
- 신규 플랫폼은 현재 시스템의 어떤 제약사항을 해결할 수 있나요? 클라우드 인프라에서 제공하는 아키텍처 혜택을 신규 플랫폼에서 올바르게 지원하나요?
- 기존 사용 중인 도구들이 신규 플랫폼을 지원하나요? BI, 데이터 시각화 도구 및 다른 분석 도구들도 새로운 플랫폼에서 쉽게 사용할 수 있어야 합니다.
- 미래에 데이터와 분석 요구사항이 변경될 가능성이 있습니까? 예를 들어 현재 플랫폼은 정형 데이터만을 SQL을 통해 분석하여 사용하는데 가까운 미래에는 IoT 디바이스에서 생성하는 반정형 데이터와 AI/ML 고급 분석 영역으로 확대 적용할 예정이 있나요?
Step 3: 성공 기준(Success Criteria)을 정의 - 신규 데이터 플랫폼의 성공 여부를 어떻게 측정할 예정입니까? 성능, 동시 쿼리, 단순성 및 TCO와 같은 다양한 기술 및 비즈니스 성공 기준을 사전에 정의해야 합니다. 만일 기존 플랫폼에서 지원하지 않는 기능을 신규 플랫폼에서 제공한다면 이 기능도 포함해야 합니다. 신규 플랫폼의 성공 기준에 대한 정량적, 정성적 평가 항목 및 성공 기준을 명확하게 수립해야 합니다.
Step 4: 솔루션의 아키텍처가 다음 기준을 충족하는지 살펴봐야 합니다:
- 정형 및 반정형 데이터에 대한 단일 데이터 저장소로 데이터 사일로 생성 방지
- 데이터 파이프라인을 간소화하여 빠른 시간 내에 새로운 데이터를 사용할 수 있어야 함
- 개별 워크로드에 대해 물리적으로 격리된 리소스 제공 여부
- 데이터를 복사나 이동 없이 데이터 공급자가 라이브 데이터를 실시간으로 데이터 소비자에게 쉽고 안전하게 공유할 방안
- 어카운트, 클라우드 플랫폼 및 리전 간에 데이터베이스를 복제하고 동기화를 유지하여 비즈니스 연속성 제공
- Scale-up & out 기반으로 컴퓨팅 및 스토리지 리소스에 대한 독립적인 확장성 제공
Step 5: TCO 및 ROI 계산 - 가격을 기준으로 클라우드 데이터 플랫폼을 선정하는 경우, 기존 플랫폼의 TCO를 고려해야 합니다. 소프트웨어, 하드웨어 라이센스(인프라 비용 포함), 데이터 센터(스페이스, 전기 및 유지 관리 비용 포함), 데이터 보안 및 DR을 포함한 운영, 개발 및 QA 환경에 관련된 모든 비용이 포함되어야 합니다. 일부 솔루션의 경우, 플랫폼 관리를 위한 추가 사용자 인건비가 포함될 수도 있습니다. 클라우드 데이터 플랫폼의 비용 계산이 온-프레미스 보다 더 쉽지만, 벤더의 서비스 별로 다를 수 있습니다. 만일 SaaS와 PaaS 제품을 선정하는 경우, 사용 요금을 기반으로 TCO를 계산할 수 있습니다. 만일 클라우드 스토리지를 사용하는 경우 이 비용도 포함해야 합니다. 일반적으로 데이터 플랫폼의 ROI는 3년의 투자 비용으로 계산합니다.
경고: 클라우드의 ROI 계산에서 대부분의 사용자들이 시스템을 24시간 동안 실행한다고 가정하여 계산을 수행합니다. 이는 사용-시간 기반의 클라우드 비용 청구 방식의 절감 효과를 간과한 잘못된 결과를 야기합니다.
'Snowflake - The Data Cloud' 카테고리의 다른 글
Cloud Data Warehousing (0) | 2021.12.08 |
---|---|
Snowflake Data Cloud (0) | 2021.12.08 |
Cloud Data Lakes (0) | 2021.12.07 |
Snowflake – Partitioning (0) | 2021.11.30 |
Snowflake Elastic Data Warehouse (0) | 2021.11.21 |