簡単な質問かもしれませんが、グーグルでベストアンサーが見つからなかったので、あなたの考えを知りたいと思います。
WPFで作成したソフトウェアを、ローカルサーバーからクラウドサーバー(おそらくAzure)にデータにアクセスするように変更することを考えています。
最善の方法は、データベースに直接接続するか、clould内のサービスを介してアクセスすることです(これは私が開発する必要があると思います)。
ありがとう!!!
簡単な質問かもしれませんが、グーグルでベストアンサーが見つからなかったので、あなたの考えを知りたいと思います。
WPFで作成したソフトウェアを、ローカルサーバーからクラウドサーバー(おそらくAzure)にデータにアクセスするように変更することを考えています。
最善の方法は、データベースに直接接続するか、clould内のサービスを介してアクセスすることです(これは私が開発する必要があると思います)。
ありがとう!!!
Azureを使用しているかどうかに関係なく、質問に対する答えは同じだと思います。
サービスは、アプリケーションとデータベースの間に抽象化レイヤーを追加します。これは、長期的なメンテナンスに役立つ可能性がありますが、それに関連するコスト(初期の作業の観点から)と潜在的なパフォーマンスのペナルティがあります(ただし、これにはありません)重要であるため)したがって、最終的には、アプリケーションに応じて重み付けする必要があります。
私は本当にこれに対する万能の答えがあるとは思いません。
一般的に、私はクライアントアプリケーションを介してクラウドでホストされているデータベースに直接アクセスすることを防ぎます。パブリックインターネットを介してデータベースエンドポイントを公開し、重大な攻撃ベクトルを提供します。
サービスを使用することで、その攻撃ベクトルを制限できます。サービス自体も「公開」されますが、OAuth、ADなどの認証/承認プロトコルで(通常はより効果的/簡単に)ロックダウンできます。また、サービス自体は、クライアントアプリケーションに必要な操作のみを公開します。完全なデータベーススキーマ(データベースがオープンインターネット上にあるときに誰かがパスワードを解読する必要があります)。
Windows Azure SQL Azureを使用するのか、IaaSで独自のデータベースを使用するのかについては言及していません。もちろん、Windows AzureでホストされているVMにファイアウォールなどを介して独自のセキュリティを実装することもできますが、これは対応する必要のあるもう1つのインフラストラクチャタスクであり、クライアントIPが変更された場合など、それを管理することは重要ではありません。 。