APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Databricks AppsでデータとAIの価値を最大化する:実践的アプリ開発の最前線

※本記事は、Data + AI Summit のセッションを現地で視聴したエンジニアが、内容をできる限り客観的に共有することを目的に、生成AIを活用して作成したものです。 ― エーピーコミュニケーションズ Lakehouse部

Databricksが提供するデータとAIの統合プラットフォームは、多くの企業でデータ活用の中心的な役割を担っています。しかし、蓄積されたデータや開発されたAIモデルを、いかにして現場の業務担当者が使いやすい形で届け、ビジネス価値に繋げるかという課題は依然として存在します。

この課題に対するDatabricksの新しい答えが「Databricks Apps」です。先日開催されたセッション「Databricks Apps: Turning Data and AI Into Practical, User-Friendly Applications」では、Databricksのプロダクトマネジメントディレクター Justin DeBrabant氏とソリューションアーキテクト Nic Heier氏が、新プラットフォームの概要と実践活用のポイントを紹介しました。

本記事では、このセッションの内容をもとに、Databricks Appsがなぜ今必要なのか、その主要な機能、そして開発を成功させるためのベストプラクティスまでを、ご紹介します。

なぜ今、Databricks Appsが必要なのか?

多くの組織では、データとAIへの投資が急速に進んでいます。Justin氏はセッションの冒頭で、「皆さんはDatabricksに多大な時間と費用を投じ、データを収集・クレンジングし、モデルを構築してきました。そして今、実際にビジネスに変化をもたらす段階に来ています」と語りました。この「最後のワンマイル」を埋めるのが、Databricks Appsの重要な役割です。データやAIの力を技術者だけのものにせず、組織全体に民主化するための新しい手段と言えるでしょう。

もう一つの重要な背景として、データチームが日々直面している「手作業の多さ」が挙げられます。Justin氏は、「あなたのSlackやメールを見てください。どれだけ多くの個別依頼が来ていますか?」と問いかけます。「このクエリを実行してほしい」「このデータを抽出してほしい」といった依頼に、データエンジニアやデータサイエンティストの貴重な時間が費やされているのが現状です。

Databricks Appsは、こうした手作業を自動化し、ビジネスユーザー自身が必要な操作を行えるセルフサービス型のアプリケーションを構築することで、データチームの負荷を軽減し、より価値の高い業務に集中できる環境を実現します。

Databricks Appsの全体像:サーバーレスとネイティブ統合

Databricks Appsの技術的な核心は、サーバーレス基盤とDatabricksサービスとのネイティブな統合にあります。

アプリケーションは完全にサーバーレスな基盤上で動作するため、開発者はインフラのプロビジョニングや管理、セキュリティパッチの適用といった運用業務から解放されます。これにより、ビジネスロジックの実装に集中し、迅速なデプロイが可能になります。

また、Databricks Appsは汎用的なアプリケーションホスティングサービスではありません。Justin氏が「Databricksの他のサービスに接続していないアプリは、効率的とは言えないでしょう」と述べたように、その真価はDatabricks SQL、Model Serving、そしてUnity Catalogといったプラットフォーム内のサービスとシームレスに連携することで発揮されます。認証やガバナンス、ネットワーク設定などを個別に構築する必要がなく、既存のDatabricks環境の資産を最大限に活用できるのです。

主要な機能:開発を加速する強力なツール群

Databricks Appsは、開発者が迅速かつ安全にアプリケーションを構築できるよう、多くの機能を標準で提供しています。講演で特に強調されたのは以下の点です。

  • ネイティブなサービス連携: Databricks SQLによるデータアクセス、Model Servingを通じたAIモデルの呼び出し、Unity Catalogによるデータガバナンスなど、Databricksプラットフォームのコア機能と直接連携します。これにより、複雑な設定なしに、データとAIを活用したアプリケーションを構築できます。

  • 豊富な開発フレームワークのサポート: 当初はPythonベースのフレームワーク(Streamlit, Gradio, Dash, Flaskなど)が中心でしたが、セッションではReactとNode.jsのサポートが発表されました。これにより、フロントエンド開発者も使い慣れたツールで、より洗練されたUIを持つアプリケーションを開発できます。

  • 開発を加速するテンプレート: ゼロから開発を始める必要はありません。RAGチャットボットやデータ可視化など、一般的なユースケースに対応したテンプレートが用意されており、数クリックで基本的なアプリケーションの雛形をデプロイできます。今後、Databricksが提唱するベストプラクティス集「Bricks」に対応した、より高度なテンプレートもマーケットプレイス経由で提供される予定です。

これらの機能は、開発の初期段階における障壁を大幅に下げ、アイデアを素早く形にすることを可能にします。

セキュリティとガバナンス:Unity Catalogとの強力な連携

企業データを扱うアプリケーションにおいて、セキュリティとガバナンスは最も重要な要素の一つです。Databricks Appsは、Unity Catalogと密接に連携することで、この課題を解決します。

