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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

推薦する

左耳マウス: Go言語、Docker、新しいテクノロジー

最近、ベテラン Unix ハッカーであり、Go 言語の 3 人の創始者の 1 人である Rob Pi...

高品質なフレンドリーリンクの3つの評価基準

どの業界にも独自の基準があり、フレンドリーリンク業界でも同様です。高品質のフレンドリーリンクは、ウェ...

Canalys:中国のクラウドインフラサービス支出は2020年第2四半期に43億ドルに達した

海外メディアの報道によると、市場調査会社カナリスが発表した報告書によると、中国のクラウドインフラサー...

SEO成長フォーミュラを持つSEO成長ハッカーと呼んでください

グロースハッキングは、過去 2 年間で非常に人気の職業です。最初は海外から導入され、その後、さまざま...

SEOと職場のルールの共通点

最近昇進しました。実は昇進というほどのものではありません。もう少しやらなければならないことがいくつか...

SEO の新時代に向けて準備はできていますか?

検索エンジンのアルゴリズムが継続的に改善されるにつれて、SEO も次々と変化してきました。2012 ...

誠実さと手頃な価格で顧客に対応することは、収益の増加とブランドの構築に役立ちます。

みなさんこんにちは。私はインターネットのウェブサイト最適化を行う小規模な SEO 担当者です。200...

並列および分散コンピューティングの原理

クラウド コンピューティングは、IT インフラストラクチャ、サービス、およびアプリケーションのより有...

ウェブサイト最適化の核心を理解するには、たった3つの要素が必要です

ウェブサイトの最適化は、常に議論の的となるホットな話題です。一部のウェブマスターの友人は、ウェブサイ...

山大文学と奇典の混乱:「中国パートナー」分裂の真相

著者: 李 李山田文学は非常に怒った。この怒りは、創氏中国ネットの立ち上げ数分前の5月30日に山大文...

業界ウェブサイト開発の限界の観点から、新しい業界サイトの発展の道筋を議論する

数年前に業界のウェブサイトを運営し、今日まで続けていれば、ある程度の成功を収めていたでしょう。現在、...

ipage - ウェブサイトの再設計が 23% オフ / 23 USD / 年払い / 無料ドメイン名 / 無制限のウェブサイトホスティング

1998 年に設立された老舗ホスティング会社 www.ipage.com は、Web サイトをリニュ...

serverbound-5 USD/80 GB 保護/15 TB トラフィック/KVM/512 MB メモリ/20 GB SSD

新しいものを紹介します。serverbound.com は、時間単位で支払う VPS ビジネスです。...

SEO グループ会議をより有意義に開催する方法

毎週グループミーティングを行うことは、あらゆる種類の企業、協会などにとってほぼ習慣になっています。小...

OpenSSL が重大なセキュリティ脆弱性を明らかに

セキュリティ プロトコル OpenSSL は本日、今年最も深刻なセキュリティ脆弱性を明らかにしました...