2021.06.18

기업이 데이터 통합 플랫폼을 자체 개발하면 안 되는 이유

Isaac Sacolick | InfoWorld
데이터는 단일 데이터베이스, 파일 시스템, 데이터 호수 또는 리포지토리에만 있는 것이 아니다. 레코드 시스템에서 생성되는 데이터는 여러 비즈니스 요구에 대응하고 다른 데이터 소스와 통합된 후 분석, 고객 대면 애플리케이션 또는 내부 워크플로우에 사용된다. 예를 들면 다음과 같다.
 
  • 전자상거래 애플리케이션의 데이터는 고객 관계 관리(CRM) 시스템의 사용자 분석, 고객 데이터 또는 다른 마스터 데이터 소스와 통합돼 고객 세그먼트를 설정하고 적절한 마케팅 메시지를 만드는 데 사용된다.
  • 사물인터넷(IoT) 센서 데이터는 운영 및 재무 데이터 저장소와 연결되며 처리량을 제어하고 제조 공정의 품질을 모니터링하는 데 쓰인다.
  • 직원 워크플로우 애플리케이션은 여러 SaaS 플랫폼 및 내부 데이터 소스의 데이터와 툴을 사용하기 쉬운 하나의 모바일 인터페이스로 연결한다.

많은 기업에는 데이터 과학자와 데이터 분석가, 혁신팀이 있는데, 이들이 내부 및 외부 데이터 소스를 통합해야 하는 경우가 증가하고 있다. 예측 모델을 개발하는 데이터 과학자는 계량 경제, 기상, 인구 조사, 기타 공용 데이터와 같은 여러 외부 데이터 소스를 로드한 다음 이를 내부 소스와 통합하는 경우가 많다. 인공 지능을 실험하는 혁신팀은 알고리즘 훈련과 테스트를 위해 크고 복잡한 데이터 소스를 집계해야 한다. 또한 과거에는 스프레드시트로 분석했던 현업 및 데이터 분석가들에게는 이제 여러 데이터 피드를 로드하고 합치고 처리하기 위해 더 정교한 툴이 필요해졌다.
 
ⓒ Getty Images Bank
 

데이터 통합 프로그래밍 및 스크립팅

기본적인 프로그래밍 기술을 갖춘 사람에게 소스에서 대상으로 데이터를 옮기는 가장 일반적인 방법은 짧은 스크립트를 만드는 것이다. 코드로 하나 이상의 데이터 소스에서 데이터를 끄집어내서 필요한 데이터 검증 및 조작하고 이를 하나 또는 여러 대상에 삽입한다. 개발자는 다음과 같은 접근 방식을 포함한 여러 방법으로 점 대 점 데이터 통합을 코딩할 수 있다.
 
  • 데이터 변경 사항을 다른 데이터베이스 시스템으로 푸시하는 데이터베이스 저장 프로시저
  • 예약된 작업 또는 서비스로 실행되는 스크립트
  • 애플리케이션의 최종 사용자가 데이터를 변경한 경우 서비스에 알리는 웹훅
  • 시스템 간의 데이터를 연결하는 마이크로서비스
  • 서버리스 아키텍처로 배포되는 작은 데이터 처리 코드 스니펫
  • 이와 같은 코딩 프로시저는 여러 소스에서 데이터를 끌어와서 결합, 필터링, 정제, 검증 및 변환한 다음 대상 데이터 소스로 전달한다.

스크립팅은 빠르고 쉽게 데이터를 이동하는 방법이지만 전문적인 수준의 데이터 처리 방법으로 볼 수는 없다. 기업 업무용 데이터 처리 스크립트는 데이터를 처리하고 전송하는 데 필요한 단계를 자동화하고 여러 운영 요구 사항을 충족해야 한다.

예를 들어 큰 데이터 볼륨을 처리하는 통합은 멀티스레드로 실행되어야 하며 다수의 데이터 소스를 다루는 작업에는 견고한 데이터 검증 및 예외 처리가 필요하다. 중요한 비즈니스 로직 및 데이터 변환이 필요하면, 개발자는 단계를 로깅하거나 다른 조치를 통해 통합 과정을 모니터링할 수 있어야 한다.

