密林の図書室

人生は短く、経験からのみ得られることは限られます。読書から多くのことを学び、アウトプット化も本との対話の一部として大切なものだと考えてきたので、このブログを立ち上げて日々読んできた本の備忘録として活用しています。

マイクロサービスアーキテクチャ

著:Sam Newman、監修:佐藤 直生、訳:木下 哲也

 

 システム開発の世界で注目を浴びているマイクロサービスについて解説した本。翻訳もので、ThroughWorks社のアーキテクトが原著者である。マイクロサービス化の意義やマイクロサービスとは何か、システムアーキテクチャの原則の進化、サービスのモデル化の考え方といったことから、関連して考えなければならない技術的な観点について取り上げられている。

 マイクロサービスは、小規模で自律的なサービスであり、個別のサービスが疎結合による集合体としてシステムを構成する考え方である。これによって、密結合の巨大システムやSOAの欠点を克服し、変化に強いシステムをつくることができる。そのためには、以下のような原則でアーキテクチャを描く必要がある。

・ビジネス概念に沿ったモデル化
・自動化の文化の採用
・内部実装詳細の隠蔽
・すべての分散化
・独立したデプロイ
・障害の分離
・高度な観測性

 また、マイクロサービスの概念を実現するためには、基本概念を知るだけでなく、考慮すべき技術的なポイントがたくさんあり、本書ではそれらについても技術的にさほど細かくはないものの、幅広く取り上げられている。具体的には、APIやデータベースや同期/非同期、テスト、デプロイ、自動化、コンテナ、セキュリティ、スケーリング、といった点である。付録として、Azure Service Fabricの例が紹介されている。

 PaaSやオープンシステムのアーキテクチャにある程度通じている人であればそれほど難しい本ではないように思われる。一方、特に個別技術に関する部分については、必ずしもマイクロサービスでなくとも当たり前のようなトレンドに沿ったことが多く書かれてあり、これらは本当は別段マイクロサービスに限ったことではないな、と思いながら読んだ。

 

単行本、344ページ、オライリージャパン、2016/2/26

マイクロサービスアーキテクチャ

マイクロサービスアーキテクチャ