試験公開中

このエントリーをはてなブックマークに追加

マイクロサービスパターン[実践的システムデザインのためのコード解説]

インプレス

4,800円+税

現在、ITの世界で注目を集めるマイクロサービスを体系的に紹介します。システム分割や設計のレベルから、プロセス間通信、トランザクション、データベース、テスト、デプロイなどほぼすべての側面を網羅した具体的な解説書です。

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

関連サイト

本書の関連ページが用意されています。

内容紹介

マイクロサービスは、現在最も注目されるソフトウェアのアーキテクチャスタイルです。巨大なモノリシック(一枚岩)システムを、独立した複数のサービスへと分割することによって、それらのサービスはRESTやメッセージングを介して協業できるようになります。機能別に分割されたサービスはそれぞれ個別に開発/デプロイ/管理され、疎結合となっており、保守性や運用性が飛躍的に向上します。

マイクロサービスは巨大なエンタープライズシステムのモダナイゼーションに役立つアーキテクチャスタイルですが、その実践は簡単なことではありません。本書は、システムのマイクロサービス化の成功に向けた極めて実践的な解説書です。豊富なサンプルコードを示しながら、ストーリー仕立てで具体的な解説を試みます。システムやプロセス間通信の設計や、ビジネスロジックの開発、データの永続化などを解説し、さらにテストやデプロイ、開発プロジェクトのマイクロサービスへの移行などについても考察しています。

マイクロサービスについて詳しく知り、その実現のための具体的な方法を知りたい、開発の失敗を避けるための生きた知識を得たいという方のために、本書はさまざまな知見を提供します。

書誌情報

  • 著者: Chris Richardson(著), 長尾高弘(訳), 樽澤広亨(監修)
  • 発行日: (紙書籍版発行日: 2020-03-23)
  • 最終更新日: 2020-03-23
  • バージョン: 1.0.0
  • ページ数: 569ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

これからマイクロサービスをスクラッチで開発する、あるいは既存のモノリシックなプログラムをマイクロサービス化しようとしている開発者やアーキテクト

著者について

Chris Richardson

経験豊富なシステムアーキテクト。CloudFoundry.comのファウンダーであり、世界中の顧客のためにマイクロサービスアーキテクチャの適用についての活動を行っている。

長尾高弘

東京大学教育学部卒、株式会社ロングテール社長、訳書に『Scala スケーラブルプログラミング第3 版』(インプレス)、『プロダクションレディマイクロサービス』(オライリー・ジャパン)、『AWS によるサーバーレスアーキテクチャ』(翔泳社)、『The DevOps ハンドブック』(日経BP社)、『入門Python3』(オライリー・ジャパン)などがある。

樽澤広亨

外資系クラウド・ベンダー所属アーキテクト。米IBM ソフトウェア開発研究所所属の開発エンジニアとしてアプリケーション・サーバーの設計・開発を担当。また日本IBM にてアーキテクト、デリバリーエンジニア、テクニカルサポートエンジニア、エバンジェリストとしてソフトウェアビジネス、クラウドビジネスに従事。この間、情報処理学会.情報企画調査会.SC38 専門委員として、ISO IEC JTC1/SC38 によるクラウドコンピューティングの国際標準策定に貢献。

目次

本書について

  • 本書はどのような人々のために書かれているか
  • ロードマップ
  • コードについて
  • ブックフォーラム
  • その他のオンラインリソース
  • 著者について
  • 監修者について
  • 訳者について

Chapter 1 モノリシック地獄からの脱出

  • 1.1 ゆっくりとした足取りによるモノリシック地獄への転落
  • 1.2 本書がみなさんにとって意味を持つ理由
  • 1.3 本書で学べること
  • 1.4 マイクロサービスアーキテクチャで状況打開
  • 1.5 マイクロサービスアーキテクチャの利点と欠点
  • 1.6 マイクロサービスアーキテクチャのパターン言語
  • 1.7 マイクロサービスを越えて: プロセスと組織
  • 1.8 まとめ

