본문 바로가기
AWS/AWS TechCamp

6. AWS TechCamp [기본 과정] : Snowflake 데이터를 활용한 AWS 머신러닝 서비스 구축하기

by jys275 2024. 6. 27.

2024년 6월 27일 (목) 2:00 PM – 5:00 PM

 

 


 

 

Snowflake

 

 

클라우드 기반의 데이터 웨어하우스 서비스

 

탄탄한 데이터 기반을 위한 요구 조건 
끊임없는 데이터 사일로 현상 : 사일로는 운영의 복잡성을 증가시키고 분석을 위해서는 결국 데이터의 이동을 발생 
→ 통합된 데이터 : 단일 플랫폼에서 비정형 데이터 포맷, 오픈 포맷, 서드파티 데이터까지 모두 접근 

 

숨은 비용 증가 : 최적화 작업을 위한 여러 가지 수동 작업과 여러 가지 서비스/기능을 통해
숨겨진 비용이 발생 
→ TCO 절약
: 완전 관리형 서비스를 사용하여 최소한의 시간, 노력, 전문 지식만으로 대규모 사용자 대상의 워크로드를 효율적으로 지원 

 

단편적인 정책 : 시스템과 사용자 전반에 걸쳐 일관되지 않은 거버넌스 정책으로 인한 보안 위험 
→ 단일 적용 거버넌스 : 단일 거버넌스 모델 기반 아래서 포괄적인 규정 준수, 보안 및 개인 정보보호 제어 기능 

 

 

Snowflake의 스토리지(클라우드 스토리지 기반)

데이터에 대한 통합 액세스

비정형, 반정형, 정형데이터 결합 무한에 가까운 데이터 볼륨 확장 가능 

대규모 데이터를 손쉽게 관리 

모든 데이터 관리 자동화
규모와 상관없이 빠르고 효율적인 데이터 액세스, 

최적화된 압축 및 강력한 데이터 보호 

유연성 & 상호 운용성 

온프렘 또는 open data format을 기반으로 하는 데이터를 지원하여,

종속성을 제거
모든 아키텍처 패턴에 적용 가능 

 

 

Snowflake의 멀티 클러스터 엔진(Virtual warehouses)

스토리지와 완전히 구분되어 있기 때문에 필요에 따라 데이터 처리 및 분석 환경을 독립적으로 조정할 수 있다.

모든 워크로드를 위한 하나의 엔진 

GPU를 포함한 유연한 컴퓨팅 옵션 제공 스트리밍 데이터 파이프라인, 분석, AIML, 대화형 앱 워크로드 지원 

높은 성능과 동시 처리성 

튜닝 없이도 최고 수준 성능 제공,
격리된 멀티 엔진 아키텍처를 바탕으로
사용자 수나

작업량, 데이터 크기와 관계없이 안정적인 성능 

친숙한 언어 사용 

SQL, Python, Java를 통한 분석 지원
Snowpark로 데이터 이동 없이 원하는 라이브러리로 실행 

유연한 개발 환경 

유연한 네이티브 개발 인터페이스 이 외에도 자체 IDE, 서드파티 툴 활용 가능 

 

 

Snowflake의 유연한 확장성 
- 3.9B : 하루 평균 쿼리 개수

- 140T+* : 가장 큰 테이블의 row 개수 
- 160K+* : 고객이 1분 이내 간격으로 실행하는 최대 쿼리 개수 

- 171PB* : Snowflake 최대 고객 5개 회사의 총 데이터 (압축된 기준) 

* Oct 1, 2023 to Oct 31, 2023  

 

 

Snowpark

Snowflake는 기본적으로 SQL을 사용한다.

이를 개선하기 위해 개발 라이브러리 Snowpark를 출시했다.

원하는 언어 선택 

모든 사용자가 기본 Python, Java, Scala 지원을 통해
단일 플랫폼으로 작업 수행 가능 

거버넌스 동일 적용 

Snowflake 모든 워크로드에 걸쳐 일관된 제어를 적용

더 빠르고 저렴한 파이프라인

최소한의 코드 변경, 더 나은 가격 대비 성능,
투명한 비용, 더 적은 오버헤드로 Spark파이프라인 마이그레이션

 

 