이러한 운영 요구 사항을 모두 만족하는 스크립트 프로그래밍은 간단치 않다. 개발자는 데이터 통합에서 잘못될 수 있는 부분을 예상하고 그에 따라 적절히 프로그래밍해야 한다. 또한 여러 가지 실험적 데이터 소스를 사용해 작업하는 경우 맞춤 스크립트 개발은 비용 효율이 떨어질 수 있다. 마지막으로, 데이터 통합 스크립트는 여러 개발자에 걸친 지식 이전과 유지가 어려운 경우가 많다. 데이터 통합 요구 사항이 많은 기업이 데이터 흐름 프로그래밍과 스크립팅 너머로 시선을 돌리는 것도 이 때문이다.
 

강력한 데이터 통합 플랫폼의 특징

데이터 통합 플랫폼을 사용하면 여러 데이터 파이프라인의 개발, 테스트, 실행, 업데이트가 가능하다. 기업이 데이터 통합 플랫폼을 선택하는 이유는 데이터 통합이 특정 개발 기술, 테스트 요구 사항 및 운영 서비스 수준을 맞출 수 있는 플랫폼이자 기능임을 간파했기 때문이다. 실제로 설계자, IT 리더, CIO, 최고 데이터 책임자가 데이터 통합 역량 강화를 고민해 보면, 필요한 기능을 소프트웨어 개발자를 투입해 맞춤형 코드로 쉽게 만들 수 없다는 결론에 도달하게 된다.

데이터 통합 플랫폼의 일반적인 특징은 다음과 같다.
 
  • 통합을 개발하고 강화하는 데 특화된 툴. 일반적으로 로우 코드 시각화 툴은 처리 요소를 드래그 앤드 드롭 방식으로 배치하고 구성해서 데이터 파이프라인으로 연결할 수 있다.
  • 일반적인 엔터프라이즈 시스템, SaaS 플랫폼, 데이터베이스, 데이터 레이크, 빅 데이터 플랫폼, API 및 클라우드 데이터 서비스와의 빠른 통합을 가능하게 해주는 기본 커넥터. 예를 들어 세일즈포스 데이터에 연결하고 계정과 연락처를 캡처하고 데이터를 AWS 관계형 데이터베이스 서비스에 푸시하려는 경우를 가정해 보자. 이 경우 보통 통합 플랫폼에 이미 커넥터가 내장되어 있어 즉시 데이터 파이프라인에서 사용할 수 있다.
  • 관계형 데이터 구조 및 파일 형식 이상으로 여러 데이터 구조와 형식을 처리할 수 있는 기능. 데이터 통합 플랫폼은 일반적으로 JSON, XML, 파케이(Parquet), 아브로(Avro), ORC를 지원하며, 때에 따라 금융 서비스 분야의 NACHA, 의료 분야의 HIPAA EDI, 보험 분야의 ACORD XML과 같은 산업별 형식도 지원한다.
  • 고급 데이터 품질 및 마스터 데이터 관리 기능은 데이터 통합 플랫폼의 기능일 수도 있고 개발자가 데이터 파이프라인에서 연결할 수 있는 추가 제품일 수도 있다.
  • 일부 데이터 통합 플랫폼은 데이터 과학 및 머신 러닝 기능을 대상으로 하며 분석 처리 요소와 머신 러닝 모델과의 인터페이스를 포함한다. 일부 플랫폼은 데이터 과학자와 분석가가 통합을 테스트, 개발할 수 있도록 데이터 준비 툴도 제공한다.
  • 버전 제어, 데이터 파이프라인 배포 자동화, 테스트 환경 구축 및 해체, 스테이징 환경의 데이터 처리, 프로덕션 파이프라인 인프라 확장 및 축소, 멀티스레드 실행 활성화 지원과 같은 데브옵스 기능
  • 데이터 센터, 퍼블릭 클라우드, SaaS를 포함한 여러 호스팅 옵션
  • 데이터옵스 기능은 테스트 데이터 집합을 유지하고 데이터 계통을 캡처하고 파이프라인 재사용으로 활성화하고 테스트를 자동화할 수 있다.
  • 런타임에서 데이터 통합 플랫폼은 예약된 작업, 이벤트 기반 트리거, 실시간 스트리밍 모달리티 등 여러 방법을 사용해 데이터 파이프라인을 트리거할 수 있다.
  • 관찰 가능한 프로덕션 데이터 파이프라인은 성능을 보고하고 데이터 소스 문제를 알리고 데이터 처리 문제를 진단하기 위한 툴을 제공한다.
  • 다양한 툴이 암호화 형식, 감사 기능, 데이터 마스킹, 액세스 관리, 데이터 카탈로그와의 통합 등 보안, 규정 준수, 데이터 거버넌스 요구 사항을 지원한다.
  • 데이터 통합 파이프라인은 개별적으로 실행되지 않는다. 주요 플랫폼은 IT 서비스 관리, 애자일 개발 및 기타 IT 플랫폼과 통합된다.
 

