スキップしてメインコンテンツへ

マイクロサービス:定義と主なアプリケーション

1月10日、2022年お知らせ

By Marco Fioretti

マイクロサービス は、複雑なWebアプリケーション用のソフトウェアアーキテクチャであり、1つの、実際には複雑ではない概念に基づいています。システムの各主要機能を、最近提供される1つの小さな、半独立したネットワークベースのサービスとしてカプセル化することです。クラウド"。特定のマイクロサービスは、ほぼ自己完結型のソフトウェアプログラムであり、同じプラットフォームの他のコンポーネント用のより大きなプラットフォームの一部として、単一の(おそらく非常に複雑な!)タスクを実行するためだけに存在します。マイクロサービスについて最初に理解することは…

マイクロサービスはAPIではありません!

大規模なソフトウェアプラットフォームをよりモジュール化するために使用すると、マイクロサービスは、数十年前から存在しているアプリケーションプログラミングインターフェイス(API)の現在の魅力的な名前であるという印象を与える可能性がありますが、そうではありません。 

APIは、実装するだけのルールまたはライブラリです。 相互作用 ソフトウェアプログラム間で、それぞれが実際に何をしているのかではありません します。 APIは、どのデータ形式を交換できるか、どのコマンドが受け入れ可能であり、それらの可能な応答、および同様のタスクを明確に記述します。したがって、同じAPIが大きく異なるプログラムで使用される可能性があります。一方、マイクロサービスは現在、APIを最初に必要とする多くのカテゴリのアプリケーションの中で最も人気があります 使える、そして管理しやすい。

主なマイクロサービスの種類とリスク

その性質上、「マイクロサービス」は非常に異なるプログラムの総称であり、これにより、1つの短い記事でそれらを完全に説明することは不可能です。それでも、あらゆる種類のマイクロサービスに有効であり、知っておく必要のあることが少なくとも2つあります。

A技術的には、マイクロサービスはステートレスまたはステートフルである可能性があり、この分類はその実装に大きな影響を与えるため、正しく行うことが重要です。 「ステートレス」とは、同じユーザーまたは異なるユーザー(他のマイクロサービス、サードパーティアプリケーション、または実際のユーザー)との連続するトランザクション間で、セッションデータまたは以前のイベントの他のメモリを保持しないマイクロサービスを示します。人間)。ステートレスマイクロサービスでは、すべてのトランザクションが最初のトランザクションであるかのように発生します。これにより、構築、テスト、および保守が簡単になります。しかし、多くの場合、この「無国籍」は不可能です。代替またはフォールバックソリューションはステートフルネスです。これは、セッションデータ、またはデータベース内のすべての対話のログを格納して、必要なときにそれらを再利用するマイクロサービスです。

すべてのマイクロサービスについて知っておくべきもう1つの重要なことは、そうです、 しなければならない 可能な限り自己完結型で独立していること。ただし、たとえば、同じプラットフォームの1つのマイクロサービスを担当するすべてのチームが異なる言語を採用した場合、システムはさまざまな攻撃にさらされる可能性があります(つまり、いずれかの言語で発見されたすべての脆弱性の合計になります)。使用済み)。

マイクロサービスは大きい

一般的な原則は確かに新しいものではありませんが、マイクロサービスはここ数年で人気が急上昇しています。

によると IBMの調査、2021年の初めに、マイクロサービスはデータ分析、ビジネスインテリジェンス、およびデータベースアプリケーション全般に最も一般的に使用されていました。 2021年後半の時点で、マイクロサービスの主な採用者には、Amazon、IBM、Microsoft、Netflix、Oracleが含まれます。これらは、言及されている有名企業のほんの一部です。 詳細はこちらをご覧ください。 そして2021年の他の市場レポートで。

同じ技術も急速に普及しています 外側 サービス業界、特に製造業:ThyssenKruppは、マイクロサービスを通じてIoTデバイスを管理することでエレベーターの予知保全を処理し、いくつかの企業はAWSでマイクロサービスを実行して、製造工場を可能な限り低いコストで制御しています。まとめると、アナリストがそれを正しく理解した場合、クラウドマイクロサービス市場は 「2026年に2701.36百万米ドルに達する…約21.7%のCAGRを登録する」.

マイクロサービスを使用する時期と理由

マイクロサービスは、大規模な組織のインフラストラクチャだけでなく、すべてのソフトウェア開発者のポートフォリオでも非常に重要な役割を果たす可能性があります。すでに述べた調査で最も頻繁に報告されたマイクロサービスの利点は、変化するビジネスニーズに合わせてリソースや機能を追加または削除する際の容易さであり、これは顧客の満足度の向上につながります。

それは驚くことではありません。マイクロサービスは小さく、プラットフォームの他の部分から可能な限り切り離されているため、システムの他の部分のリスクを最小限に抑えながら、頻繁に更新するのが簡単です。これにより、要件が頻繁に変更される場合でも、目的が何であれ、より大きなアプリケーションの更新や拡張が容易になります。

言い換えれば、マイクロサービスは 長期的で持続可能な 複雑なソフトウェアシステムの生産性。マイクロサービスは、アプリケーションの構築と変更を容易にするだけでなく、常に目的と作業方法に最適な方法でそれを実行します。 組織の各部分、いつでも。

これは、 プロバイダー オンライン企業レベルのサービスの。 Gmailのようなクラウドアプリケーションは、 個人。ただし、企業顧客向けのクラウドベースの給与管理プラットフォームは、まったく別の動物です。このようなサービスのプロバイダーは、システムのさまざまなバージョンを提供する可能性があります。たとえば、EU企業向け、米国企業向けなどです。ただし、これらのバージョンが1つまたはいくつかの特定の機能で異なる場合は、 維持する アプリケーション全体がモノリシックアーキテクチャである場合よりも、これらの機能が2つの別々のマイクロサービスとして提供された場合、すべての顧客ははるかに簡単になります。

マイクロサービスアーキテクチャへの移行は、既存のアプリケーションが現代のビジネス環境で要求される速度と頻度で更新および保守することがますます困難になっている場合にも、賢明な選択となる可能性があります。

結局のところ、マイクロサービスは、アーキテクトと開発者が非常に明確な共通のルールと監視を実施することを免除されません。まったく逆です、実際には!調整と共通のビジョンの欠如は、マイクロサービスベースのプラットフォームを多くの方法で管理することを不必要に困難にする可能性があります。マイクロサービスの詳細と、マイクロサービスが組織やキャリアにどのように役立つかについては、このシリーズの次の記事にご注目ください。

Linux Foundationのトレーニングと認定に関心をお寄せいただきありがとうございます。私たちは、中国のトレーニングサイトからより良いサービスを提供できると考えています。このサイトにアクセスするには、以下をクリックしてください。

Linux Foundationのカルチャに対するフィードバックは、より適切に、中国のカルチャウェブサイトに反映されることを期待しています。