2018.07.10

스트리밍 플랫폼으로 가기 위한 관문, 변경 데이터 캡처

Gwen Shapira | InfoWorld
완전한 디지털화를 위한 근본적인 구조 개혁에 나선 기업은 이벤트와 데이터를 비즈니스의 중심에 둔다. 여정의 핵심은 첫 발을 제대로 딛는 것이다. 적절한 첫 번째 프로젝트의 요건, 그리고 변경 데이터 캡처(Change Data Capture, CDC)를 사용해 IT와 회사 전체를 성공으로 이끄는 방법을 알아보자.

첫 번째 단계
최초 프로젝트가 자연스럽게, 저절로 진행되는 경우도 있다. 예를 들어 해결해야 할 비즈니스 문제가 있고, 프로젝트를 이끄는 설계자가 아파치 카프카(Apache Kafka) 솔루션이 이 문제에 대한 최선의 해결 방법이라고 생각하는 경우가 이에 해당된다. 한 프로젝트는 또 다른 프로젝트로 이어지고, 어느 순간 주변을 보니 회사의 모든 데이터가 실시간으로 중앙 플랫폼으로 스트리밍되고 있다. 다른 모든 시스템에서는 이 중앙 플랫폼에 접속하고 작업을 처리하거나 어떤 사안에 대처할 수 있다. 조직 전체를 연결하는 이벤트와 데이터의 중앙 교환소인 셈이다.

디지털 트랜스포메이션에 관한 조직 내의 더 광범위한 비전을 원동력 삼아 스트리밍 플랫폼 기반의 지속 가능한 아키텍처를 추진하는 경우도 있다. 아파치 카프카는 엔터프라이즈 전반에서 실시간의 확장 가능한 이벤트 지향 통합과 처리를 가능하게 해주는 스트리밍 플랫폼이다. 이러한 비전에서는 목표에 이르기 위한 계획이 필요하다. 적절한 시작 지점, 장기적인 아키텍처를 향한 적절한 첫 번째 프로젝트를 찾는 행위는 “솔루션을 정해 놓고 문제를 찾는 것”과는 엄연히 다르다. 이것은 조직을 목표로 이끄는 길을 찾는 전략적 실천이며 많은 경우 그 목표는 완전한 디지털 기업이 되는 것이다.

조기 성공 유도
새로운 플랫폼으로 향한 길에서 조직을 도울 수 있는 방법은 많지만, 일관적으로 검증된 방법 하나는 바로 조기의 성공이다. 프로젝트에서 아이디어가 성공적임을 입증할 수 있다면 다른 사람들의 동의를 얻어내기가 훨씬 더 쉬워진다. “링크드인, 넷플릭스도 효과를 봤으니까 우리도 카프카를 사용합시다”라는 말보다는 “보안 팀이 카프카를 사용해서 침입 탐지 기능을 개선하고 손실 방지에서 3,000만 달러를 절감했고 설계자는 프로젝트 성공 덕분에 이사로 승진했다”라는 말이 훨씬 더 설득력이 있다. 이런 이야기를 듣고 디지털 트랜스포메이션에 동참하지 않을 사람이 어디 있겠는가? 모든 사람이 비즈니스에 긍정적인 영향을 미치기를 원한다.

성공적인 첫 프로젝트를 위해서는 다음과 같은 몇 가지 사항에 주의를 기울여야 한다.

1. 비즈니스에 미치는 영향. 바람직한 프로젝트는 측정 가능한 방식으로 비용을 절감하거나 수익을 창출하는 프로젝트다. 메인프레임 오프로딩, 사기 탐지와 같은 프로젝트는 비용 절감에 유리하다. 타깃 마케팅, 고객 360(customer 360)과 같은 고객 서비스 개선 등의 프로젝트는 일반적으로 수익에 도움이 된다. 측정 가능한 이러한 목표를 두면 모든 사람이 프로젝트의 성공을 볼 수 있다.

2. 실행의 용이함. 특히 목표로 한 아키텍처를 마음에 둔 경우 과도한 욕심을 부리기가 쉽다. 목표는 몇 주, 최대 2개월 이내에 비즈니스에 영향을 미치는 것임을 기억하라. 프로젝트가 늘어지기 시작하면 부가적인 요구 사항이 추가되고 우선순위가 변경되고 기타 방해 요소가 개입되기 쉽다. 비즈니스 영향을 입증하는 데 필요한 가장 작은 플랫폼 부분에 집중하라.

