テセウスのパラドックスの応用

F5エコシステム | 2016年5月23日
テセウスの船

哲学の研究では、少なくともかつては、一見すると、いわば無関係に思える問いが投げかけられてきました。そもそも、「木製の部品を一つ残らず交換して修復した船」が同じ船であり続けるかどうかを知ることは、本当にそれほど重要なのでしょうか。これは、プルタルコスが『テセウス伝』で提起し、後に「テセウスのパラドックス」として知られるようになった問いです。より一般的に言えば、「すべての構成要素が交換された物体は、根本的に同じ物体であり続けるのか」という問いです。(テセウスの船、Wikipedia)

既存のモノリシックアプリケーションにマイクロサービスを適用し、機能をそれに対応するサービスに置き換えることでアプリケーションを実質的に再構築する場合にも、同じ問いを投げかけることができます。機能は設計上、小さい(少なくとも小さくあるべき)ため、そこから切り離されたサービスには「マイクロ」という言葉が使われます。両者の違いは、通信という観点から捉えることができます。モノリシックアプリケーションでは、メモリ内の特定のアドレスを参照して機能を呼び出します。マイクロサービスベースのアプリケーションでは、ネットワーク上の特定のIPアドレスを参照して機能(サービス)を呼び出します。

マイクロサービスのパラドックス

概念上、この2つは同じであり、異なるのは個々の機能コンポーネントを呼び出す仕組みだけです。これを図にすると、モノリスの「箱」が1台のサーバーであるのに対し、マイクロサービスの「箱」はデータセンター全体であるという点を除けば、実質的な違いはほとんどありません。一方はローカルアドレス指定を、もう一方はネットワークアドレス指定を使用します。テセウスの船を構成する木材のように、各機能のコードはまったく同じである可能性があります。

しかし、そのビジネス機能は一貫しており、実際、アプリケーションが適切に分解されていれば、ユーザーには両者の違いが認識できないはずです。テセウスの船の乗客から見れば、両者に違いはないとも言えるでしょう。そして、違いがあってはなりません。

しかし、哲学者は物事をより深く掘り下げるものです。私たちも同様に掘り下げる必要があります。モノリシックアプリケーションとマイクロサービスベースのアプリケーションの違いは、実際、運用において非常に重要だからです。

ネットワーク運用の複雑化

マイクロサービスは、アプリケーション開発プロセスの多くの側面を簡素化する一方で、運用を大幅に複雑化します。マイクロサービスベースのアプリケーションでは、分散した各部分を結ぶネットワーク接続が増えるため、IPアドレス、VLAN、NATテーブルなど、必要となるさまざまなネットワーク特性の管理に伴うオーバーヘッドが避けられません。また、スケーラビリティも、Dijkstraでさえ頭を悩ませかねない課題となります。これは、マイクロサービスと負荷分散サービスの配置によって、ネットワーク上で通過しなければならないセグメント数が変わり、パフォーマンスに実質的な影響が及ぶためです。

機密性の高いデータソースに直接アクセスするサービスに適用するセキュリティポリシーは、設定やセッション状態を管理する別のサービスの保護に必要なものとは異なるため、新たなポリシーが必要になります。その結果生じるマイクロセキュリティポリシーの網は、きめ細かな制御や洗練されたシンプルさなど、マイクロサービス自体と同様の多くのメリットをもたらします。しかし同時に、アーキテクチャ内のどこにサービスが出現しても、ポリシーをサービスとともに移動させる必要があるため、運用上の悪夢にもなります。

デプロイもまた、単純なボックスステップのダンスから、ステップがはるかに多く、ダンスフロア(データセンター)を大きく動き回る複雑なフラメンコへ移行するかのように、突如として飛躍的に難しくなります。すべての要素を適切なタイミングで所定の位置に配置するために必要な一貫性と予測可能性を確保するには、オーケストレーションと自動化が不可欠になります。

