マイクロサービスアーキテクチャの欠点

マイクロサービスアーキテクチャの欠点

クラウド アプリケーション開発のためのマイクロサービス アーキテクチャは、疎結合された小さな (「マイクロ」) サービスのコレクションとしてソフトウェア アプリケーションを構築するアーキテクチャ アプローチです。アーキテクチャ内の各サービスは、データベースへの在庫項目の追加や新規顧客の信用度の確認など、特定のビジネス機能または機能を表します。これらは通常、独立したプロセスとして実行され、アプリケーション プログラミング インターフェイスまたは軽量プロトコルを介して他のサービスと通信します。

マイクロサービスは、サービス指向アーキテクチャと、より優れたアプリケーションを構築する必要性から生まれました。これが新しいアプリケーションを構築するための最も人気のあるアプローチになったのは当然のことです。マイクロサービス アーキテクチャは疎結合と分離を提供するため、私はマイクロサービス アーキテクチャを使用するのが好きです。

利点

サービスは疎結合されるように設計されています。他のサービスの内部実装の詳細に直接依存することなく、独立して実行できます。サービスにより、チームはサービスを独立して開発、展開、拡張できるようになり、俊敏性が向上します。サービスは独立して実行できるため、回復力の向上などの追加の利点が得られます。

これは、疎結合に直接関連する独立性と分離性の利点を示しています。各サービスは個別に開発、テスト、展開、拡張できます。

正直に言うと、これが発売されたとき、革命的なものではありませんでした。これは、1970 年代の構造化開発から始まり、オブジェクト指向開発、コンポーネントベースの開発、サービスの使用、マイクロサービスへと続く、アーキテクチャのベスト プラクティスの進化のようなものです。それぞれのアプローチは次のような影響を及ぼします。今後改善できればと思います。

デメリット

もちろん、開発においてはただで得られるものはない。それぞれの方法、ツール、言語、アーキテクチャには長所と短所があります。これらを適用する場合、開発者はマイクロサービスの欠点がプロジェクトに与える影響も考慮する必要があります。これらの欠点は、マイクロサービスを取り巻く誇大宣伝の中で見過ごされることがあります。マイクロサービス アーキテクチャの欠点を探ってみましょう。

最大の問題は複雑さです。マイクロサービスはモノリシックアーキテクチャよりも複雑です。システムは多数のサービスに分割されます。アーキテクチャはより複雑になり、異なるサービス間の相互作用を理解することが困難になる可能性があります。

マイクロサービスを展開するためのプラットフォームとして複雑な分散システムも扱う必要があることを考慮すると、これはさらに困難になります。これは、ほぼすべての企業が複数のクラウドを構築および展開する際に生じる副産物です。

配布も考慮すべきもう一つの欠点です。マイクロサービスを使用する場合、サービス間の通信はネットワーク経由で行われることが多く、遅延、ネットワーク障害、機器への負荷の増加を引き起こす可能性があります。このため、マイクロサービス ベースのアプリケーションをデプロイした後はネットワークをアップグレードする必要があり、これによりアプリケーション コストがさらに増加し​​ます。

データ管理もより複雑になります。マイクロサービスには独自のデータベースまたはデータ ストアが存在する場合があり、さまざまなサービス間でのデータの一貫性がより複雑になります。データの整合性を維持するには多くの場合、余分な労力が必要ですが、企業は損失が発生するまでこれに気付かないことがよくあります。これは確かに解決可能ですが、ほとんどの人が理解しているよりもはるかに多くのリソースが必要になります。

サービスへの依存は企業にとって問題を引き起こす可能性があります。マイクロサービスはアプリケーション プログラム インターフェイス (API) を介して対話するため、1 つのサービスの変更が他のサービスに影響を及ぼす可能性があります。結果はどうですか?特にアップグレードやサービスの変更時に発生するバージョンの問題と潜在的な互換性の問題。

最後に、リソースのオーバーヘッドがありますデプロイされたほとんどのアプリケーションでは、複数のマイクロサービス インスタンスを実行すると、単一のモノリシック アプリケーションよりも多くのリソースが消費されます。特に効率的に管理されていない場合、インフラストラクチャのコストが増加する可能性があります。

今何をすればいいでしょうか?

