Más contenido relacionado La actualidad más candente (20) Similar a 실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive (20) Más de Amazon Web Services Korea (20) 실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive1. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
실시간 스트리밍 분석
Kinesis Data Analytics Deep Dive
전소영 Modernization Specialist
AWS
주혜령 Solutions Architect
2. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Agenda
스트리밍 데이터 실시간 분석의 가치와 유형
Kinesis Data Analytics 설명
Kinesis Data Analytics 데모
정리
2
❑ 동작과 기능
❑ 운영상의 모범사례
❑ Studio Notebook
❑ Streaming Application
3. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
왜 스트리밍 데이터 실시간 분석인가?
3
실시간 초단위 분단위 시간단위 일단위 월단위
의사결정에
있어서의
데이터
가치
예방/예측
서비스
행동 기반
서비스 반응형 서비스 Historical
Source: Mike Gualtieri, Forrester, Perishable Insights
시간이 중요한 의사결정 전통적인 “배치성” 비지니스 분석
데이터는 시간이 지남에 따라 가치를 잃습니다.
4. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
실시간 분석 소요 시간에 따른 유형
스트리밍 ETL
데이터레이크,
데이터웨어하우스에 저장
분
마이크로서비스 간 메시징
응답 분석
(웹 및 모바일 앱 알림)
로그 수집
IoT 기기 유지보수
변경 데이터 캡처(CDC)
밀리초 초
5. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
스트리밍 데이터 실시간 분석 주요 구성 요소
I다양한 소스에서 대량의 고속 스트리밍 데이터를 실시간으로 수집, 처리하여 분석
원천
스트리밍 데이터를 실시
간 고속 으로 생성하는
장치 및 애플리케이션
스트림 수집
수만 데이터 소스의 스
트리밍 데이터를 실시
간으로 수집
스트림 스토리지
데이터를 설정된 시간 동안
수신된 순서대로 저장
해당 시간동안 데이터는
무제한으로 재생가능
스트림 처리
레코드를 생성된 순서대
로 읽어 실시간 분석 또는
스트리밍 ETL 처리
목적지
데이터 레이크
데이터 웨어하우스
(가장 일반적)
데이터베이스
(가장 일반적이지 않음)
6. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
스트리밍 데이터 실시간 분석의 어려움
설치와 구성의 어려움 확장성의 까다로움
고가용성 달성의 어려움 통합 개발 요구
오류 발생이 쉽고 관리의 복잡성 유지보수가 비쌈
7. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Amazon Kinesis를 활용한 스트리밍 데이터 실시간 분석
사용하기 쉬움 탄력성 고가용성과
내구성
원활한 AWS
서비스와의 통합
완전관리형 사용한 만큼
비용지불
Get started in less than 10 minutes using our solution implementation templates
https://aws.amazon.com/solutions/implementations/aws-streaming-data-solution-for-amazon-kinesis/
8. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Amazon Kinesis
Data Firehose
Amazon Kinesis
Data Analytics
Amazon Kinesis
Data Streams
Amazon Kinesis
Video Streams
아마존 키네시스
스트리밍 데이터를 실시간으로 쉽게 수집, 처리하고 분석
AWS 데이터 스토어에
데이터 스트림 전송
Amazon Kinesis Data Analytics
Studio 또는 Apache Flink로 데
이터 스트림 분석
분석을 위한 데이터 스
트림 수집 및 저장
분석을 위한 비디오
스트림 수집 및 저장
9. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Kinesis를 활용한 스트리밍 데이터 처리
모바일
웹로그
클릭 스트림
IoT 디바이스
텔레메트리
스마트 팩토리
등의 메세지 통신
AWS
SDK
Kinesis
Producer
Library
Kinesis
Agent
Kinesis
Data
Stream
Kinesis
Data
Analytics
Kinesis
Data
Firehose
실시간 애플리케이션 (초단위)
스트리밍 ETL (분단위)
Sink (저장)
Deliver (전송)
원천 스트림 수집 스트림 스토리지 스트림 처리 목적지
10. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Amazon Kinesis Data Analytics
OUTPUT
처리된 데이터를 분석 도구로 보내 경고를
생성하고 실시간으로 대응 가능
KINESIS DATA ANALYTICS
KDA Studio (SQL/ Python/
Scala/ Serverless Notebooks)
Stateful stream processing
using Apache Flink
Amazon Kinesis
Data Streams
Amazon MSK
Additional streaming
sources
Amazon MQ
Custom
Connectors
Amazon S3
Amazon Kinesis
Data Streams
Amazon MSK
JDBC End Points
Amazon Kinesis
Data Firehose
Amazon S3
Amazon
Elasticsearch
• SQL, Python, Scala 및 Java 또는 통합 Apache Flink 애플리케이션을 사용하여 실시간으로 스트리밍 데이터 처리 분석
• KDA Studio를 활용한 Ad-hoc 분석 및 Apache Flink용 KDA Streaming Application으로 배포 가능
• 완전 관리형 탄력적 스트림 처리 애플리케이션 구축
11. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Apache Flink
스트리밍 데이터를 분산 병렬 처리 분석 가능한 오픈소스 데이터 프레임워크
https://flink.apache.org/
12. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
적갈색 다람쥐, Apache Flink
https://learning.oreilly.com/library/view/introduction-to-apache/9781491977132/ch01.html
13. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
가장 활발한 Apache 프로젝트 중 하나
#1 most active user
mailing lists
#2 most active
repository by commits
#2 most visited source
repository
#2 most active dev
mailing list
Ref: Flink Forward:
https://www.youtube.com/watch?v=h5OYmy9Yx7Y&list=PLDX4T_cnKjD054YExbUOkr_xdYknVPQUm&index=1
14. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Source: https://flink.apache.org/poweredby.html, https://www.youtube.com/watch?v=WAOrqsHpJuM
Apache Flink를 선택한 기업
15. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Apache Flink 선택의 이유
checkpoint
https://flink.apache.org/
1) 큰 규모 State 저장
2) 주기적인 Checkpoint
3) State 일관성 보장
4) Exactly Once
16. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Apache Flink 배포 방법
17. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Kubernetes에서의 Apache Flink 실행
Amazon Elastic Kubernetes Service
Task manager
Task manager
Storage for checkpoints
and savepoints
Autoscaling
Zookeeper
Metrics collection
Log collection
Job manager
Collect
logs
Scrape
metrics
Task manager
Persist checkpoints
and savepoints
Trigger scaling
activity
Connect to
Flink Web UI
Monitor
metrics
Persist job
metadata
Application
owner
REST proxy
18. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Amazon Kinesis Data Analytics (KDA) 사용
스트리밍
처리 분석
담당자
Amazon Elastic Kubernetes Service
Task Manager
Auto Scaling
Amazon S3
Storage for
checkpoints and
savepoints
Amazon Kinesis Data Analytics
Job Manager
Task Manager
Task Manager
스트리밍 애플리케이션
개발과 최적화
19. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
아마존 완전 관리형 서버리스, KDA 사용 시 장점
19
Streaming Application
Development and Optimization
Scaling
High Availability
Apache Flink Install/ Patching
Hardware Lifecycle
Power/ Network/ HVAC
OS Install
Hardware Maintenance
Scaling
High Availability
OS Patching
Hardware Lifecycle
Power/ Network/ HVAC
OS Install
Hardware Maintenance
Scaling
High Availability
Apache Flink Install/ Patching
OS Patching
Hardware Lifecycle
Power/ Network/ HVAC
OS Install
Hardware Maintenance
Self
Managed
Apache
Flink
AWS
Managed
Apache
Flink
클라우드 장점을 극대화하고, 비즈니스 가치 향상에 집중하는 현대화 실현
Amazon EC2* or Kubernetes
Apache Flink Install/ Patching
Streaming Application
Development and Optimization
On-Premises
Streaming Application
Development and Optimization
Amazon Kinesis Data Analytics
OS Patching*
Customer
managed
20. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
삼성전자의 KDA로의 마이그레이션 사례
A M A Z O N K I N E S I S D A T A A N A L Y T I C S ( K D A ) 에 서 수 행 되 도 록 앱 변 경 하 여 안 정 화 및 확 장 성 확 보
삼정전자 자체 관리
EC2 기반 스파크
마이크로 배치 처리
단일 클러스터 이용
Auto Scaling 제한
AWS 완전 관리형
KDA 기반 플링크
스트리밍 처리
앱별 클러스터 생성 가능
Auto Scaling 가능
AWS 2022년 Korea Summit 삼성전자 스마트씽즈 KDA 마이그레이션 사례 발표
21. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
운영 고통으로 부터의 해방
마 이 그 레 이 션 된 6 개 어 플 리 케 이 션 의 온 콜 제 로 화 , 데 이 터 처 리 속 도 와 처 리 량 향 상
자체관리 Spark on EC2 완전관리형 KDA
앱 수동 복구
8회
클러스터 복구
31회
앱 지연
26회
월 평균 47회
총 0회
온콜 시간 낭비 제거
(On-Call Free)
AWS 2022년 Korea Summit 삼성전자 스마트씽즈 KDA 마이그레이션 사례 발표
22. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Streaming Application
KDA 데이터 분석 1) Streaming Application
정교한 스트리밍 Flink 애플리케이션
• 1초 미만의 지연 시간 지원
• 애플리케이션 요구 사항에 따라 자동 확장
• 사용한 리소스에 대해서만 비용 지불
• 관리할 서버 없음
• 모니터링 및 고가용성 내장
23. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
KDA의 Streaming Application 개발 프로세스
• 자주 사용하는 IDE를 활용
• AWS SDK, Amazon Kinesis Data Analytics
라이브러리를 다운로드하여 Apache Flink
애플리케이션 코드를 작성
• Java, Scalar, Python 지원
• 로컬 환경에서 Application을 디버깅과
테스트
Application 개발 및 테스트 패키징 파일 S3 Application 업로드 KDA로Application 배포 및 실행
• 환경변수와 Parallelism 동작 방식 최종결정
• 테스트를 로컬에서 충분히 진행한 후에
애플리케이션 코드와 종속성을 확인하여
패키징함
• 패캐징된 파일을 S3에 업로드함 (예시: Java
Application Jar 파일 또는 Python 코드파일과
connector등 종속 object의 zip 파일)
Bucket for Application
Jar
Or
Zip
Upload
❖ CI/CD Piple Line 구축 고려
• AWS 콘솔 또는 CLI를 활용하여 KDA
Streaming Application 생성
• 생성된 Application의 Configration에 미리
S3에 업로드한 Application 패캐징 파일 주소,
실행 환경 변수, checkpoint, snapshot,
networking 설정 등을 등록
• Application을 시랭하면 지속적으로원천
Streaming이 처리, 분석됨
24. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Source Transform
Window
(State read/write) Sink
Flink 상태저장 이벤트와 스트리밍 처리
Source
Transfromation
Transfromation
Sink
Streaming
Dataflow
25. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Source
Fliter/
Transform
State
read/write) Sink
Flink 스트리밍 병렬 처리
Streaming Dataflow
Parallerized View
operator.setParallelism(MAX_PARALLELISM/2),
where MAX_PARALLELISM is a variable equal to the
result of env.getParallelism()
26. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Task Manager
Slot
Task Manager
Slot Slot
KDA scales in terms of Kinesis Processing Units (KPUs)
• 1 vCPU, 4 GB mem, 50 GB disk Total number of all task slots = Parallelism
KPU and Parallelism Per KPU 단위의 리소스 지정
27. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Flink 스트리밍 상태 저장 처리와 내결함성
병렬로 확장 가능한 내장된 메모리 또는
로컬 디스크에 저장 가능한 상태(State)
Checkpoint
/ Snapshot
Chandy–Lamport algorithm for distributed snapshot
checkpoint and exactly once streaming processing
https://flink.apache.org/
28. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
KDA 자동 확장 (CPU based vs Event-Driven)
Amazon
CloudWatch Alarm Application Auto Scaling Amazon API Gateway AWS Lambda Amazon Kinesis
Data Analytics
Amazon API Gateway AWS Lambda Amazon Kinesis
Data Analysis
https://docs.aws.amazon.com/kinesisanalytics/latest/java/examples-autoscaling.html
• 기본 내장된 자동 확장 기능
oCPU 사용량이 15분 동안 75% 이상으로 유지되면 확장
oCPU 사용량 감소 후 몇 시간 동안 축소
• 자동 확장 커스텀 개발
oCPU 기준이 아닌 자체 경보를 기반으로 자동 확장 모범 지침 제공
29. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
• KDA 애플리케이션에 대한 구성 가능한 CloudWatch 지표 및 로그 지원
• 애플리케이션 상태를 알리기 위한 CloudWatch 경보 활용
CloudWatch Metrics
• CloudWatch 로그를 사용하여 애플리케이션 성능 및 오류 조건
모니터링
Logging
Apache Flink Dashboard
• Job과 Task 레벨 상세 모니터링, 매트릭스 데이터는 일시적 보관됨
KDA 모니터링
30. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
KDA 주요 CloudWatch 모니터링 지표
Application Health Resource Utilization Flink Application Process Source and Sink Metrics
❖ Source KDS 예시
31. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Apache Flink Dashboard
32
Flink Web Dashboard 주요 메뉴 Job and Task Level 모니터링
Flink 성능 모니터링
32. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
KDA Log Insights
• 모든 로그를 저장은 고비용 발생 – debug log
• Cloud watch log insights 활용
• Flink dashboard 확인
33. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Studio Notebook
KDA 데이터 분석 2) Studio notebook
쉽고 단순한 구축과 실행 환경 제공
• 1초 미만의 지연 시간 지원
• 스트림 Inspection과 시각화
• SQL, Python, Scala를 사용한 처리
• 빠른 서버리스 처리 애플리케이션 개발
• AWS Glue Data Catalog 통합
34. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates. 35
(1) KDA Application을 업로드할 S3 지정 (2) KDA Studio Notebook를 빌드하고 S3에 자동 업로드 버튼 클릭
(3) S3에 업로드된 Application을 KDA Streaming Application으로 배포 버튼 클릭
(4) KDA Streaming Application 확인 및 실행
Studio Notebook을 활용한 Stream Application 배포
35. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Analytics
Stream &
Batch Processing
Stateful
Event-Driven
Applications
Studio
Notebook
Streaming
Application
Flink API Stack
36. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Kinesis Data Analytics Demo
37
1. Kinesis Data Analytics Studio 데모(실시간 장비 데이터 분석)
2. Kinesis Data Analytics Streaming Applications 데모 (실시간 뉴욕 택시 승,하차 데이터 분석)
37. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Kinesis Data Analytics Studio 데모
- Real-time analytics with Flink SQL
(실시간 장비 데이터 분석)
38
https://github.com/awsmasudur/
realtime-device-monitoring-flink
데모 자료 링크:
38. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
데모 시나리오
39
모뎀 장비의
메타 데이터,
성능 데이터
• 인터페이스 상태 통계
(10초 간격)
• 1분 동안
평균 CPU Usage > 95%인 장비
실시간
수집,
통계 분석
39. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
데모 아키텍쳐
40
40. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
KinesisData Analyticsfor
StreamingApplications데모
(실시간 뉴욕 택시 승,하차 데이터 분석)
41
https://catalog.us-east-1-
prod.workshops.aws/workshops/c342c6d1
-2baf-4827-ba42-52ef9eb173f6/en-
US/flink-on-kda/
데모 자료 링크:
41. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
데모 시나리오
42
뉴욕 택시의
승하차 정보
• 실시간 택시 승하차 위치 통계
• John F. Kennedy
International Airport,
LaGuardia Airport 까지의
시간당 평균 택시 이동 시간
실시간
수집,
통계 분석
42. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
데모 아키텍쳐
43
Ingestion Layer Processing Layer Presentation Layer
43. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Take Away : Kinesis Data Analytics
간단한 프로그래밍
완전관리형 강력한 데이터 무결성
오픈소스
사용하기 쉽고
유연한 API로
스트리밍 실시간 분석
앱을 빠르게 구축 가능
짧은 대기 시간
높은 처리량을
서버리스하게 제공
사용한 만큼 과금
내구성 있는 일관된
애플리케이션 상태 저장
정확히 한 번 처리
활발한 오픈소스
커뮤니티를 보유한
Apache Flink
데이터 프레임워크
44. AWS DATA SPECIAL WEBINAR – KINESIS DATA ANALYTICS DEEP DIVE
© 2022, Amazon Web Services, Inc. or its affiliates.
Thank you!
© 2022, Amazon Web Services, Inc. or its affiliates.
전소영 syjeon@amazon.com
주혜령 joohyery@amazon.com