Slide 1

Slide 1 text

Snowpark Container Service 2024/12/13 5分でわかる! あれ(kajiya) / DATUM STUDIO株式会社

Slide 2

Slide 2 text

© 2024 DATUM STUDIO Co. Ltd. 2 自己紹介 【名前】 梶谷 美帆 / Miho Kajiya X→あれ(@__allllllllez__) 広報さんにカッコよく撮影していただいた 【所属】 DATUM STUDIO株式会社 データエンジニアリング本部 データエンジニア部 GL/プリンシパルエンジニア 【ユーザーコミュニティ】 • Snowflake ユーザーグループ(SnowVillage) コンテナグループ リーダー / 女子会幹事 • primeNumber User Group(pUG) リーダー そして 2024 Data Superheroes Data Superhero のすがた

Slide 3

Slide 3 text

© 2024 DATUM STUDIO Co. Ltd. 5分でわかる! Snowpark Container Service (SPCS)

Slide 4

Slide 4 text

© 2024 DATUM STUDIO Co. Ltd. コンテンツ • 基本編 • SPCS 概要 • SPCS って何が嬉しいの? • 応用編 • Snowflake アプリケーションの進化 • Native Apps Framework と SPCS の統合 • Snowflake Trail によるオブザーバビリティ • Architecture Deep Diveと今後の展望

Slide 5

Slide 5 text

© 2024 DATUM STUDIO Co. Ltd. SPCS 基本編

Slide 6

Slide 6 text