데이터 통합 플랫폼을 선택하는 방법

플랫폼의 유형, 각 영역에서 경쟁하는 벤더의 수, 옵션을 분류하는 데 사용되는 분석가의 용어 등을 고려하면 데이터 통합 기능과 요구 사항을 만족하기란 벅차게 느껴질 수 있다. 현재와 미래의 데이터 통합 요구 사항을 위한 적절한 툴 모음을 선택하려면 어떻게 해야 할까?

간단한 답은 몇 가지 원칙이 필요하다는 것이다. 먼저 이미 사용 중인 통합을 인벤토리화하고 사용 사례를 카탈로그로 정리하고 데이터 소스, 형식, 변환, 대상 지점 및 트리거 조건에 대한 요구 사항을 리버스 엔지니어링한다. 그런 다음 서비스 수준 목표, 보안 요구 사항, 규정 준수 요구 사항 및 데이터 검증 요구 사항을 포함한 운영 요구 사항을 평가한다. 마지막으로 기존 데이터 통합과 요구 사항이 다르면서 비즈니스 측면에서 중요한 새로운 사용 사례를 추가한다.

이와 같은 부분을 잘 살피면 DIY 방식의 통합이 적절치 않다는 것을 깨닫고, 데이터 통합 플랫폼을 검토할 때 어떤 부분을 봐야 할지에 관한 나름의 기준을 찾을 수 있을 것이다. editor@itworld.co.kr


2021.06.18

기업이 데이터 통합 플랫폼을 자체 개발하면 안 되는 이유

Isaac Sacolick | InfoWorld
데이터는 단일 데이터베이스, 파일 시스템, 데이터 호수 또는 리포지토리에만 있는 것이 아니다. 레코드 시스템에서 생성되는 데이터는 여러 비즈니스 요구에 대응하고 다른 데이터 소스와 통합된 후 분석, 고객 대면 애플리케이션 또는 내부 워크플로우에 사용된다. 예를 들면 다음과 같다.
 
  • 전자상거래 애플리케이션의 데이터는 고객 관계 관리(CRM) 시스템의 사용자 분석, 고객 데이터 또는 다른 마스터 데이터 소스와 통합돼 고객 세그먼트를 설정하고 적절한 마케팅 메시지를 만드는 데 사용된다.
  • 사물인터넷(IoT) 센서 데이터는 운영 및 재무 데이터 저장소와 연결되며 처리량을 제어하고 제조 공정의 품질을 모니터링하는 데 쓰인다.
  • 직원 워크플로우 애플리케이션은 여러 SaaS 플랫폼 및 내부 데이터 소스의 데이터와 툴을 사용하기 쉬운 하나의 모바일 인터페이스로 연결한다.

많은 기업에는 데이터 과학자와 데이터 분석가, 혁신팀이 있는데, 이들이 내부 및 외부 데이터 소스를 통합해야 하는 경우가 증가하고 있다. 예측 모델을 개발하는 데이터 과학자는 계량 경제, 기상, 인구 조사, 기타 공용 데이터와 같은 여러 외부 데이터 소스를 로드한 다음 이를 내부 소스와 통합하는 경우가 많다. 인공 지능을 실험하는 혁신팀은 알고리즘 훈련과 테스트를 위해 크고 복잡한 데이터 소스를 집계해야 한다. 또한 과거에는 스프레드시트로 분석했던 현업 및 데이터 분석가들에게는 이제 여러 데이터 피드를 로드하고 합치고 처리하기 위해 더 정교한 툴이 필요해졌다.
 
