注:本記事は(2022年2月17日)に公開された(Connected Apps or Managed Apps: Which Model to Implement?)を翻訳して公開したものです。

先日、Snowflakeに搭載されたコネクテッドアプリケーションに対する関心の高まりについて記事を書きました。コネクテッドアプリケーションはコードとデータを分離するため、アプリケーションプロバイダーがアプリケーションコードを生成、管理する一方で、顧客は自社のデータを管理したり自社のデータプラットフォームでアプリケーションデータを処理したりできます。

顧客とアプリケーションプロバイダー双方にメリットがあるという理由でコネクテッドアプリケーションモデルを選択するパートナーもいます。顧客にとっては自社のデータを管理できることは非常に歓迎すべきことであり、SaaSプロバイダーにとっては利益率が上がり、市場投入に向けたSnowflakeとの連携の向上というメリットがあります。コネクテッドアプリケーションについての詳しい情報はPowered by Snowflake:成長やスケーリングに対応したコネクテッドアプリケーションの構築をご覧ください。

アプリケーションプロバイダーがコネクテッドアプリケーションに非常に関心を持っているとはいえ、従来の「マネージドアプリケーション」モデルにも重要なメリットがあります。アプリケーションプロバイダーがマネージドモデルを選択する理由は、フルマネージド型サービスの提供を可能にし、設計や展開の柔軟性のほか、ターゲット顧客への幅広い適応性も提供してくれるからです。また、オンボーディングプロセスや請求モデルも簡素化されます。

異なるモデル同士が相互に排他的ではないことを知り、それぞれのメリットとデメリットを理解することが重要です。開始時点で片方のモデルだけを実装していたとしても、いずれ多くのパートナーが両方のモデルを実装することになると予想しています。

では、アプリケーションの構築に対するアプローチの選択においては、どのようなファクターを考慮すべきでしょうか。個々のユースケースは異なるため、自社のニーズに基づいて各ファクターの重み付けをすべきです。当社では、一般的に片方のモデルが他方よりも適しているファクターについて検討することで、顧客にとってベストなアプローチの選択をサポートしています。

コネクテッドアプリケーションモデルが適しているファクター

Snowflake顧客への共同販売から利益を得るビジネスですか?

Snowflakeの顧客に対するアプリケーションのマーケティングを計画している場合、コネクテッドアプリケーションモデルの実装を検討すべきです。なぜなら、このモデルの方が、Snowflakeの市場投入戦略に基づくマーケティングや営業の取り組みに適合するからです。Snowflakeの営業担当者は、常に、顧客価値を生み出す新たなユースケースやワークロードを模索しています。コネクテッドアプリケーションは顧客に素晴らしいメリットをもたらしSnowflakeアカウントの有用性を拡大することから、Snowflakeの営業との強固なコラボレーションを実現します。

製品の利益率向上またはコスト削減が目的ですか?

製品の利益率向上やコスト削減を目的としている場合、コネクテッドモデルがより適しているかもしれません。Snowflakeの使用(場合によっては売上原価の大幅な比率を占めることがあります)が自社のアカウントではなく、顧客のSnowflakeアカウントにおいて生じるからです。ユースケースごとに総合的な顧客の負担に違いはあるものの、プロバイダーとしてのコストは原則として削減されます。

機密性のデータを取り扱っていますか?

アプリケーションが、個人を特定できる情報(PII)や保護医療情報(PHI)、データレジデンシー規制の遵守が義務付けられているデータなど、機密データを処理する場合は、顧客がデータを自社の管理下に置く必要があることから、コネクテッドアプリケーションモデルの方が適しているかもしれません。データを自社の管理下に置く必要に迫られていなくても、コネクテッドモデルを実装すれば、取得しなければならない承認の数が減り、営業サイクルにおける摩擦が軽減される場合もあります。

顧客は、ベンダーロックインを懸念していますか?

顧客や見込み客が他のアプリケーションに容易に移行できるかどうかを気にしている場合、コネクテッドアプリケーションモデルがお薦めです。顧客のデータを管理しないため、ベンダーロックインに関する顧客からの懸念に対処できるだけでなく、競合他社との差別化も図れます。

複数のデータプラットフォームをサポートする予定はありますか?