クラウド開発者やアーキテクトはマイクロサービス アーキテクチャに熱狂的であることがわかりました。もちろん、マイクロサービス アーキテクチャはすべてのアプリケーションに適しているわけではなく、多くの場合、消極的な選択になります。すでにクラウドに移行しているアプリケーションやクラウドへの移行中のアプリケーションを最新化する場合、必要以上に多くのリソースが必要になります。これは、マイクロサービスの多くの欠点によって発生します。

それにもかかわらず、これらは標準的なアーキテクチャとしてよく使用されます。ただし、使用する前に、長所と短所を十分に検討し、コアアプリケーション要件に重点を置く必要があります。残念ながら、私たちは重点を置くべき多くのことに焦点を当てておらず、それが最終的にコアアプリケーション要件の不一致につながり、非効率につながります。

マイクロサービスは、他のアプローチと同様に、このアーキテクチャを適用する目的、いつ使用すべきか、いつ使用すべきでないかを考慮して、ケースバイケースでのみ検討できます。

元のタイトル:マイクロサービス アーキテクチャの欠点

原作者:デビッド・リンシカム

<<:  私が8年間使ってきた方法 - Dockerを使ってローカル開発環境を瞬時に構築する

>>:  観測可能なシステム構築に入ってみると、こんなにも多くの問題があることが分かりました...

推薦する

WeChat でサブスクリプション アカウントのグループ化が遅いのはなぜですか?

この問題を議論する前に、いくつかの点を指摘する必要がある。この記事で説明されているすべての問題は、W...

Pinterest CEO: 成功の要因はテクノロジーではなくマーケティング

北京時間10月21日、海外メディアの報道によると、米国の有名なソーシャルグラフサイトPinteres...

データストレージ環境におけるプライベートクラウドの利点

[[413074]]いつでもどこでも柔軟なストレージとコンピューティングを提供するクラウド コンピュ...

中国のバレンタインデーに百度からウェブマスターへの朗報

バレンタインデーはカップルの休日とも言えますが、多くのSEO実践者にとっては楽な休日ではないかもしれ...

Qlik: アクティブインテリジェンスで次世代の BI をリード

多くの企業がデータの重要性を認識し、データ処理と分析への投資を増やしていますが、ほとんどの企業が達成...

WeChatはもはや急成長せず、友達の数を制限し、大手VにハイジャックされたWeiboの古い道をたどらない

QQの友達(会員ユーザー)の上限は2,000人、Weiboのフォロワー(会員)の上限も2,000人で...

Hiformance: ハイエンド ハイブリッド サーバーが 50% オフ、月額 5 ドルから

Hiformance の通常の VPS プロモーションが終了し、新しいプロモーションの波がやって来ま...

コンテナの「エッジ」とは何ですか?

これはエッジコンピューティングの新しい時代なのでしょうか?エッジ コンピューティングとコンテナーの交...

SEOチャット

Amazon キーワード検索分析ツール、SEO ウェブサイトは、Google、Bing、YouTub...

Googleが検索戦略をアップグレード、SEOに依存するアグリゲーションサイトは戦略を変える必要がある

編集者注: Google に質問やクエリを入力すると、以前は Google は回答を得るために推奨さ...

ブランドマーケティングのための高変換方法、エキサイティング!

近年、疫病やモバイルインターネットの影響により、消費市場は数え切れないほど多くの消費者の消費行動を変...

プログラミング言語PHPがモバイル版に登場すると報道

北京時間10月4日、アメリカのテクノロジーブログ「VentureBeat」の寄稿者であるジョン・コー...

劉環斌:SEO理論と実践における10の大きな誤解

1) 外部リンク構築の質誤解: バックリンクが多ければ多いほど良い。分析:外部リンクは全体的な品質に...

NodeServ – 年間 30 ドル / 500g DDOS 保護 / 256M メモリ / 50G ハードディスク / 500G トラフィック

NodeServ.com は、DDOS 保護を備えた VPS の提供を開始したと発表しました。ネット...

ウェブサイトが衰退の鎖から抜け出すために、ウェブサイトの基盤構築に努める(パート1)

インターネット技術の継続的な成長により、ウェブサイトの構築はコップ一杯の水を飲むのと同じくらい簡単に...