Snowflake의 클라우드 서비스 영역 

자동 및 완전 관리형 서비스 

비용이 많이 들고 복잡한 작업을 자동화하여 실수를 줄이고, 효율성을 높여줌

릴리스를 통해 자동으로 투명한 성능 향상이 적용 

통합된, 단일 빌트 인 거버넌스 

추가 구성이나 프로토콜 없이
통합 규정 준수, 보안, 

개인 정보 보호, 상호 운용성 및 액세스 기능을 제공 

빌트 인 AI 기능들 

LLM 및 벡터 검색 기능에 안전하게 액세스 가능

 

 

Snowflake의 비용이 산정 방법
크게 두 가지 영역으로 스토리지 비용,

분석에 사용되는 Virtual warehouses에 대한 비용

 

 

기존 방식과 Snowflake 비교

기존 방식

1. 데이터가 다른 환경으로 복사 
2. Pipeline 관리에 노력과 시간 발생 
3. 데이터 전송 오류 시 지연 발생 
4. 데이터 이동 시 보안 이슈 

스노 플레이크

1. ETL 파이프라인 또는 물리적인 복사 없이 클라우드 간 또는 리전 간 협업이 가능 
2. 실시간 버전의 데이터에 실시간 쿼리 
3. 강력한 데이터 거버넌스로 개인 정보 보호 

 

 

Snowflake Marketplace

다른 고객에게 데이터나 애플리케이션을 판매할 수도 있으며,

다른 회사의 데이터와 애플리케이션을 자유롭게 활용할 수 있는 플레이스다.

 

 

Snowflake와 AWS가 협업하는 이유
- 84% : Snowflake customers deployed on AWS 
- 28개 : AWS services integrated with Snowflake 
- 20개 : AWS regions where Snowflake is deployed 

Snowflake와 AWS의 연동 서비스

 

 


 

 

LLM으로 개인화된 이메일 생성하기 (Snowflake + Amazon Bedrock) 

 

 

Instructions
고객의 작년 가장 빈번한 소매 구매 내역을 검토

이러한 습관을 기반으로 고객의 쇼핑 프로필을 설명하는 맞춤형 이메일을 작성

고객의 구매 이력에서 고려할 만한 제품과 브랜드를 제안하는 맞춤 메시지를 추가


Hands-On Lab Architecture
1. 유저는 Streamlit App에서 개인화된 이메일을 요청
2. Streamlit App은 스노우플레이크 데이터에 접근
3. Snowflake External Access를 통해 유저의 질문과 데이터를 Amazon Bedrock으로 전달
4. Streamlit App이 GenAI 
모델의 답변을 받아 유저에게 제공

 


ASK_BEDROCK 
1. Instructions : Amazon Bedrock 모델에 질문할 내용을 삽입
2. User_context : 정확한 답변에 활용될 데이터분석 결과
3. Model : Amazon Bedrock에서 지원하는 여러 모델 중에서 선택한 모델
↳ Amazon Titan Text Express, AI21 Jurassic-2 Ultra, Anthropic Claude 3.5 Sonnet 


 

 


 


AWS Marketplace

 


간소화된 조달 및 제어기능을 통해 원하는 소프트웨어,

데이터 및 전문 서비스를 쉽게 검색, 테스트, 구매 및 배포할 수 있도록 큐레이팅된 디지털 카탈로그 

AWS Marketplace 운영원리


Self Service

고객이 스스로 접속해 원하는 제품을 찾아 조건 그대로 구매하는 서비스

MMPO(Marketplace Seller Private Offers)

판매자가 직접 고객에게 제공하는 개인 맞춤형 제안

CPPO(Channel Partner Private Offers)

채널 파트너가 고객에게 제공하는 개인 맞춤형 제안을 의미한다.

채널 파트너는 AWS 솔루션을 고객에게 판매하고 지원하는 중개자 역할

 


 

 

Amazon Web Servives, "AWS Workshop Studio Join hands-on events and workshops", 

AWS Workshop Studio, 2008 - 2024, https://catalog.workshops.aws/

 

Amazon Web Servives, "AWS Builders Korea Program 클라우드 실습 A to Z",

AWS Builders Korea Program, 2024, https://kr-resources.awscloud.com/aws-builders-korea-program