コネクテッドアプリケーションモデルを実装すれば、アプリケーションの使用がSnowflake顧客に限定されるといったことにはなりません。コネクテッドアプリケーションの構築時には、複数のデータプラットフォーム用にコネクタを追加することができるため、顧客が使用するどのようなプラットフォームにもアプリケーションを接続することができます。

マネージドアプリケーションモデルが適しているファクター

マネージドアプリケーションモデルが重要なメリットを持つケースもあります。実装を決断する前に以下の項目を検討してみてください。

アプリケーションのターゲットとなるのはコンシューマーですか、それとも膨大な数の顧客ですか?

コネクテッドモデルは既存のSnowflakeアカウントを有している顧客にのみ適用されるため、アプリケーションがコンシューマーをターゲットとしている場合は、マネージドアプリケーションモデルの方が適しています。

同様に、何千もの顧客をターゲットとしている場合、コネクテッドモデルを実装しようとすると、アプリケーションを個々の顧客のSnowflakeアカウントに接続しなければならないため、運用における負荷が非常に高くなります。

アプリケーションにはSnowflakeのマルチテナント実装によるメリットがありますか?

Snowflakeには、マルチテナントテーブル(MTT)、オブジェクトパーテナント(OPT)、アプリケーションパーテナント(APT)の3つのマルチテナンシーモデルがあり、厳密にはこれらは、Snowflakeのマルチテナントアプリケーション用設計パターンと称されています。MTTまたはOPT設計パターンの実装を計画している場合、顧客データを自社のSnowflakeマネージドインスタンスに保存する必要があるため、マネージドアプリケーションモデルの使用が必要となってきます。コネクテッドアプリケーションで必要とされるAPTモデルの実装に比べ、OPTやMTTソリューションを実装する方がコスト効率も高く、運用もより簡単になります。実際、APTテナンシー設計パターンではそれぞれの顧客において多くのオブジェクトの更新が必要となり、運用上の負荷が増大する場合があります。

フルマネージド型のサービスを提供し、収益を拡大したいですか?

顧客にフルマネージド型のサービスを提供し、(利益率が下がるとしても)Snowflakeの使用に伴う収益を獲得したいと考えている場合、マネージドモデルがお薦めです。場合によっては、データの管理やアプリケーションで必要とされるアカウントやクレデンシャルの作成をサポートできるIT部門がないという理由でフルマネージド型のサービスを選択する顧客もいます。また、アプリケーションの使用に対してSnowflakeに個別に支払いをするよりも、より予測可能な価格設定を好む顧客もいます。

さらに、すべてのインフラストラクチャーを管理することによって、運用や技術選択に関するあらゆる選択を管理することもできます。例えば、アプリケーションニーズやエクスペリエンスに基づいて、ウェアハウスのサイズを選択したりルールを一時停止したりすることも可能です。

顧客全体のデータを分析したり活用したりしますか?

すべての顧客が使用できる汎用モデルの構築といったアプリケーション機能を提供する目的で顧客全体のデータを分析する場合、おそらくマネージドモデルが最適でしょう。すべてのデータを保存し管理しているため、必要に応じてアプリケーションからより簡単にクエリを実行できます。

両方のモデルを実装するのはどうでしょうか?

コネクテッドアプリケーションおよびマネージドアプリケーションのモデルは補完的なものであり、相互に排他的ではありません。両方のモデルのサポートを選択した場合、顧客に応じていずれかのモデルを展開することができます。例えば、Snowflakeアカウントを有している(または開設できる)顧客にはコネクテッドアプリケーションモデルを、非Snowflake顧客にはマネージドアプリケーションモデルを展開することができます。このアプローチにより、Snowflake顧客とのマーケティングで得られるコネクテッドアプリケーションのあらゆるメリットを実現することができ、対象となる市場も拡大します。PantherHunters.AIのような成功を収めているPowered by Snowflakeパートナーは、両方のモデルをサポートしています。

まとめ

顧客とアプリケーションプロバイダーの双方にコストや柔軟性におけるメリットがあるという点で、今後コネクテッドアプリケーションモデルの評価が高まることが期待されます。しかし、特定の状況下においては、マネージドアプリケーションモデルも依然として有効な選択肢です。デベロッパーは、それぞれのメリットとデメリットを把握し、有益であると判断した場合には、より多くのユースケースに対応するために両方のモデルの実装を検討してみるべきでしょう。既にデータクラウド内で構築している数百社のソフトウェア企業に仲間入りし、Powered by Snowflakeパートナーとなってください。