카테고리 없음

[AWS Summit] 서버리스, 이제는 데이터 분석에서 활용해요! (정리)

나른한 노치 2023. 5. 9. 01:12

박진우 - AWS

Agenda

  • 모던 데이터 환경에서의 데이터 분석 및 도전 과제
  • 왜 서버리스 데이터 분석인가
  • 목적에 맞는 서버리스 분석 서비스 살펴보기
  • 서버리스 선택 가이드
  • 마무리

모던 데이터 환경에서의 데이터 분석 및 도전 과제

모던 앱은 엄청난 양의 데이터를 가지고 있다. 2023년에는 123ZB가 발생할 것으로 예상한다.

고객은 데이터로 다양한 가치를 만들길 원한다. ex) 데이터 레이크에 쌓고 분석된 데이터를 활용하여 인사이트, 추천 등에 활용한다.

데이터 레이크: 구조화되거나 반구조화되거나 구조화되지 않은 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소

AWS의 데이터분석 도전 과제

더 복잡해지는 데이터 환경

  • 폭발적인 데이터 증가
  • 새로운 데이터 소스
  • 더욱더 다양한 포맷
  • 다양해진 소비자
  • 분석 및 기계 학습

기존 분석 환경의 비효율

  • 클러스터 설치 업그레이드 (대부분 마스터 또는 데이터 노드로 운영)의 불편함
  • 수평/수직 확장의 불편함
  • 모니터링의 불편함
  • 의도치 않은 비용 발생
  • 보안 문제

⇒ 분석을 하지 않아도 비용이 발생하고, 보안 관련해서도 직접 고민을 해야한다.

고객이 원하는 분석

  • 데이터 전문 인력 없이, 사용하기 쉽고, 비용 효율적이며, 운영이 없거나 편안한 환경

왜 서버리스 분석인가?

Amazon EC2 에서 AWS Lambda.

  • EC2 : 사용하지 않을때 계속 과금 발생하는 문제.
  • Lambda: 원하는 언어로 시작, 빠른 스케일링(확장), 비지니스 로직 구현에 집중, Lambda 계층, 손쉬운 로깅, 모니터링, 알람, 사용한 만큼 지불

서버리스 분석

  • 클러스터 설치 없이 바로 분석 시작 가능.
  • 스스로 유연한 확장
  • 빌트인 모니터링을 지원
  • 사용한 만큼만 비용 지불(스캔 or 리소스 자원 등)
  • 더 강력한 보안 (원하는 보안 모델, 전송 저장에 대한 보안)

서버리스 분석 서비스

서버리스를 사용 시, 개발자는 아래의 3가지만 하면 된다.

  • 데이터 준비
  • SQL,ETL, 검색
  • 데이터 시각화

목적에 맞는 서버리스 분석 서비스 제공

데이터 분석을 위한 가장 많은 서버리스 분석 옵션 보유

서버리스로 시각화하기

데이터에서 가장 빠르게 인사이트를 얻는 방법

  • 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를 마니 써 → 프로비전드
  • 예측 가능하고 워크로드가 안정적이야 → 프로비전드
  • 서비스의 모든 기능 사용이 가능해 → 프로비전드

서버리스를 자동차 비유한다면

프로비전드 - 자동차 사는거

서버리스 - 쏘카 같은거