コンポーネントを独立させることでスケーラビリティと可用性を確保する「セルベースアーキテクチャ」と「マイクロサービスアーキテクチャ」は、似ているが異なるアプローチだ。特徴や使い分けの違いを解説する。
「セルベースアーキテクチャ」と「マイクロサービスアーキテクチャ」は、どちらも、独立したコンポーネント(アプリケーションを構成する部品)を個別にデプロイ(展開)するアーキテクチャであり、スケーラブルな分散システムを構築する。だが両者は幾つかの点で異なる。何が違うのか。どのようなシステムに適しているのか。
セルベースアーキテクチャとは、プロビジョニングと監視を自動化し、需要に応じてコンピューティングリソースをスケーリングするアーキテクチャだ。一般的にコンテナオーケストレーションツール「Kubernetes」を使って実装され、論理的に関連するサービス群を「セル」というまとまりに分離する構造を持つ。各セルは相互に通信するための仕組みがある。
各セルは設定情報管理、製品データ管理、画像処理、テキストデータ処理、従業員データ管理など、システム全体における特定領域の機能を担当する。セルベースアーキテクチャのシステムは、新機能を単一の独立したセルに展開できるため、あるセルで障害が発生してもシステム全体が停止するリスクを軽減可能だ。複数のセルを使ってシングルテナント(専有型)のシステムを構築すれば、冗長性を高め、連鎖障害を防ぐことにつながる。監視システムが停止または不適切に動作しているセルを検出すると、他のセルが処理を引き継ぎ、その間に障害が起きたセルを停止させてから再起動できる。
マイクロサービスアーキテクチャは、異なるサービスを組み合わせてシステムを構築する「サービス指向アーキテクチャ」(SOA)の考え方を基にした分散アーキテクチャだ。特定の業務機能に特化した、小規模で独立したサービスの構築を可能にする。開発チームは通常、マイクロサービス群とそれらを動作させるために必要なインフラ、アプリケーション、ソースコード、データベースを管理することになる。
各マイクロサービスはデータベースを持ち、API(アプリケーションプログラミングインタフェース)を通じて他のマイクロサービスと通信する。マイクロサービス同士のインタフェースが標準化されていれば、それぞれのマイクロサービスを異なるプログラミング言語で実装することも可能だ。マイクロサービス間の依存関係が限られるため疎結合(依存関係の少ない連携)な状態を実現でき、適切に実装されていれば1つのマイクロサービスに障害が発生してもシステム全体は稼働し続ける。
セルベースアーキテクチャは、業務プロセスの拡張性を高め、システム障害の影響を抑える仕組みを提供する。具体的には、コンピューティングリソースの需要増加に対処するための層を設けて、その層で個々のマイクロサービスではなくセル単位で独立してスケーリングできるようにする。
マイクロサービスアーキテクチャは、業務プロセスを分割・分離し、連携を可能にする方法を提供する。ただしスケーリングには計画が必要で、需要に応じてマイクロサービスのリソースをスケーリングできても、データベースがそれに追い付かない場合がある点に注意が必要だ。
セルベースアーキテクチャは、可用性と回復力に優れたシステムの構築に役立つ。分散システムへの切り替えやクラウドサービスへの移行を検討している場合、セルベースアーキテクチャを導入することで、システムに先進技術を取り入れるための新たなステップとなる可能性がある。
ただしセルベースアーキテクチャのシステムは、CPU、メモリ、ネットワークといったリソースの使用量が増えてコストがかさむだけではなく、デバッグなどの技術的課題も生じる恐れがある。こうした課題は、システムを監視する層(オブザーバビリティ層)によって解決できる可能性があるが、その分リソースの使用量がさらに増加することにもなりかねない。
特に既存のレガシーシステムをセルベースアーキテクチャに切り替える場合、新たにセルベースアーキテクチャのシステムを開発するよりも多くの障壁に直面しやすい。小規模アプリケーションやスタートアップ(新興企業)にとっては、セルベースアーキテクチャに関する初期投資が導入のメリットを上回る可能性がある。
業務プロセスを独立させつつ、可用性スケーラビリティを確保する方法として、マイクロサービスを1つのセルとして扱う「セルベースのマイクロサービスアーキテクチャ」というアプローチがある。コストがかかりやすく、開発も複雑になりやすいデメリットはあるが、適切な場面で利用すれば、両アーキテクチャの長所を組み合わせたシステムを構築可能だ。これによって、ビジネスプロセスを細分化しつつ迅速な開発と継続的デリバリーを実現できる。
インターネットに公開する大規模アプリケーションにおいて、スケーラビリティや可用性、障害耐性を求めるのであれば、セルベースのマイクロサービスアーキテクチャのメリットを享受できる見込みがある。ただし従来型のシステムでは、得られるメリットが少なく、コストが高くなる可能性がある。
米国Informa TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
ソフトウェア開発のスピードと品質を両立するための手段として注目されている「テストの自動化」。だが自動化に適した領域とそうでない領域を見極め、適切なツールを選ぶのは簡単ではない。そのポイントを、基礎から分かりやすく解説する。
ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。
システム開発を任されても、「何から始めたらよいのか分からない」という担当者は多いだろう。そこで本資料では、システム開発の流れや専門用語といった基礎知識を分かりやすく解説するとともに、システム開発の4つの手法を紹介する。
システムの不具合によるさまざまなリスクを回避するには網羅的なテストを行う必要があるが、自社で行うのは難しい。そこで活用したいのが外部のテスト専門会社だ。本資料ではテスト専門会社を活用するメリットや具体的な流れを解説する。
レガシーシステムからの脱却が叫ばれる中、「ERP×ノーコードツール」のアプローチで基幹システムの刷新に取り組む企業が増加している。その推進に当たっては、「Fit to Company Standard」の概念を頭に入れておくことが必要になる。
繝弱�繧ウ繝シ繝峨�縲∬イ�縺ョ驕コ逕」縺ァ縺ゅk繧「繝翫Ο繧ー讌ュ蜍吶r縺ェ縺上○繧九�縺� (2024/11/12)
驥題檮讖滄未縺ョ繝「繝繝翫う繧シ繝シ繧キ繝ァ繝ウ縲譛驕ゥ隗」縺ォ蟆弱¥縺ォ縺ッ (2024/3/29)
「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...