Amazon Kinesis 제품군은 실시간 데이터 스트리밍 서비스의 대표 주자로, 대규모 데이터 흐름을 실시간으로 처리하고 분석할 수 있는 강력한 서비스들의 집합입니다.

이번 글에서는 Amazon Kinesis 제품군 서비스 4종의 특징과 사용 사례를 살펴보고 비교해보겠습니다.

왜 Amazon Kinesis인가?

실시간 데이터 처리는 점점 더 많은 기업에서 필수 요건이 되고 있습니다. 애플리케이션 로그, 금융 거래, 영상 스트리밍 등 대규모 데이터 흐름을 관리하고 분석하기 위해서는 강력한 데이터 스트리밍 솔루션이 필요하죠.

Amazon Kinesis 제품군은 실시간 데이터 스트리밍의 핵심 솔루션으로 자리 잡고 있는데요. 그 이유는…

  • 확장성: 데이터 처리량에 따라 수평적으로 확장 가능하며, 다양한 크기의 워크로드를 지원하고,
  • 다양한 통합 옵션: AWS 생태계 내의 다른 서비스와 매끄럽게 연동되어 엔드투엔드 데이터 파이프라인 구축이 용이하며,
  • 실시간 분석: 데이터를 수집하는 즉시 처리 및 분석할 수 있어 빠른 의사 결정을 지원하기 때문입니다.

데이터의 중요성이 어느때보다 부각되는 요즘, DevOps 업계에서 Amazon Kinesis 제품군의 존재감은 나날이 커지고 있는 것입니다.

Amazon Kinesis에는 아래와 같이 총 4종의 서비스가 존재하는데요.

  • Kinesis Data Streams
  • Kinesis Data Firehose
  • Kinesis Video Streams
  • Kinesis Data Analystics

종류도 많고 이름도 비슷해서 처음엔 헷갈리실 수 있지만, 이번 글을 같이 따라오시다보면 어느새 명확히 구분하게 되실 겁니다.

Kinesis Data Streams: 실시간 데이터 파이프라인의 중심

(출처: AWS 공식 문서)

Kinesis Data Streams는 데이터를 실시간으로 수집, 저장, 처리하는 데 최적화된 서비스입니다.

데이터 스트림이란 데이터의 흐름을 뜻합니다. 그래서 Kinesis Data Streams는 데이터가 들어왔다가 특정 작업에 의해 처리될 수는 있으나, 데이터 스트림 내에 데이터가 계속 저장되는 것은 아닙니다.

Kinesis Data Streams로 들어온 데이터를 가져와 처리 작업을 수행할 애플리케이션을 생성할 수도 있는데요. 이를 Kinesis Data Streams 애플리케이션이라고 합니다.

Kinesis Data Streams의 특징과 사용 사례는 아래와 같습니다.

특징:

  • 실시간 처리: 데이터를 1초 미만으로 처리하여 지연 없이 사용할 수 있습니다.
  • 데이터 보존: 상황에 따라 스트림을 확장하거나 축소하여 데이터의 유실을 방지하고 분석에 활용할 수 있습니다.
  • 동시 작업: 여러 Kinesis Data Streams 애플리케이션이 하나의 스트림으로부터 데이터를 가져와 각기 다른 작업을 동시에 수행할 수 있습니다.

사용 사례:

  • 실시간 거래 분석: 금융 서비스에서 고객의 거래 데이터를 실시간으로 모니터링하고 이상 거래를 탐지
  • IoT 센서 데이터 처리: 제조업에서 IoT 장치로부터 수집된 데이터를 처리하여 실시간 운영 최적화
  • 로그 및 클릭스트림 분석: 웹사이트와 애플리케이션의 사용자 활동을 분석하여 사용자 경험 개선

Kinesis Data Firehose: 데이터를 원하는 곳으로 전달하는 배출구

(출처: AWS 공식 문서)

Kinesis Data Firehose는 데이터를 실시간으로 수집하여 S3이나 Elasticsearch, 혹은 원하는 HTTP 엔드포인트로 전송할 수 있는 완전 관리형 서비스입니다. 데이터의 전송과 변환을 간편하게 설정할 수 있어 운영 부담을 줄여주는 효과가 있는데요.

그럼 이제 Kinesis Data Firehose의 특징과 사용 사례를 살펴보겠습니다.

특징:

  • 데이터 변환: AWS Lambda를 활용하여 데이터를 전송 전에 포맷 변환 및 필터링이 가능합니다.
  • 목적지 통합: 데이터 웨어하우스, 데이터 레이크, 검색 및 분석 도구 등 다양한 목적지로 쉽게 데이터를 전송할 수 있습니다.

사용 사례:

  • 실시간 데이터 웨어하우스 저장: 금융 서비스나 리테일 분야에서 실시간으로 데이터를 S3와 Redshift에 저장 및 분석
  • 데이터 시각화 도구와의 연동: Elasticsearch와 Kibana를 사용해 실시간 데이터 시각화
  • 클라우드 기반 로그 분석: 애플리케이션 로그 데이터를 Splunk로 전송하여 실시간으로 문제를 진단하고 해결

그렇다면 Kinesis Data FirehoseKinesis Data Streams와 어떤 차이점이 있을까요?

두 서비스를 직관적으로 비교하기 위해 아래 표로 정리해봤습니다.

