クラウドポータビリティに関する3つの考慮事項:2番目はマイクロサービスアーキテクチャ

クラウドポータビリティに関する3つの考慮事項:2番目はマイクロサービスアーキテクチャ

このシリーズの記事では、アーキテクチャや設計、クラウドのポータビリティに関して考慮すべき具体的な詳細、クラウド時代の技術ロックインを最小限に抑える方法、クラウドの柔軟性を最大限に発揮する方法など、さまざまな側面を検討します。

Akamai クラウドコンピューティングの詳細を読む

海外のクラウドサービスならア・カマイクラウドコンピューティング

次の記事では、クラウド ネイティブとコンテナ テクノロジーについて簡単に説明します。こちらをクリックして前回の記事を読み、クラウド ポータビリティにおけるクラウド ネイティブおよびコンテナー テクノロジの考慮事項について学んでください。

マイクロサービスはスケーラブルで単一の機能に重点を置き、各自己完結型のモジュール ユニットが大規模なシステム内の特定の機能の処理を担当する必要があり、大規模なアプリケーションは多くの場合、このようなモジュール コンポーネントまたはサービス (コンテナーやサーバーレス コンピューティングなど) から構築できます。

マイクロサービスは、さまざまな部門、予算、要件で構成されるビジネスと考えることができます。毎年、企業のニーズが変化するにつれて、これらの要件も変化します。時間の経過とともに、アプリケーションは変化する要件に直面し、その一部によってさらなる要求が生じたり、より多くの注意が必要になったりする可能性があります。さらに、アプリケーションのさまざまな側面では、さまざまな程度の拡張やスケーリングが必要になる場合があります。マイクロサービスは、アプリケーションの他の側面に影響を与えることなく、アプリケーションの特定の側面を独立した方法で拡張または拡大するのに役立ちます。

プログラミングの分野では、いわゆる単一責任の原則を誰もが覚えていると思います。この点ではマイクロサービスも同様です。マイクロサービスは、1 つのことを実行し、それを適切に実行する責任があります。もちろん、マイクロサービスを使用することで、回復力とフォールト トレランスの面で固有の利点も得られます。マイクロサービス アーキテクチャは、障害を単一のサービスに限定することで、障害がシステム全体に影響するのを防ぐことを目的としています。特定の障害が発生した場合、その場所がわかり、他のものに影響を与えることなく修正することができます。

発見可能な問題にも注意してください HashiCorpConsulなどのサービス メッシュ ソリューションを使用することで、新しいサービスがオンラインになったときにそれを把握し、サービス カタログとして機能する集中型システムを構築して、それらのサービスが何を実行し、どのように相互に通信するかを定義できるようになります。

マイクロサービスを使用する理由は何ですか?

  • 市場投入までの時間の短縮:マイクロサービスにより、複数のコンポーネントを並行して開発および展開できるため、全体的な開発プロセスが高速化され、新機能の提供に必要な時間が短縮されます。
  • スケーラビリティの向上:マイクロサービスは独立して拡張できるため、企業はリソースをより効率的に割り当て、さまざまなワークロードやトラフィック パターンをより効果的に処理できます。
  • 回復力の向上:マイクロサービスの分散化により、システム全体の障害のリスクが軽減され、継続的なサービス可用性とシステム全体の信頼性が向上します。
  • 柔軟性と適応性:マイクロサービスにより、企業はさまざまなコンポーネントにさまざまなテクノロジーとフレームワークを使用できるため、変化する要件に適応したり、新しいテクノロジーを組み込んだりすることが容易になります。
  • メンテナンスと更新の簡素化:マイクロサービスのモジュール設計により、システム全体に影響を与えることなく各コンポーネントを個別にアップグレードまたは交換できるため、システムのメンテナンスと更新が簡素化されます。

マイクロサービスのベストプラクティス

マイクロサービスを小規模に保ち、単一のビジネス機能に重点を置くことが重要です。この方法により、追加機能を簡単に追加でき、無秩序な拡張を回避できます。ただし、各マイクロサービスの理想的なサイズに関する明確な標準はありません。具体的な用途と実際のニーズに基づいて決定する必要があります。

失敗を想定した設計も必要です。複数のサービスとマイクロサービスは設計上、本質的にフォールト トレラントですが、再試行、サーキット ブレーカー、バルクヘッドなどの追加設計によって、さらに耐障害性を高めることができます。船に隔壁がある理由を考えてみましょう。これらの隔壁は船の構造的完全性を保ち、漏れが生じた場合、隔壁が閉じて船が沈むのを防ぎます。多くのイベント駆動型アーキテクチャでは、いわゆるデッドレターキューが使用されます。メッセージを配信できない場合は、特別なキューに配置され、キュー内のメッセージをチェックして失敗の原因を特定できます。

マイクロサービスは、ドメイン駆動設計原則に基づいて設計する必要があります。つまり、ビジネス機能に基づいてサービスをモデル化し、共通言語を使用してサービスがビジネス要件を満たすようにします。ドメイン駆動設計は、ビジネスを深く理解した上でソフトウェア システムを構築することに重点を置いており、その原則は、ソフトウェアがドメインに適合し、ビジネスに価値をもたらすように設計プロセスを導くのに役立ちます。これらの原則を組み合わせることで、ビジネス ドメインに対する深い理解が促進され、開発作業がビジネス ニーズや変化する要件と密接に連携されるようになります。