Chapter 2 サービスへの分割

  • 2.1 マイクロサービスアーキテクチャとは正確なところ何なのか
  • 2.2 マイクロサービスアーキテクチャの定義の方法
  • 2.3 まとめ

Chapter 3 マイクロサービスアーキテクチャで使われるプロセス間通信

  • 3.1 マイクロサービスアーキテクチャにおけるプロセス間通信の概要
  • 3.2 同期的なリモートプロシージャ呼び出しパターンを使った通信
  • 3.3 非同期的メッセージングパターンを使った通信
  • 3.4 可用性向上のための非同期メッセージング
  • 3.5 まとめ

Chapter 4 サーガによるトランザクションの管理

  • 4.1 マルチサービスアーキテクチャにおけるトランザクション管理
  • 4.2 サーガのコーディネート
  • 4.3 分離性の欠如への対処方法
  • 4.4 オーダーサービスとCreate Order Sagaの設計
  • 4.5 まとめ

Chapter 5 マイクロサービスアーキテクチャにおけるビジネスロジックの設計

  • 5.1 ビジネスロジック構成パターン
  • 5.2 DDDのAggregateパターンを使ったドメインモデルの設計
  • 5.3 ドメインイベントのパブリッシュ
  • 5.4 キッチンサービスのビジネスロジック
  • 5.5 オーダーサービスのビジネスロジック
  • 5.6 まとめ

Chapter 6 イベントソーシングを使ったビジネスロジックの開発

  • 6.1 イベントソーシングを使ったビジネスロジックの開発
  • 6.2 イベントストアの実装方法
  • 6.3 サーガとイベントソーシングの併用
  • 6.4 まとめ

Chapter 7 マイクロサービスアーキテクチャでのクエリーの実装

  • 7.1 〈API composition〉パターンを使ったクエリー
  • 7.2 〈CQRS〉パターンを使ったクエリー
  • 7.3 CQRSビューの設計
  • 7.4 AWS DynamoDBによるCQRSビューの実装
  • 7.5 まとめ

Chapter 8 外部APIパターン

  • 8.1 外部APIを設計するときの問題点
  • 8.2 〈APIゲートウェイ〉パターン
  • 8.3 APIゲートウェイの実装
  • 8.4 まとめ

Chapter 9 マイクロサービスのテスト(前編)

  • 9.1 マイクロサービスアーキテクチャのテスト戦略
  • 9.2 サービスのユニットテストの開発
  • 9.3 まとめ

Chapter 10 マイクロサービスのテスト(後編)

  • 10.1 統合テストの開発
  • 10.2 コンポーネントテストの開発
  • 10.3 エンドツーエンドテストの開発
  • 10.4 まとめ

Chapter 11 本番環境に耐えられるサービスの開発

  • 11.1 セキュアなサービスの開発
  • 11.2 設定可能なサービスの設計
  • 11.3 可観測性を備えたサービスの設計
  • 11.4 〈Microservice chassis〉パターンを使ったサービスの開発
  • 11.5 まとめ

Chapter 12 マイクロサービスのデプロイ

  • 12.1 〈Language-specific packaging format〉パターンによるサービスのデプロイ
  • 12.2 〈Service as a VM〉パターンによるサービスのデプロイ
  • 12.3 〈Service as a container〉パターンによるサービスのデプロイ
  • 12.4 KubernetesによるFTGOアプリケーションのデプロイ
  • 12.5 〈Serverless deployment〉パターンを使ったサービスのデプロイ
  • 12.6 AWS LambdaとAWS API Gatewayを使ったRestfulサービスのデプロイ
  • 12.7 まとめ

Chapter 13 マイクロサービスのリファクタリング

  • 13.1 マイクロサービスへのリファクタリングの概要
  • 13.2 モノリスをマイクロサービスに移行させるための方法
  • 13.3 サービスとモノリスの連携方法の設計
  • 13.4 新機能をサービスとして実装する:配達ミスの処理
  • 13.5 モノリスの分解:配達管理の抽出
  • 13.6 まとめ

索引

Home 書籍一覧 マイクロサービスパターン[実践的システムデザインのためのコード解説] ▲ ページトップへ戻る