製品 & テクノロジー

SnowflakeでのDevOpsによる開発と生産性の向上

SnowflakeでのDevOpsによる開発と生産性の向上

今日のデータドリブンな世界にはアジャイルなアプローチが必要です。現代のデータチームは、常に革新的なソリューションをこれまで以上に迅速に提供しなければならないというプレッシャーにさらされています。データエンジニアリング、アプリケーション開発、AI/ML開発にまたがるツールの断片化が大きなボトルネックとなり、競争力を維持するために必要な価値の提供スピードが阻害されます。異なるツールは開発者やデータチームにとって複雑な状況を生み出し、効率的なパイプラインの開発や展開の妨げとなります。さらに、サードパーティソリューションに依存していると、複雑さが増し、総運用コストが増大します。すべてのSnowflakeのお客様に、開発ワークフローを合理化するために必要なコアビルディングブロックを、DevOpsのベストプラクティスに即して提供し、本番環境へのシームレスなパスを構築できることを嬉しく思います。

Snowflakeを利用したDevOpsにより、データチームの開発と生産性を促進

Snowflakeは、開発ライフサイクルを加速させ、データチームの全体的な生産性を向上させる統合アプローチを提供します。この一貫したアプローチは、Gitバージョン管理、Python API、宣言型オブジェクト管理、シームレスなCI/CD自動化を統合しており、次のような強力な方法を提供します。

  • シングル・ソース・オブ・トゥルース(信頼できる唯一の情報源)を維持:すべてのファイルがGit内に存在し、データアセット、コード、構成が一元管理され、バージョン管理されます。これにより、一貫性が確保され、コラボレーションが簡素化され、必要に応じてロールバックが合理化されます。これらはすべて、本番環境にとって極めて重要なSnowflakeの安全な境界内で行われます。
  • データベースオブジェクトを宣言的に管理PythonまたはSQLとデータベース変更管理を使用した、Snowflakeオブジェクトの定義と管理のための宣言型アプローチを活用します。これにより、複雑なスクリプトが不要になり、読みやすくなります。
  • CI/CDワークフローの自動化と有効化:業界標準のCI/CDオートメーションで開発パイプラインを最新化。既存のCI/CDツールとシームレスに統合したり、Snowflake CLIとSnowflake Notebookを組み合わせて利用したりすることで、コマンドの実行とパイプライン全体のオーケストレーションを自動的に実行し、効率的で信頼性の高い展開を実現できます。

この統合されたアプローチは、SnowflakeのコアDevOpsビルディングブロックに適用され、データチームがコラボレーションを行い、オブジェクトを簡単に管理し、反復タスクを自動化するための新しい道筋を提供します。最終的には、より効率的な価値提供サイクルの基盤となり、データチームはより迅速かつ大きな効果を提供できるようになります。

Snowflake Notebook + Git統合 + CLIによる共同開発と簡単なCI/CDセットアップ

最近パブリックプレビュー(PuPr)で発表されたGit統合は、コードの一元的なソース・オブ・トゥルース(信頼できる情報源)を提供します。Gitレポジトリ(GitHub、GitLab、Azure DevOps、Bitbucket)をSnowflake Notebook(PuPr)またはSQL/Pythonファイルにセキュアに接続し、SQLスクリプト、Snowpark関数、プロシージャ、Snowflakeネイティブアプリ、Streamlitアプリをシームレスに管理できます。

開発者は、Snowflake Notebookと新しく改良されたSnowflake CLIを使用してCI/CDワークフローを達成することもできます。Snowflake CLI GitHubアクションをトリガーしたり、任意のCI/CDツールを接続して、CLIコマンドを自動的に実行したり、パイプライン全体をオーケストレーションしたりできます。この設定により、ノートブックスケジューラを使用してテストを自動化し、展開を合理化するとともに、実行履歴結果にアクセスしてより迅速にデバッグできるようになります。

改良された新しいSnowflake CLI