ⓒ Getty Images Bank
 

데이터 통합 프로그래밍 및 스크립팅

기본적인 프로그래밍 기술을 갖춘 사람에게 소스에서 대상으로 데이터를 옮기는 가장 일반적인 방법은 짧은 스크립트를 만드는 것이다. 코드로 하나 이상의 데이터 소스에서 데이터를 끄집어내서 필요한 데이터 검증 및 조작하고 이를 하나 또는 여러 대상에 삽입한다. 개발자는 다음과 같은 접근 방식을 포함한 여러 방법으로 점 대 점 데이터 통합을 코딩할 수 있다.
 
  • 데이터 변경 사항을 다른 데이터베이스 시스템으로 푸시하는 데이터베이스 저장 프로시저
  • 예약된 작업 또는 서비스로 실행되는 스크립트
  • 애플리케이션의 최종 사용자가 데이터를 변경한 경우 서비스에 알리는 웹훅
  • 시스템 간의 데이터를 연결하는 마이크로서비스
  • 서버리스 아키텍처로 배포되는 작은 데이터 처리 코드 스니펫
  • 이와 같은 코딩 프로시저는 여러 소스에서 데이터를 끌어와서 결합, 필터링, 정제, 검증 및 변환한 다음 대상 데이터 소스로 전달한다.

스크립팅은 빠르고 쉽게 데이터를 이동하는 방법이지만 전문적인 수준의 데이터 처리 방법으로 볼 수는 없다. 기업 업무용 데이터 처리 스크립트는 데이터를 처리하고 전송하는 데 필요한 단계를 자동화하고 여러 운영 요구 사항을 충족해야 한다.

예를 들어 큰 데이터 볼륨을 처리하는 통합은 멀티스레드로 실행되어야 하며 다수의 데이터 소스를 다루는 작업에는 견고한 데이터 검증 및 예외 처리가 필요하다. 중요한 비즈니스 로직 및 데이터 변환이 필요하면, 개발자는 단계를 로깅하거나 다른 조치를 통해 통합 과정을 모니터링할 수 있어야 한다.

이러한 운영 요구 사항을 모두 만족하는 스크립트 프로그래밍은 간단치 않다. 개발자는 데이터 통합에서 잘못될 수 있는 부분을 예상하고 그에 따라 적절히 프로그래밍해야 한다. 또한 여러 가지 실험적 데이터 소스를 사용해 작업하는 경우 맞춤 스크립트 개발은 비용 효율이 떨어질 수 있다. 마지막으로, 데이터 통합 스크립트는 여러 개발자에 걸친 지식 이전과 유지가 어려운 경우가 많다. 데이터 통합 요구 사항이 많은 기업이 데이터 흐름 프로그래밍과 스크립팅 너머로 시선을 돌리는 것도 이 때문이다.
 

강력한 데이터 통합 플랫폼의 특징

데이터 통합 플랫폼을 사용하면 여러 데이터 파이프라인의 개발, 테스트, 실행, 업데이트가 가능하다. 기업이 데이터 통합 플랫폼을 선택하는 이유는 데이터 통합이 특정 개발 기술, 테스트 요구 사항 및 운영 서비스 수준을 맞출 수 있는 플랫폼이자 기능임을 간파했기 때문이다. 실제로 설계자, IT 리더, CIO, 최고 데이터 책임자가 데이터 통합 역량 강화를 고민해 보면, 필요한 기능을 소프트웨어 개발자를 투입해 맞춤형 코드로 쉽게 만들 수 없다는 결론에 도달하게 된다.

