박진우 - AWS
Agenda
- 모던 데이터 환경에서의 데이터 분석 및 도전 과제
- 왜 서버리스 데이터 분석인가
- 목적에 맞는 서버리스 분석 서비스 살펴보기
- 서버리스 선택 가이드
- 마무리
모던 데이터 환경에서의 데이터 분석 및 도전 과제
모던 앱은 엄청난 양의 데이터를 가지고 있다. 2023년에는 123ZB가 발생할 것으로 예상한다.
고객은 데이터로 다양한 가치를 만들길 원한다. ex) 데이터 레이크에 쌓고 분석된 데이터를 활용하여 인사이트, 추천 등에 활용한다.
데이터 레이크: 구조화되거나 반구조화되거나 구조화되지 않은 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소
AWS의 데이터분석 도전 과제
더 복잡해지는 데이터 환경
- 폭발적인 데이터 증가
- 새로운 데이터 소스
- 더욱더 다양한 포맷
- 다양해진 소비자
- 분석 및 기계 학습
기존 분석 환경의 비효율
- 클러스터 설치 업그레이드 (대부분 마스터 또는 데이터 노드로 운영)의 불편함
- 수평/수직 확장의 불편함
- 모니터링의 불편함
- 의도치 않은 비용 발생
- 보안 문제
⇒ 분석을 하지 않아도 비용이 발생하고, 보안 관련해서도 직접 고민을 해야한다.
고객이 원하는 분석
- 데이터 전문 인력 없이, 사용하기 쉽고, 비용 효율적이며, 운영이 없거나 편안한 환경
왜 서버리스 분석인가?
Amazon EC2 에서 AWS Lambda.
- EC2 : 사용하지 않을때 계속 과금 발생하는 문제.
- Lambda: 원하는 언어로 시작, 빠른 스케일링(확장), 비지니스 로직 구현에 집중, Lambda 계층, 손쉬운 로깅, 모니터링, 알람, 사용한 만큼 지불
서버리스 분석
- 클러스터 설치 없이 바로 분석 시작 가능.
- 스스로 유연한 확장
- 빌트인 모니터링을 지원
- 사용한 만큼만 비용 지불(스캔 or 리소스 자원 등)
- 더 강력한 보안 (원하는 보안 모델, 전송 저장에 대한 보안)
서버리스 분석 서비스
서버리스를 사용 시, 개발자는 아래의 3가지만 하면 된다.
- 데이터 준비
- SQL,ETL, 검색
- 데이터 시각화
목적에 맞는 서버리스 분석 서비스 제공
데이터 분석을 위한 가장 많은 서버리스 분석 옵션 보유
- 아마존 퀵사이트(시각화) - 데이터 시각화
- 아마존 아테나(대화형 분석) - SQL 분석(페타바이트 규모)
- 아마존 레드쉬프트(데이터 웨어하우스) - SQL 분석
- AWS Glue(데이터 통합, ETL 및 카탈로그)- 데이터 가공
- 아마존 EMR(빅데이터 처리(하둡)) - 데이터 가공
- 아마존 오픈서치(검색 및 로그 분석) - 검색, 로그 분석
- 아마존 MSK(실시간 분석(카프카)) - 실시간 스트리밍
- 아마존 키네시스(실시간 분석) - 실시간 스트리밍
서버리스로 시각화하기
데이터에서 가장 빠르게 인사이트를 얻는 방법
- DB/Data 웨어하우스
아마존 퀵사이트
- 브라우저 기반: 쉬운 시각화 및 작업 공유
- 시각화에 집중: 설치 운영 확장, 장애 복구 불필요
- 합리적인 비용: 스탠다드 연간 구독 시 월 9$
- ML 인사이트/강력한 리포트
서버리스 BI를 활용한 인사이트 가속화
- 지표 및 대시보드 설계
- Auto NLQ & ML-insight
- 공유 및 접근 제어
다양한 데이터 소스 지원
- 분석 서비스 및 DB 또는 RDS, 오로라, 온프레미스 등 연결 가능하여 시각화가 가능함.
데이터 소스로부터 빠르게 분석 시작
서버리스로 SQL 분석하기
SQL 분석을 위한 서버리스 분석 서비스들
- 아마존 아테나 / 레드쉬프트 서버리스
아마존 아테나
- S3에 데이터를 넣으면 사용 가능
- ANSI SQL 분석
- 강력한 분석 지원(다양한 포맷, 압축, 복합 …)
- 사용한 만큼 지불
아마존 레드쉬프트 서버리스(페타바이트 주)
- 운영이 없음
- 위크로드에 자동 저장
- 데이터 레이크, 연합 쿼리, 데이터 쉐어림 지원
- 합리적인 비용
서버리스를 오기 위해서 레드쉬프트 컴퓨트 클러스가 존재. 서비스 개선을 통해 오토 스캘링, 병열처리, 쿼리 최적화 등 데이터 레이어를 분리를 하였다.
서버리스로 데이터 가공하기
AWS Glue
: 규모와 관계없이 모든 데이터를 탐색, 처리, 통합
- 올인원
- 대규모 작업
- 맞춤형 도구
- 가성비
AWS Glue Studio
: 사용하기 좋은 사용자 셋으로 분류
ETL 개발자
- 코드 작성 없이 ETL job 실행
- 단일 패널로 수천 개의 작업 모니터링
- 분산 프로세스
- 고급 변환도 간단한 코드로 가능
비즈니스 분석가 DS
- 풍부한 시각적 인터페이스
- 250+ 빌트인 변환
- 데이터 패턴과 이상 현상을 파악
- …
데이터 엔지니어
- 풍부한 시각적 인터페이스
- 250+ 빌트인 변환
- 데이터 패턴과 이상 현상을 파악
- 익숙한 작업 환경
Amazon EMR Serverless
: 빅데이터 처리에서 클러스터와 서버를 관리하지 않고도 EMR의 모든 이점을 누릴 수 있다.
동작 방식
- EMR 서버리스를 사용하면 요청이 있을 때마다, worker가 생겨 클러스터를 조작할 필요가 없어짐
- 시작 → 애플리케이션 생성 → job 제출 → 중지
서버리스로 검색 및 로그 분석하기
스트리밍 데이터 : 대용량 수집, 준 실시간, 분산형 스토리지
텍스트 검색: 자연어 처리, Boolean 쿼리, Relevance
로그 분석: 시계열 기반 시각화 등
아마존 오픈서치 서버리스
: 리소스 프로비저닝과 조정 없이 검색 및 로그 분석 제공
- 자동으로 프로비저닝, 스케일링, 튜닝
- 샤드 및 인덱스 상태 자동 관리
- 컴퓨팅과 스토리지 분리
- 인덱싱과 검색 파이프라인 분리(서로 영향을 미치지 않아짐)
- 빌트인 핫-웜 티어
- 액티브-스탠바이 데이터 노드
- 서버리스 대시보드
서버리스 스트리밍 서비스
아마존 키네시스
: 실시간으로 비디오 및 데이터 스트림을 손쉽게 수집, 처리 및 분석
- 온디멘드: 트래픽이 늘어나면 샤딩을 늘려야 했는데 트래픽에 따라 AWS가 처리를 해주는 기능이 증가
아마존 MSK 서버리스
: 예측할 수 없거나 가변적인 요구사항에 따라 용량을 즉시 확장 및 축소
- 카프카 오픈소스 등
서버리스 선택 가이드
예측할 수 없는 워크로드 → 사용한 만큼만 지불
주기적이지만 유휴시간 존재 → 유휴시간에는 지불하지 않음
스파이크성 요청 존재 → 추가된 만큼만 지불
서머리
서버리스는 항상 좋을까? No
- 우리 워크로드는 메모리를 너무 많이 사용해 → 프로비전드
- 디스크 IO를 마니 써 → 프로비전드
- 예측 가능하고 워크로드가 안정적이야 → 프로비전드
- 서비스의 모든 기능 사용이 가능해 → 프로비전드
서버리스를 자동차 비유한다면
프로비전드 - 자동차 사는거
서버리스 - 쏘카 같은거