Kinesis Data FirehoseKinesis Data Streams
사용 목적데이터를 특정 목적지(S3, Redshift 등)로 전송실시간으로 데이터를 세밀히 처리 및 스트리밍
데이터 변환 지원AWS Lambda를 활용한 데이터 변환 및 필터링 지원기본 제공되지 않으며 추가 개발 필요
주요 사용 사례데이터 웨어하우스 저장, 시각화 도구 연동, 클라우드 로그 분석실시간 거래 분석, IoT 센서 데이터 처리, 클릭스트림 분석

Kinesis Data Firehose는 데이터 전송의 간편함목적지와의 통합에 초점이 맞춰져 있는 반면, Kinesis Data Streams는 세밀한 데이터 처리유연한 스트리밍 파이프라인 구성에 강점이 있습니다.

Kinesis Video Streams: 라이브 영상도 실시간으로 전송

(출처: AWS 공식 문서)

Kinesis Video Streams는 IoT 디바이스, 스마트폰 카메라, 드론 등에서 캡처한 라이브 영상을 AWS 클라우드로 전송하거나, 실시간 영상 처리 애플리케이션을 구축하는 데에 활용할 수 있는 서비스입니다.

스트림으로 들어온 영상은 실시간 시청도 가능한데요. AWS 관리 콘솔을 이용해서 볼 수도 있고, Kinesis Video Streams API를 활용해서 직접 모니터링 애플리케이션을 개발할 수도 있습니다.

Kinesis Video Streams의 특징과 사용 사례는 아래와 같습니다.

특징:

  • 실시간 영상 처리: 낮은 대기 시간으로 영상 데이터를 전송하며, 다양한 형식의 스트리밍을 지원합니다.
  • AWS AI 서비스와의 통합: Amazon Rekognition과 연동하면 영상 데이터에서 객체 감지, 얼굴 인식 등의 분석이 가능합니다.
  • 데이터 보존 및 재생: 저장된 영상을 클라우드에서 다시 재생하거나 다른 서비스와 통합하여 활용 가능합니다.

사용 사례:

  • 스마트 홈 보안 시스템: 보안 카메라에서 실시간으로 영상을 전송하고 분석하여 침입 탐지
  • 실시간 의료 영상 분석: 원격 진료에서 영상 데이터를 실시간으로 전송하여 의료진이 즉각적으로 분석
  • 드론 영상 스트리밍: 드론이 캡처한 영상을 실시간으로 전송하여 농업, 구조 작업 등에 활용

Kinesis Video StreamsKinesis Data Streams 모두 스트림과 관련된 서비스인데요. 이 둘의 차이점을 표로 비교하면 아래와 같습니다.

Kinesis Video StreamsKinesis Data Streams
사용 목적영상 데이터의 스트리밍, 저장 및 분석이벤트 데이터, 로그 데이터를 실시간으로 처리
데이터 형식 지원영상 및 오디오 데이터텍스트 기반 로그, 이벤트 데이터
주요 사용 사례스마트 홈 보안, 원격 의료 영상 분석, 드론 영상 스트리밍실시간 거래 분석, IoT 센서 데이터 처리, 클릭스트림 분석

표를 보면 알 수 있듯이, Kinesis Video Streams는 영상 처리AI 기반 분석에 적합한 반면, Kinesis Data Streams는 텍스트 기반의 데이터 처리실시간 이벤트 관리에 최적화되어 있습니다.

Kinesis Data Analytics: 실시간 데이터에서 인사이트 도출

(출처: AWS 공식 문서)

마지막으로 Kinesis Data Analytics는 스트리밍 데이터를 SQL 기반으로 실시간 분석할 수 있는 서버리스 서비스인데요. 복잡한 데이터 분석 워크로드를 간소화하며, 분석 결과를 즉각적으로 활용할 수 있습니다.

Kinesis Data Analytics의 특징과 사용 사례는 아래와 같이 정리할 수 있습니다.

특징:

  • SQL 기반 데이터 처리: 기존 SQL 기술을 사용해 복잡한 분석 작업을 쉽게 수행할 수 있습니다.
  • 실시간 데이터 처리: 스트리밍 데이터를 실시간으로 분석하여 빠르게 인사이트를 확보할 수 있습니다.
  • 자동 스케일링: 데이터 처리량과 쿼리 복잡성에 따라 자동으로 확장 및 축소됩니다.

사용 사례:

  • 실시간 마케팅 캠페인: 고객 행동 데이터를 분석하여 맞춤형 프로모션 제공
  • IoT 데이터 모니터링: 산업 IoT 센서에서 들어오는 데이터를 분석하여 장비 상태를 실시간으로 확인
  • 이상 탐지 및 알림: 금융 거래 데이터를 분석하여 실시간으로 이상 거래 탐지 및 알림

마치며

지금까지 Amazon Kinesis 서비스 4종을 알아봤는데요. 이들 모두 각기 다른 요구 사항에 맞춰 강력한 솔루션을 제공하고 있습니다.

데이터의 흐름을 관리하고 분석하는 작업이 점점 중요해지는 시대에서, 유연하고 강력한 기능을 제공하면서 다양한 데이터 관련 작업을 지원하는 Amazon Kinesis 제품군은 앞으로도 더욱 주목받을 것으로 예상됩니다.

References