3. 최소한의 의존성. 데이터를 카프카로 집어 넣어야 하는데, 일반적으로 그 데이터는 다른 팀이 소유한 시스템에 있다. 아직 비즈니스 영향이 입증되지 않은 신규 프로젝트를 추진하면서 다른 팀의 협조를 구하기는 대체로 어렵다. 단순히 카프카에 이벤트를 작성하라고 요청할 수는 없다. 다른 팀에서는 애초에 카프카를 사용할 필요성을 느끼지 못할 가능성이 높기 때문이다.

여기서 딜레마가 발생한다. 즉, 데이터가 없으면 비즈니스 영향을 창출할 수 없다. 그러나 데이터를 빠르게 얻으려면 다른 팀의 도움이 필요하고, 도움을 받으려면 먼저 얼마간의 비즈니스 영향을 보여줘야만 한다.

그래서 변경 데이터 캡처(CDC)라는 것이 있다.

CDC란?
모든 데이터베이스의 중심에는 트랜잭션 로그가 위치한다. 재실행(redo) 로그, 바이너리 로그(binlog), 미리 쓰기 로그(WAL) 등 기술마다 부르는 명칭은 다르지만 기본적인 개념은 동일하다. 트랜잭션 로그는 데이터베이스의 모든 사용자와 애플리케이션이 수행한 모든 트랜잭션(삽입, 업데이트, 삭제, 커밋, 롤백)의 불변성 순차 로그, 즉 이벤트의 스트림이다. 카프카를 사용해서 이벤트 지향 스트리밍 플랫폼을 구축할 경우 필요한 것이 바로 이 데이터다.

따라서 이러한 애플리케이션의 데이터가 필요하다. 그러나 플랫폼으로 이벤트를 게시하도록 데이터 소유자를 설득할 수 없다면? 이들은 아마 기존 데이터베이스와 메시지 큐를 사용 중일 것이다. CDC 소프트웨어는 기존 데이터베이스에 연결되어 데이터베이스에서 직접 또는 디스크의 트랜잭션 로그에서 이벤트를 수집하고 이러한 이벤트를 카프카로 스트리밍할 수 있게 해준다. 카프카로 스트리밍된 이벤트는 팀이 구축하는 새로운 마이크로서비스와 파이프라인을 통해 저장, 처리, 액세스할 수 있다. 이것이 플랫폼을 먼저 사용하도록 아무도 설득할 필요 없이 조직의 복잡성을 관통해 새로운 플랫폼의 가치를 입증하는 방법이다.

CDC와 스트림 처리의 가치 제공
필자는 기업에서 CDC를 사용해서 조직 내의 여러 곳에 저장된 고객 정보를 스트리밍한 다음 스트림 처리 기술을 사용해 이 정보를 취합, 고객에 대한 포괄적인 시야를 확보하고 고객 서비스 부서에서 제품 관리 부서까지 누구나 간편히 이를 이용할 수 있도록 한 사례를 여러 번 봤다.

물론 이는 데이터베이스에서 변경을 얼마나 쉽게 캡처하고 이를 조직에 제공할 수 있는지 여부에 달렸다. 일단 데이터가 소스 데이터베이스에서 벗어나게 되면 플랫폼 스트림 처리 기능을 활용해서 프로젝트의 가치를 더욱 신속하게 제공할 수 있다.

이벤트 스트리밍 플랫폼을 사용하면 흥미로운 사용례를 신속하게 실행하면서 비즈니스에 긍정적인 영향을 미칠 수 있다. 일단 성공 스토리를 확보하고 중앙 스트리밍 플랫폼에 데이터를 가져오게 되면 이후 추가 프로젝트를 진행하기가 훨씬 더 쉬워진다.

이것이 좋은 플랫폼의 진정한 힘이다. 플랫폼을 사용하는 프로젝트가 많을수록 더 유용해진다. 각각의 신규 프로젝트는 이전 프로젝트보다 더 쉽고 더 많은 영향을 미친다. 이전보다 더 많은 데이터, 더 향상된 툴, 더 많은 플랫폼 경험이 있기 때문이다.  editor@itworld.co.kr


