第1章マイクロサービス

この数年、IT業界では実践的な応用分散システムアーキテクチャが急速に変化してきており、多くの有名企業(Netflix、Twitter、Amazon、eBay、Uberなど)がモノリシックなアプリケーションの構築を止め、マイクロサービスアーキテクチャを採用してきました。マイクロサービスの基本概念は決して新しいものではありませんが、最近のマイクロサービスアーキテクチャの適用方法はまったく新しいものです。そして、マイクロサービスアーキテクチャが採用されている理由には、複雑なシステムをまとめて1つの大規模でモノリシックなアプリケーションとしてデプロイしたときのスケーラビリティの低さ、効率の悪さ、ベロシティの低さ、新テクノロジーの採用の難しさといったものが含まれています。

0からの開発であれ、既存のモノリシックなアプリケーションのマイクロサービスへの分割であれ、独立に開発、デプロイされるマイクロサービスの組み合わせというアーキテクチャを採用すればこれらの問題が解決されます。マイクロサービスアーキテクチャを採用すると、アプリケーションは水平にも垂直にも簡単にスケーリングできるようになり、開発者の生産性、ベロシティは飛躍的に向上し、古いテクノロジーを簡単に最新のテクノロジーに置き換えられるようになります。

この章でこれから見ていくように、マイクロサービスアーキテクチャの採用は、アプリケーションをスケーリングするための自然なステップと考えることができます。モノリシックなアプリケーションは、スケーラビリティや効率の問題から分割に進みます。しかし、マイクロサービスを採用すると、マイクロサービス固有の新たな課題が生まれます。スケーラブルなマイクロサービスエコシステムを実現するためには、高度で安定したインフラストラクチャが必要とされます。また、マイクロサービスアーキテクチャをサポートするためには、企業の組織構造をそれに合わせて大幅に変更しなければならず、組織変更に伴って生まれるチームは、サイロ化し、スプロール(不規則に成長)しやすくなります。しかし、マイクロサービスアーキテクチャの最大の課題は、信頼と可用性を保証するために、サービス自体のアーキテクチャの標準化と個々のマイクロサービスが満たさなければならない要件が必要になることです。 ...

Get プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.