Snowflake CLIの最新機能改善(近日中に一般提供開始)により、開発者がさまざまなタスクやワークフローを自動化できる強力なオープンソースのコマンドラインインターフェイスが提供されます。開発者は、Snowflake CLIを使用して、Snowflakeオブジェクトの作成と管理、Snowparkプロシージャと関数のデプロイの自動化、Snowflakeコンテナサービスの管理、Snowparkアプリの構築、パッケージ化、デプロイを行うことができます。さらに、Streamlitアプリの作成、展開、共有、管理が合理化され、SQLクエリの実行が容易になり、専用のGit統合コマンドも装備されます。つまり、Snowflake CLIは全体的な生産性を高め、CI/CDの自動化を可能にしてよりスムーズなDevOpsエクスペリエンスを実現します。

Snowflake CLIを使用したお客様の感想をご覧ください。 

「CI/CDパイプラインをSnowflake CLIに切り替えてから、開発スピードが大幅に向上しました。当社のコミット率は、週あたり89コミットという驚異的なピークに達しています。これは、週あたり20コミットを超えることが常に課題となっていたDatabricksで達成できた限界とは対照的です。Snowflakeの合理化されたアプローチにより、開発チームの効率と生産性が向上しました。その結果、革新的な機能をはるかに迅速にお客様に提供できるようになりました」 - Travelpass、データアーキテクト、David Web氏

Snowflake Python APIを使用して最新のデータパイプラインを構築

Snowflakeの最新のPython APIスイート(近日中に一般提供開始)は、Pythonによるデータパイプライン開発プロセスを簡略化します。REST APIを基盤として構築されており、豊富な機能、性能の強化、既存のツールとの効率的な統合を提供します。シンプルなpipインストールのsnowflakeは開発者にアクセスを許可し、SQLとPythonを行ったり面倒な構文に対処したりする必要がなくなります。これらのコアAPIでは、テーブル、スキーマ、ウェアハウス、タスク、RBAC(ロールベースアクセス制御)、Snowparkコンテナ、Cortexなどの作成、削除、変更が可能です。 

宣言的データベース変更管理

データベース変更管理(DCM)により、データの提供ライフサイクルが簡略化されます。DCMでは、サポートされているSnowflakeオブジェクト全体での変更(CREATEまたはALTER)(パブリックプレビュー)を、Gitリポジトリまたはステージング環境から直接、大規模に宣言的に管理できます。テーブルとタスクがサポートされたため(今後さらにリソースを追加予定)、開発者は現状を維持することなくこれらのリソースを定義または変更できるようになりました。データ定義言語(DDL)スクリプトをソース管理に保存すれば、Snowflakeが自動的に必要な変更を適用し、オブジェクト間で一貫性を維持します。これにより、複雑なサードパーティツールや面倒なステートファイルが不要となり、高品質の実稼働グレードのデータアプリケーションの構築に注力できるようになります。

Snowflakeで価値を提供する新しい方法を取り入れる

Snowflakeは、データエンジニアリング、アプリケーション開発、AI/ML開発を単一のプラットフォーム内で統合することにより、開発者が断片化されたツールの制限から解放され、すぐに本番稼働可能な環境への合理化されたパスを提供します。SnowflakeのビルトインDevOps機能は、自動化ワークフロー、シームレスなCI/CDパイプライン、共同開発の基盤となります。

これらのネイティブなDevOps機能により、ユーザーは効率的な開発のための構成要素(一部はフルオープンソース)を手にすることができ、Snowflakeコミュニティメンバーは既存の機能セットを拡張し、複雑なワークフローのスクリプト作成の煩わしさを解消し、進化し続けるAI時代に競争力を獲得することができます。

まずDevOpsドキュメントをご覧ください。

記事をシェアする

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

30日間の無料トライアルを開始する

Snowflakeの30日間無料トライアルで、他のソリューションに内在する複雑さ、コスト、制約の課題を解決するデータクラウドを体験できます。