© 2024 DATUM STUDIO Co. Ltd. 6 SPCS 概要 Snowpark Container Services(以下 SPCS) は、Snowflake で簡単にコンテナアプリ ケーションを運用するために設計されたフルマネージドなコンテナサービスです。 概要 ✓ Snowflake アカウント内でコンテナアプリケーションを実行する、 フルマネージドコンテナサービス ✓ 任意の言語で作成したアプリケーションをSnowflakeに持ち込め る(例:C/C++、Node.js、Python、Rなど) ✓ 使い慣れたSQLやPython API、CLIでデプロイや実行などの操作 が可能 ✓ vCPU数・メモリが小さく低コストなインスタンスから、強力な GPU搭載インスタンスまで、用途に合わせて選択可能 引用:Snowflakeブログ(https://www.snowflake.com/en/blog/snowpark-container-services-deploy-genai-full- stack-apps/) 概略図 特徴③ Native Appsとの統合 ✓ 任意の言語で書かれたアプリケーションをマーケットプレイスで入手可能 ✓ dbt、sas など多様なアプリケーションがリリースされている 引用: https://docs.getdbt.com/docs/cloud- integrations/set-up-snowflake-native- app 特徴② 学習コストが低く、手がかからない ✓ アプリケーションの構成はyamlで記述するだけ ✓ コンテナ環境のネットワーク等の構成、セキュリティ設定などは自動的に行わ れ、ユーザーはアプリケーションの開発に専念できる 特徴① Snowflakeのデータをセキュアに扱える ✓ アプリケーションは Snowflake 環境内で実行される ✓ Snowflake のデータをアプリケーションで扱うためにSnowflake外にデータ が出てしまう心配ナシ

Slide 7

Slide 7 text

© 2024 DATUM STUDIO Co. Ltd SPCS 概要 SPCS を構成する主な要素は、イメージレジストリ・コンピューティングプール・ サービス/ジョブの3つ アプリケーション イメージの保存先 コンピューティング プール ジョブ/サービスを実行する 仮想マシン ノード コレクション 継続しない アプリケーション 継続して稼働する アプリケーション サービスで定義した 処理を呼び出すUDF ジョブ サービス関数 サービス コマンドに直接 書いてもいい push SQL・CLIなどで操作 イメージ pull 作成 コマンド 操作 サービス/ジョブ操作 インタフェース イメージ レジストリ サービス構成 yaml

Slide 8

Slide 8 text

© 2024 DATUM STUDIO Co. Ltd. 8 SPCS 概要 実際のクエリはこんな感じ CREATE COMPUTE POOL tutorial_compute_pool MIN_NODES = 1 MAX_NODES = 1 INSTANCE_FAMILY = CPU_X64_XS; CREATE IMAGE REPOSITORY tutorial_repository; CREATE SERVICE echo_service IN COMPUTE POOL tutorial_compute_pool FROM @tutorial_stage SPECIFICATION_FILE = 'echo_spec.yaml'; コンピューティング プール イメージレジストリ サービス/ジョブ ※必要に応じて Security Integration 等の作成も発生します。 が、難易度的には誤差だよ誤差

Slide 9

Slide 9 text

© 2024 DATUM STUDIO Co. Ltd SPCS って何が嬉しいの? SPCSを使うことで、データ漏洩リスクを軽減しながら、使い慣れた言語やツールで のデータ活用や大規模なAI・MLの利用が可能に! LLMを用いたアプリケーションの作成 ✓ JupyterLab や Rstudio のような分析IDEを利用する場合、 Snowflake の外にIDEを建てなければならなかった ✓ Snowflake 環境外にデータを持ち出すリスクが発生 https://zenn.dev/t_koreeda/articles/06de768b7d1fb3 より引用 セキュアな環境で、使い慣れた言語での分析 ✓ 任意の言語のアプリケーションを Snowflake 内で建てられる ✓ データをIDEで扱うためにSnowflake外にデータが出てしまう心配 ナシ ✓ Snowflake のウェアハウスには GPU インスタンスが無かったため、 LLMなどの大型 GPU が必要な場合、インスタンスを外部に用意す る必要があった ✓ やっぱりデータ持ち出しリスクが発生 ✓ 大型のGPU(最大スペック:92 vCPU、1152 GB RAM、40 GB VRAM NVIDIA A100 GPU)が利用可能 ✓ 外部にデータを持ち出すことなく、社内データを利用したLLMアプ リケーション(RAGアプリなど)を作成可能 https://speakerdeck.com/sino20023/spcsxrokarullmdeying-ye-dan-dang-xiang- ke-shi-suo-chu-siapurizuo-rinitiao-zhan-sitemita より引用

Slide 10

Slide 10 text

© 2024 DATUM STUDIO Co. Ltd. SPCS って何が嬉しいの? つまり、 こういうこと データインジェスト ワークフローエンジン お好きな言語の データアプリケーション データウェアハウス データ変換フレームワーク データカタログ AI/MLプラットフォーム ビジネスインテリジェンス 分析環境 https://speakerdeck.com/__allllllllez__/spcs-deshi-xian-suru-dbt-all-in-snowflake-noshi-jie より

Slide 11

Slide 11 text

© 2024 DATUM STUDIO Co. Ltd. SPCS って何が嬉しいの? つまり、 こういうこと データウェアハウス データインジェスト データ変換フレームワー ク データカタログ AI/MLプラットフォーム ビジネスインテリジェンス 分析環境 ワークフローエンジン お好きな言語の データアプリケーション https://speakerdeck.com/__allllllllez__/spcs-deshi-xian-suru-dbt-all-in-snowflake-noshi-jie より

Slide 12

Slide 12 text

© 2024 DATUM STUDIO Co. Ltd. ちなみに 割とマジでできます(2024/09 SWT Tokyo にて) https://zenn.dev/datum_studio/articles/1058d49960f006 より

Slide 13

Slide 13 text

© 2024 DATUM STUDIO Co. Ltd. SPCS 応用編

Slide 14

Slide 14 text

© 2024 DATUM STUDIO Co. Ltd. 14 Snowflake アプリケーションの進化 Summit 2024で、アプリケーションの構築と配布および DevOps に関して多くの アップデートが発表されました 超超超盛り上がった アプリデモ3連発 フルスタックアプリケーション • Snowpark Container Services (一般提供、GCPはちょっと待ってね) • Snowflake Native Apps と Snowpark Container Services の統合(2024/11、BULDでGA) Snowflake Trailによるオブザーバビリティ • 分散型トレース for Snowpark • Snowpark Container Services のメトリクス • データパイプラインのオブザーバビリティ(GA) • OpenTelemetry統合(GA) DevOpsとオーケストレーション • サーバーレスタスク(GA) • サーバーレスタスクフレックス • Git統合 • Snowflake CLI • Python API • データベース変更管理

Slide 15

Slide 15 text

© 2024 DATUM STUDIO Co. Ltd. 15 Native Apps Framework と SPCS の統合 • テーブルやビューなどのデータと、UDFやス トアドプロシージャなどで作成したロジック をまとめて「アプリケーション」として共有す るもの • Streamlit でUI作成も可能 • 有償化も可能 • Snowflake で不労所得を得る方法 • 日本の企業では truestar、NTTデータ、 RAKUDEJI などがAppを公開(↓) ※敬称略 Native Apps Framework とは、データと関連するロジックをアプリケーションにま とめて、他のSnowflakeアカウントと共有できる機能 https://docs.snowflake.com/ja/developer-guide/native-apps/native-apps-about

Slide 16

Slide 16 text

© 2024 DATUM STUDIO Co. Ltd Native Apps Framework と SPCS の統合 こんなアプリがSnowflake Marketplace経由で入手できるようになります

Slide 17

Slide 17 text

© 2024 DATUM STUDIO Co. Ltd. 17 Snowflake Trail によるオブザーバビリティ これまで • ログとトレース、監視系の機能はいくつか公開済 • しかし、Native App のログや SPCS サービスのモニタリ ングなど、細かい(?)ところに手が届いていない 機能 • Snowpark メトリクス...CPU使用率、メモリ使用量を観測 • Python コードプロファイラー ... プロファイラが時間が かかる箇所を調査、最適化が可能に • Snowsight にオブザーバビリティUIが追加 • ...etc 使い方 • Snowsight で使うもよし • OpenTelemetry準拠なので、Datadog、Grafana などの 外部ツールでも利用可能 データパイプラインとアプリケーション、データ品質を対象に可観測性を強化する 一連のSnowflake機能

Slide 18

Slide 18 text

© 2024 DATUM STUDIO Co. Ltd. 18 Architecture Deep Diveとロードマップ Summit 2024「Snowpark Container Services Security Deep Dive and best practices」では、詳細なアーキテクチャ解説とロードマップ提示がありました

Slide 19

Slide 19 text

© 2024 DATUM STUDIO Co. Ltd. 5分でわかる! Snowpark Container Service (SPCS)

Slide 20

Slide 20 text

© 2024 DATUM STUDIO Co. Ltd. 5分でわかりましたか? わかりましたよね????

Slide 21

Slide 21 text

© 2024 DATUM STUDIO Co. Ltd. どんどん使おう!SPCS!

Slide 22

Slide 22 text

© 2024 DATUM STUDIO Co. Ltd. おしまい