検索
ニュース

Microsoftが「.NETマイクロサービス」についてのよくある質問に回答データベース、マイクロサービス間通信、コンテナ化

マイクロサービスに関するオンラインイベントで特に多くの視聴者から寄せられた質問と回答を、Microsoftが公式ブログで抜粋して紹介した。

Share
Tweet
LINE
Hatena

 Microsoftは2021年4月7日(米国時間)に公式ブログで、2021年3月に開催したマイクロサービスに関するオンラインイベントで特に多くの視聴者から寄せられた質問とともに、イベント時の回答に補足を加えたものをフォローアップとして紹介した。

 質問のテーマは、マイクロサービスに関連するデータベースのスケーリングや運用、モノリシックアプリケーションとマイクロサービス、マイクロサービス間通信、コンテナの必要性だ。

質問:マイクロサービスをスケーリングする際、関連するデータベースをどのようにスケーリングすればよいのか

 データベースのパフォーマンス改善やスケーリングについては、明確に定義されたパターンやベストプラクティスがある。スケーラビリティの向上や競合の低減、パフォーマンスの最適化のためにデータをパーティション分割する方法を理解するには、次のドキュメントが参考になる。

 マイクロサービスのスケーリングや分散データ、マイクロサービスごとにデータベースを運用する理由、リレーショナルデータベースとNoSQLデータベースの選択について、詳しく知るためには、次のドキュメントを参照するとよい。

質問:マイクロサービスごとにデータベースを使用する必要があるのか、マイクロサービスは同じデータベースインスタンスを共有できるのか

 チームがマイクロサービスを自律的に使用できることは、クラウドネイティブアプリケーションを設計する上で極めて重要な利点となる。チームが本番環境で、他のマイクロサービスの動作に支障を与えることなく、更新プログラムやセキュリティパッチ、バグ修正プログラムを柔軟に展開できるようにするためには、独立したデータベースインスタンスを使用することが望ましい。

 クラウドネイティブアプリケーションのアーキテクチャは、有名な「The Twelve-Factor App」の方法論にヒントを得ている。

 このドキュメントの「IV.バックエンドサービス」の章には、「データストアやキャッシュ、メッセージブローカーのような補助的なリソースは、アドレス指定可能なURLでエクスポーズされなければならない」と記されている。クラウドサービスプロバイダーは多様なマネージドバックエンドサービスを提供している。Microsoftはデータベースを自社で所有し、メンテナンスするのではなく、クラウドのデータベースオプションを検討することを勧めており、次のドキュメントが参考になるとしている。

質問:モノリシックWeb APIはマイクロサービスとやりとりできるか

 モノリシックアプリケーションは、エンドポイントがインフラ内で接続可能な場合や、パブリックエンドポイントを安全に使用している場合は、マイクロサービスとやりとりできる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る