2018.07.10

스트리밍 플랫폼으로 가기 위한 관문, 변경 데이터 캡처

Gwen Shapira | InfoWorld
완전한 디지털화를 위한 근본적인 구조 개혁에 나선 기업은 이벤트와 데이터를 비즈니스의 중심에 둔다. 여정의 핵심은 첫 발을 제대로 딛는 것이다. 적절한 첫 번째 프로젝트의 요건, 그리고 변경 데이터 캡처(Change Data Capture, CDC)를 사용해 IT와 회사 전체를 성공으로 이끄는 방법을 알아보자.

첫 번째 단계
최초 프로젝트가 자연스럽게, 저절로 진행되는 경우도 있다. 예를 들어 해결해야 할 비즈니스 문제가 있고, 프로젝트를 이끄는 설계자가 아파치 카프카(Apache Kafka) 솔루션이 이 문제에 대한 최선의 해결 방법이라고 생각하는 경우가 이에 해당된다. 한 프로젝트는 또 다른 프로젝트로 이어지고, 어느 순간 주변을 보니 회사의 모든 데이터가 실시간으로 중앙 플랫폼으로 스트리밍되고 있다. 다른 모든 시스템에서는 이 중앙 플랫폼에 접속하고 작업을 처리하거나 어떤 사안에 대처할 수 있다. 조직 전체를 연결하는 이벤트와 데이터의 중앙 교환소인 셈이다.

디지털 트랜스포메이션에 관한 조직 내의 더 광범위한 비전을 원동력 삼아 스트리밍 플랫폼 기반의 지속 가능한 아키텍처를 추진하는 경우도 있다. 아파치 카프카는 엔터프라이즈 전반에서 실시간의 확장 가능한 이벤트 지향 통합과 처리를 가능하게 해주는 스트리밍 플랫폼이다. 이러한 비전에서는 목표에 이르기 위한 계획이 필요하다. 적절한 시작 지점, 장기적인 아키텍처를 향한 적절한 첫 번째 프로젝트를 찾는 행위는 “솔루션을 정해 놓고 문제를 찾는 것”과는 엄연히 다르다. 이것은 조직을 목표로 이끄는 길을 찾는 전략적 실천이며 많은 경우 그 목표는 완전한 디지털 기업이 되는 것이다.

조기 성공 유도
새로운 플랫폼으로 향한 길에서 조직을 도울 수 있는 방법은 많지만, 일관적으로 검증된 방법 하나는 바로 조기의 성공이다. 프로젝트에서 아이디어가 성공적임을 입증할 수 있다면 다른 사람들의 동의를 얻어내기가 훨씬 더 쉬워진다. “링크드인, 넷플릭스도 효과를 봤으니까 우리도 카프카를 사용합시다”라는 말보다는 “보안 팀이 카프카를 사용해서 침입 탐지 기능을 개선하고 손실 방지에서 3,000만 달러를 절감했고 설계자는 프로젝트 성공 덕분에 이사로 승진했다”라는 말이 훨씬 더 설득력이 있다. 이런 이야기를 듣고 디지털 트랜스포메이션에 동참하지 않을 사람이 어디 있겠는가? 모든 사람이 비즈니스에 긍정적인 영향을 미치기를 원한다.

성공적인 첫 프로젝트를 위해서는 다음과 같은 몇 가지 사항에 주의를 기울여야 한다.

1. 비즈니스에 미치는 영향. 바람직한 프로젝트는 측정 가능한 방식으로 비용을 절감하거나 수익을 창출하는 프로젝트다. 메인프레임 오프로딩, 사기 탐지와 같은 프로젝트는 비용 절감에 유리하다. 타깃 마케팅, 고객 360(customer 360)과 같은 고객 서비스 개선 등의 프로젝트는 일반적으로 수익에 도움이 된다. 측정 가능한 이러한 목표를 두면 모든 사람이 프로젝트의 성공을 볼 수 있다.

2. 실행의 용이함. 특히 목표로 한 아키텍처를 마음에 둔 경우 과도한 욕심을 부리기가 쉽다. 목표는 몇 주, 최대 2개월 이내에 비즈니스에 영향을 미치는 것임을 기억하라. 프로젝트가 늘어지기 시작하면 부가적인 요구 사항이 추가되고 우선순위가 변경되고 기타 방해 요소가 개입되기 쉽다. 비즈니스 영향을 입증하는 데 필요한 가장 작은 플랫폼 부분에 집중하라.