데이터 통합 플랫폼의 일반적인 특징은 다음과 같다.
 
  • 통합을 개발하고 강화하는 데 특화된 툴. 일반적으로 로우 코드 시각화 툴은 처리 요소를 드래그 앤드 드롭 방식으로 배치하고 구성해서 데이터 파이프라인으로 연결할 수 있다.
  • 일반적인 엔터프라이즈 시스템, SaaS 플랫폼, 데이터베이스, 데이터 레이크, 빅 데이터 플랫폼, API 및 클라우드 데이터 서비스와의 빠른 통합을 가능하게 해주는 기본 커넥터. 예를 들어 세일즈포스 데이터에 연결하고 계정과 연락처를 캡처하고 데이터를 AWS 관계형 데이터베이스 서비스에 푸시하려는 경우를 가정해 보자. 이 경우 보통 통합 플랫폼에 이미 커넥터가 내장되어 있어 즉시 데이터 파이프라인에서 사용할 수 있다.
  • 관계형 데이터 구조 및 파일 형식 이상으로 여러 데이터 구조와 형식을 처리할 수 있는 기능. 데이터 통합 플랫폼은 일반적으로 JSON, XML, 파케이(Parquet), 아브로(Avro), ORC를 지원하며, 때에 따라 금융 서비스 분야의 NACHA, 의료 분야의 HIPAA EDI, 보험 분야의 ACORD XML과 같은 산업별 형식도 지원한다.
  • 고급 데이터 품질 및 마스터 데이터 관리 기능은 데이터 통합 플랫폼의 기능일 수도 있고 개발자가 데이터 파이프라인에서 연결할 수 있는 추가 제품일 수도 있다.
  • 일부 데이터 통합 플랫폼은 데이터 과학 및 머신 러닝 기능을 대상으로 하며 분석 처리 요소와 머신 러닝 모델과의 인터페이스를 포함한다. 일부 플랫폼은 데이터 과학자와 분석가가 통합을 테스트, 개발할 수 있도록 데이터 준비 툴도 제공한다.
  • 버전 제어, 데이터 파이프라인 배포 자동화, 테스트 환경 구축 및 해체, 스테이징 환경의 데이터 처리, 프로덕션 파이프라인 인프라 확장 및 축소, 멀티스레드 실행 활성화 지원과 같은 데브옵스 기능
  • 데이터 센터, 퍼블릭 클라우드, SaaS를 포함한 여러 호스팅 옵션
  • 데이터옵스 기능은 테스트 데이터 집합을 유지하고 데이터 계통을 캡처하고 파이프라인 재사용으로 활성화하고 테스트를 자동화할 수 있다.
  • 런타임에서 데이터 통합 플랫폼은 예약된 작업, 이벤트 기반 트리거, 실시간 스트리밍 모달리티 등 여러 방법을 사용해 데이터 파이프라인을 트리거할 수 있다.
  • 관찰 가능한 프로덕션 데이터 파이프라인은 성능을 보고하고 데이터 소스 문제를 알리고 데이터 처리 문제를 진단하기 위한 툴을 제공한다.
  • 다양한 툴이 암호화 형식, 감사 기능, 데이터 마스킹, 액세스 관리, 데이터 카탈로그와의 통합 등 보안, 규정 준수, 데이터 거버넌스 요구 사항을 지원한다.
  • 데이터 통합 파이프라인은 개별적으로 실행되지 않는다. 주요 플랫폼은 IT 서비스 관리, 애자일 개발 및 기타 IT 플랫폼과 통합된다.
 

데이터 통합 플랫폼을 선택하는 방법

플랫폼의 유형, 각 영역에서 경쟁하는 벤더의 수, 옵션을 분류하는 데 사용되는 분석가의 용어 등을 고려하면 데이터 통합 기능과 요구 사항을 만족하기란 벅차게 느껴질 수 있다. 현재와 미래의 데이터 통합 요구 사항을 위한 적절한 툴 모음을 선택하려면 어떻게 해야 할까?

간단한 답은 몇 가지 원칙이 필요하다는 것이다. 먼저 이미 사용 중인 통합을 인벤토리화하고 사용 사례를 카탈로그로 정리하고 데이터 소스, 형식, 변환, 대상 지점 및 트리거 조건에 대한 요구 사항을 리버스 엔지니어링한다. 그런 다음 서비스 수준 목표, 보안 요구 사항, 규정 준수 요구 사항 및 데이터 검증 요구 사항을 포함한 운영 요구 사항을 평가한다. 마지막으로 기존 데이터 통합과 요구 사항이 다르면서 비즈니스 측면에서 중요한 새로운 사용 사례를 추가한다.

이와 같은 부분을 잘 살피면 DIY 방식의 통합이 적절치 않다는 것을 깨닫고, 데이터 통합 플랫폼을 검토할 때 어떤 부분을 봐야 할지에 관한 나름의 기준을 찾을 수 있을 것이다. editor@itworld.co.kr


X