APIファーストのアプローチを採用して、マイクロサービスとサードパーティのサブシステム間の通信を容易にする中央接続ポイントを提供するAPIゲートウェイを設計および実装しますAPIゲートウェイは、ルーティングのほとんどに加え、認証、承認、レート制限なども処理します。API設計パターンは、マイクロサービスのモジュール性と再利用性にとって非常に重要です。

さらに、マイクロサービスには次のようなベスト プラクティスがあります。

  • 自動テストとデプロイメント:継続的インテグレーションと継続的デプロイメント ( CI/CD ) パイプラインなどの自動化ツールを使用してマイクロサービスをテストおよびデプロイし、エラーのリスクを軽減し、サービスが迅速かつ一貫した方法でデプロイされるようにします。
  • コンテナを使用する:コンテナは、マイクロサービスをパッケージ化してデプロイするための軽量で移植可能な方法を提供します。コンテナを使用すると、デプロイメント プロセスが簡素化され、アプリケーションのスケーラビリティと移植性が向上します。
  • 監視と観察:マイクロサービスでは、期待どおりに実行されていることを確認し、問題やエラーを検出するために、継続的な監視とログ記録が必要です。ログ アグリゲータとアプリケーション パフォーマンス監視 ( APM ) ツールは、これらすべてを実行するのに役立ちます。トレースを通じて、分散システム内のデータフローをさらに理解することもできます。これら 3 つの機能は、パフォーマンスのエンドツーエンドの可視性を獲得するのに役立ちます。
  • サービスの保護:マイクロサービスは、認証、承認、暗号化などのベスト プラクティスを通じて保護する必要があります。もちろん、コンテナー自体のセキュリティも無視してはなりません。全体的な攻撃対象領域を減らすには、強制ポリシーを通じて、どのマイクロサービスが他のサービスと通信できるかを定義する必要があります。セキュリティはすべての設計作業の一部である必要があり、より安全なアプリケーションを実現し、機密データを適切に保護するために、開発プロセスのすべての段階で徹底的に検討する必要があります。

この記事の内容は大丈夫でしょうか?今すぐLinodeプラットフォームで試してみませか?今すぐ登録すると、 100ドル相当の無料クレジットを獲得できることをお忘れなく。早速、この記事で紹介した機能やサービスを実際に体験してみましょう↓↓↓

海外のクラウドサービスならAkamaiが最適です!

高可用性MySQL/MariaDBリファレンス アーキテクチャと豊富なアプリケーション例について学ぶには、 Akamaiをフォローしてください

<<:  分散相互排除方式は分散技術に不可欠である

>>:  Kubernetesの8つのコアコンポーネントの詳細な説明

推薦する

次世代ハイブリッドクラウドがコロケーションデータセンターにもたらす影響

以前のバージョンとは異なり、新しいハイブリッド クラウド フレームワークは導入が簡単で、「クラウド ...

Kubernetesの問題点と限界について話す

[[394224]] 2014 年にリリースされた Kubernetes は、コンテナ オーケストレ...

毛沢東思想を身につけて総合的なウェブマスターになろう

毛沢東は偉大な人物でした。彼が世界に残したのは、私たち中国人が自らの運命を決定できる国だけではなく、...

クラウドネットワーク統合市場には幅広い展望があります。事業者と企業は協力して前進すべきである

[[395514]]クラウド開発が成熟するにつれて、クラウドネットワーク統合 (CNI) が業界でホ...

クラウド コンピューティング モデル: 2021 年のトレンドは何ですか?

クラウド コンピューティングの利点は誰もが知っています。将来について言えば、ハイブリッドクラウド、サ...

トラフィックと収入は比例しません。SEO 担当者はクリック コストをどのように最適化できるでしょうか?

みなさんこんにちは、私の名前は張家傑(ペンネーム)です。最近、トラフィックと収益の関係という問題に悩...

テンセントクラウド+コミュニティ開発者会議が開幕、フルリンク開発者サービスシステムの詳細を発表

12月15日、テンセントクラウド主催の「テンセントクラウド+コミュニティ開発者カンファレンス」が北京...

化粧品業界におけるインターネットマーケティング戦略の分析

新たな経済発展の状況は、新たなマーケティングルールをもたらしました。21年はまさにインターネットマー...

SEOはこうして誕生した

これまで企業のウェブサイトの最適化を行ってきましたが、そのほとんどが百度に最適化されていました。特に...

百度に略奪されたウェブサイトを8日間で復元

最近、Baiduのアルゴリズムが頻繁に変更され、著者のウェブサイトを含む多くのウェブマスターが深刻な...

Pacificrack: 5 月の特別 VPS、年間 9.89 ドル、KVM/1G メモリ/15g SSD/3T トラフィック、PayPal/Alipay

Pacificrack は、5 つの VPS のプロモーションを開始しました。そのうち 3 つの特別...

適切なクラウド データベース サービスを選択するための 4 つのヒント

リレーショナル データベースは半世紀も前から存在しており、そのさまざまなサブカテゴリ (ドキュメント...

VPS プロバイダーを選択するには? VPS プロバイダーを選択するにはどうすればいいですか?

VPS (仮想プライベートサーバー) プロバイダーを選択するときは、次の重要な要素を考慮する必要があ...