各アプリケーションはデプロイ時に専用のサービスプリンシパルが自動で作成されます。このサービスプリンシパルに対してリソースへのアクセス権を付与することもできますが、Databricks Appsの真に強力な点は、もう一つの認可モデルにあります。

それは、ユーザーの権限を継承してリソースにアクセスするモデルです。Justin氏はこれを「on-behalf-ofアクセスコントロール」と呼んでいました。例えば、あるユーザーAがUnity CatalogでテーブルXへのアクセス権を持っている場合、そのユーザーがアプリを使うとテーブルXのデータを参照できます。一方、アクセス権を持たないユーザーBが同じアプリを使っても、テーブルXのデータは見えません。

このように、アプリ側で複雑な権限管理ロジックを実装することなく、Unity Catalogで一元管理されているガバナンスポリシーをそのままアプリケーションに適用できるのです。これにより、開発者はセキュリティリスクを心配することなく、機能開発に専念できます。

実装アプローチとベストプラクティス

元ユーザーとして豊富な実践経験を持つNic Heier氏は、開発を成功に導くための具体的なアプローチを共有しました。彼のメッセージは一貫して「小さく始めて、素早く展開する」というものです。

かつてAzure App Serviceなどでアプリを開発していた際には、インフラの準備や依存関係の整理、ネットワーク設定、権限管理など、多くの障壁があったそうです。しかしNic氏によれば、「デプロイからわずか10分程度でアプリを公開できた」経験から、Databricks Appsの手軽さを実感したとのことです。

彼が推奨するアプローチは「デプロイファースト」です。まずテンプレートを使って空のアプリをデプロイし、CI/CDパイプラインを確立します。その後、タイトルを変えて再デプロイしてみるなど、小さな変更を加えながらイテレーションを繰り返すことで、ローカル環境と本番環境の乖離を防ぎ、開発サイクルを劇的に高速化できると述べました。

また、Gitを用いた適切なブランチ戦略、環境変数による設定の分離、シークレット管理といった基本的なベストプラクティスを、Databricks Appsは低摩擦で実践できるよう支援します。将来的には、特定のGitブランチからのみデプロイを許可するといった、より厳格なガバナンスをワークスペースレベルで強制する機能も計画されています。

代表的なユースケース:手作業の自動化から始める

では、具体的にどのようなアプリケーションが作られているのでしょうか。Nic氏は「完璧なアプリを設計しようと大風呂敷を広げないでください。価値をもたらす最小単位のものから作り始めるのです」とアドバイスします。

講演では日々の手作業を減らすオペレーションのセルフサービス化が最も取り組みやすい領域として紹介されました。具体例としては以下のようなものがあります。

  • インタラクティブなデータ編集アプリ: 自動車のバッテリー品質を監視するエンジニア向けに、従来のExcelベースのフローをDatabricks Apps上のシンプルなUIに置き換え、エンジニア自身が直接データベースを更新できるように。これにより、データエンジニアの手を介さずに運用可能になりました。

  • データアップロードと加工の自動化: サプライヤーからの部品情報取り込みを、ファイルアップロードから加工ジョブ実行までボタン一つで完結させるアプリ。

  • Databricksリソースのプロビジョニング: ServiceNowのチケット番号を入力すると、API経由で検証を行い、リポジトリやスキーマ、クラスターを自動生成・タグ付けするフローをアプリで実現。

もちろん、社内ナレッジベースを活用したRAGチャットボットや、ビジネスユーザーがモデルのパラメータを調整できるインタラクティブな可視化ツールなど、より高度なアプリも増えています。重要なのは、まず身近な非効率を解消することから始め、徐々にスコープを広げることです。

今後のロードマップ

セッションの最後には、今後のロードマップについても言及がありました。

現在、1ワークスペースあたり100アプリという制限がありますが、これは初期設定であり、要望に応じて緩和が可能とのことです。将来的には上限の撤廃も視野に入っています。

また、コスト効率とスケーラビリティを向上させるための機能強化も進行中です。

スケールゼロ: 未使用のアプリケーションを自動的に停止させ、コストを削減する機能。 水平スケーリング: 複数インスタンスでのスケーリングをサポートし、負荷分散を容易にする機能。

これらの機能は、今後数ヶ月のうちに順次リリースされる予定です。

まとめ:データとAIの価値を、今すぐ現場に届けよう

Databricks Appsは、データチームがこれまで培ってきたデータとAIの資産を、組織全体で活用可能な形に変えるための、極めて強力なプラットフォームです。サーバーレスの運用負荷の低さ、Unity Catalogによる堅牢なガバナンス、そして豊富な開発フレームワークのサポートにより、アイデアを迅速かつ安全にアプリケーションとして具現化できます。

Nic Heier氏が繰り返し強調したように、「まずは始めてみること」が重要です。あなたのチームが日々行っている手作業や、ビジネス部門から頻繁に受ける問い合わせの中に、Databricks Appsで解決できる課題がきっとあるはずです。提供されているテンプレートを活用し、小さな成功を積み重ねることで、データとAIへの投資対効果を最大化する新たな道筋が見えてくるでしょう。