アプリケーション向けにこうしたネットワークサービスとセキュリティサービスを提供する担当者は、どれほど俯瞰して見ても、この船が以前と同じではないことを認識する必要があります。単純に見えるかもしれません。1つのアプリケーションを10個のサービスに置き換えるだけです。これで、テセウスの船のようにアプリケーションが再構築されます。しかし、運用の観点では、この船はまったく同じではありません。新しい船では接合部(統合)がまったく異なるため、海(ネットワーク)から受ける抵抗が変化し、船の航行速度が低下しやすくなります。

マイクロサービスは、まだ発展途上にあります。(今のところ)世界を席巻しているわけではありませんが、テセウスの船を解体して組み直すほど単純な話ではないことを認識する必要があります。ネットワークおよびセキュリティサービスの運用チームは、乗客(ユーザー)ではなく哲学者の視点で捉えなければなりません。ネットワークとセキュリティへの影響が大きく異なるためです。

共有
タグ: 2016

著者について

Lori Mac Vittie
Lori Mac Vittie特別技術者兼チーフエバンジェリスト | F5

Lori MacVittieは、F5のOffice of the CTOに所属するDistinguished Engineer兼Chief Evangelistであり、アプリケーションデリバリ、自動化戦略、インフラストラクチャに関する深い専門知識を有しています。AIエージェントのガードレール策定、脆弱なマルチクラウドアーキテクチャの分析、スケーラブルなシステムの限界の検証など、複雑な事柄を明快にすることで知られています。アプリケーション開発、ITアーキテクチャ、ネットワークおよびシステム運用の分野で、30年以上にわたる業界経験を有しています。F5入社前は、受賞歴のあるテクノロジー編集者として活躍していました。 MacVittieはコンピューターサイエンスの修士号を取得しており、セキュリティ、クラウド、エンタープライズアーキテクチャにわたる分野で多数の著作を発表しています。また、テーブルトークゲームとビデオゲームをこよなく愛し、チーズについては遠慮なく強いこだわりを語ります。

Lori Mac Vittieのその他のブログ記事

関連するブログ記事

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視
F5エコシステム | 2025/04/15

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視

F5の新しいオープンソースツールは、BIG-IP環境を詳細に可視化し、データを追跡するとともに、強力でカスタマイズ可能なインサイトを得るための基盤を提供します。

F5 BIG-IPでAI防御を実現
F5エコシステム | 2024/11/13

F5 BIG-IPでAI防御を実現

F5 BIG-IP Advanced WAF、BIG-IP APM、BIG-IP SSL Orchestratorが、生成AIアプリ向けに包括的なセキュリティソリューションを提供する仕組みをご覧ください。

F5 Advanced WAFによるGraphQL APIの保護
F5エコシステム | 2021/08/31

F5 Advanced WAFによるGraphQL APIの保護

ここ数年、多くの組織がデジタルトランスフォーメーションを進めており、COVID-19のパンデミックによってその動きは加速しています。

アプリケーションサービスの現状 通信業界版:リーダーとしての台頭
F5エコシステム | 2019/02/19

アプリケーションサービスの現状 通信業界版:リーダーとしての台頭

通信ネットワークが進化し、さまざまな業界の幅広いユースケースに対応するなか、通信業界の回答者がテクノロジーリーダーとしての存在感を高めていることがわかります。

デジタルトランスフォーメーションは、単なるペーパーレス化ではない
F5エコシステム | 2017/07/10

デジタルトランスフォーメーションは、単なるペーパーレス化ではない

デジタルトランスフォーメーションは、単なるペーパーレス化ではありません。真のモダナイゼーションにアプリケーションアーキテクチャとセキュリティの再構築が必要な理由を、F5ブログでご覧ください。

やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。
F5エコシステム | 2016/09/19

やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。

もうやめましょう。HTTPSはHTTPより高速ではありません。プロトコルのパフォーマンスに関する微妙な違いと、暗号化トラフィックを適切に最適化する方法については、F5ブログをご覧ください。