3. 최소한의 의존성. 데이터를 카프카로 집어 넣어야 하는데, 일반적으로 그 데이터는 다른 팀이 소유한 시스템에 있다. 아직 비즈니스 영향이 입증되지 않은 신규 프로젝트를 추진하면서 다른 팀의 협조를 구하기는 대체로 어렵다. 단순히 카프카에 이벤트를 작성하라고 요청할 수는 없다. 다른 팀에서는 애초에 카프카를 사용할 필요성을 느끼지 못할 가능성이 높기 때문이다.

여기서 딜레마가 발생한다. 즉, 데이터가 없으면 비즈니스 영향을 창출할 수 없다. 그러나 데이터를 빠르게 얻으려면 다른 팀의 도움이 필요하고, 도움을 받으려면 먼저 얼마간의 비즈니스 영향을 보여줘야만 한다.

그래서 변경 데이터 캡처(CDC)라는 것이 있다.

CDC란?
모든 데이터베이스의 중심에는 트랜잭션 로그가 위치한다. 재실행(redo) 로그, 바이너리 로그(binlog), 미리 쓰기 로그(WAL) 등 기술마다 부르는 명칭은 다르지만 기본적인 개념은 동일하다. 트랜잭션 로그는 데이터베이스의 모든 사용자와 애플리케이션이 수행한 모든 트랜잭션(삽입, 업데이트, 삭제, 커밋, 롤백)의 불변성 순차 로그, 즉 이벤트의 스트림이다. 카프카를 사용해서 이벤트 지향 스트리밍 플랫폼을 구축할 경우 필요한 것이 바로 이 데이터다.

따라서 이러한 애플리케이션의 데이터가 필요하다. 그러나 플랫폼으로 이벤트를 게시하도록 데이터 소유자를 설득할 수 없다면? 이들은 아마 기존 데이터베이스와 메시지 큐를 사용 중일 것이다. CDC 소프트웨어는 기존 데이터베이스에 연결되어 데이터베이스에서 직접 또는 디스크의 트랜잭션 로그에서 이벤트를 수집하고 이러한 이벤트를 카프카로 스트리밍할 수 있게 해준다. 카프카로 스트리밍된 이벤트는 팀이 구축하는 새로운 마이크로서비스와 파이프라인을 통해 저장, 처리, 액세스할 수 있다. 이것이 플랫폼을 먼저 사용하도록 아무도 설득할 필요 없이 조직의 복잡성을 관통해 새로운 플랫폼의 가치를 입증하는 방법이다.

CDC와 스트림 처리의 가치 제공
필자는 기업에서 CDC를 사용해서 조직 내의 여러 곳에 저장된 고객 정보를 스트리밍한 다음 스트림 처리 기술을 사용해 이 정보를 취합, 고객에 대한 포괄적인 시야를 확보하고 고객 서비스 부서에서 제품 관리 부서까지 누구나 간편히 이를 이용할 수 있도록 한 사례를 여러 번 봤다.

물론 이는 데이터베이스에서 변경을 얼마나 쉽게 캡처하고 이를 조직에 제공할 수 있는지 여부에 달렸다. 일단 데이터가 소스 데이터베이스에서 벗어나게 되면 플랫폼 스트림 처리 기능을 활용해서 프로젝트의 가치를 더욱 신속하게 제공할 수 있다.

이벤트 스트리밍 플랫폼을 사용하면 흥미로운 사용례를 신속하게 실행하면서 비즈니스에 긍정적인 영향을 미칠 수 있다. 일단 성공 스토리를 확보하고 중앙 스트리밍 플랫폼에 데이터를 가져오게 되면 이후 추가 프로젝트를 진행하기가 훨씬 더 쉬워진다.

이것이 좋은 플랫폼의 진정한 힘이다. 플랫폼을 사용하는 프로젝트가 많을수록 더 유용해진다. 각각의 신규 프로젝트는 이전 프로젝트보다 더 쉽고 더 많은 영향을 미친다. 이전보다 더 많은 데이터, 더 향상된 툴, 더 많은 플랫폼 경험이 있기 때문이다.  editor@itworld.co.kr


X