ISBN 9784297133269
AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか
概要
AWSのサーバーレス・コンテナ技術で現場のアプリ刷新を実践する
想定読者
モダナイゼーションの必要性は理解しているが、サーバーレスやコンテナをどこから導入すればよいか判断できずにいるAWSエンジニアや開発リーダー
こんな人には向いていない
- AWSを初めて触る段階の人には、前提とするサービス知識(Lambda、ECS、API Gatewayなど)が多く、入門書として使うには難しい
- すでにサーバーレスやマイクロサービスを本番運用しており、アーキテクチャ設計の深堀りを求めている人には、各トピックの掘り下げが浅く感じられる可能性がある
- 特定のAWSサービスのハンズオン手順書を求めている人には向かない。本書の中心はアーキテクチャ判断の考え方であり、実装コードの詳細は少ない
読了後にできるようになること
- サーバーレス・コンテナ・マイクロサービスの選択基準を「要件に合った技術選定」の観点から判断できる
- The Twelve-Factor AppなどのベストプラクティスをどのようにAWS構成に落とし込むか説明できる
- CI/CDパイプラインをAWSサービスで構築し、デプロイの自動化と品質管理を設計できる
- ユースケース別のデータベース選択(RDS、DynamoDB、ElastiCacheなど)の判断軸を持てる
- SPAとAPI Gatewayの組み合わせ、メッセージングによる非同期処理、Sagaパターンなど11の設計パターンを理解し、自プロジェクトに適用できる
- CQRSやフィーチャーフラグなど、モダンアプリケーションで頻出する設計概念を実務文脈で説明できる
本書のキー概念(章解説)
- 第 1 章 モダンアプリケーションの基礎概念 — モダンアプリケーションの定義と目的を整理する章。後続章の判断基準となる考え方を把握できる
- 第 2 章 サンプルアプリケーション(Sample Book Store)の紹介 — 本書全体を通じて使われる架空の開発現場。構成を把握しておくと以降の章が追いやすい
- 第 3 章 The Twelve-Factor Appなどのベストプラクティス適用 — AWS構成にどう落とし込むかが具体的に示される。クラウドネイティブ設計の基礎を確認したい人に有益
- 第 4 章 ビジネス・運用・システムデータの可視化 — 可観測性の入口として有用。オブザーバビリティツール選定を検討しているチームに参照価値がある
- 第 5 章 サーバーレスとコンテナ技術による運用改善 — 本書の核心部分。Lambda vs ECSの選択基準が整理されており、現場での議論たたき台として使いやすい
- 第 6 章 CI/CDパイプラインの自動化構築 — デプロイ自動化の設計方針を扱う。すでに一部自動化している現場では読み飛ばせる箇所もある
- 第 7 章 要件別のデータベース選択 — RDS・DynamoDB・ElastiCacheなどのユースケース別選択が整理される実務直結の章
- 第 8 章 SPA・API Gateway・メッセージング・Sagaなど11の設計パターン — CQRSやフィーチャーフラグも含む設計パターン集。必要なパターンだけ参照する使い方もできる
ハイライト
- 「なんとなく流行っているから……」「過去に使ったことがあるから……」という理由で技術選定されている現場に違和感を感じる方にもお勧めの1冊です。(本書の問題意識が端的に表れており、対象読者の解像度を高める一節)
- 各企業の技術戦略などによって最適解は変わりますが、アプリケーションの課題を改善して生産性を高めたい方にとって参考になる情報が多いでしょう。(「正解は一つではない」という本書のスタンスを示し、処方箋本ではなく思考軸を提供する書籍であることを伝える)
外部からの言及
- 「架空の開発現場」を題材にしたストーリー形式で読み進められる構成が理解しやすいと評価されており、抽象度の高いモダンアプリケーション概念を実務イメージで追えると紹介されている。AWS学習書のまとめ記事でも「アプリに関わるAWSエンジニアであれば常に手元に置いておきたい」レベルとして選定されている(qiita)
- 「正解が一つではなく、メリットとコストのトレードオフの中で最適なものを選択する」ことを一貫して強調している点が、特定技術の宣伝に偏らない実務的な視点として評価されている(qiita)
編集メモ
Qiita でのISBN直接言及記事は検索で確認できず、書名検索で2件の言及記事を確認(合計likes約304)。rakuten rankingデータは未取得。Qiita article count が基準の5件を下回るため supplementary 判定。ただしAWS学習書まとめ記事での選定実績はある
読む前に押さえておきたいこと
- AWS主要サービス(Lambda、ECS、API Gateway、RDS、DynamoDB)の基本的な役割と使い方
- HTTPとREST APIの基礎知識
- CI/CDの概念とGitを使ったソフトウェア開発フロー
- モノリシックアーキテクチャとマイクロサービスの概念的な違い(用語レベルで理解していれば十分)
学習のコツ
- 章単体を辞書的に参照することを想定した構成になっているため、5章(サーバーレス vs コンテナ)と7章(データベース選択)を先読みし、自プロジェクトの現状に照らし合わせてから通読すると吸収率が上がる
- サンプルアプリ(Sample Book Store)の構成を2章で把握してから読み進めると、後続の各改善施策がどのコンポーネントに対して行われているか追いやすい
- 8章の設計パターンは全部を通読するより、現在直面している課題(非同期通信、分散トランザクションなど)に対応するパターンから読み始める方が実用的
- アクティビティ(問いかけ)は読み飛ばしやすいが、自チームの現状と照らし合わせる素材として活用すると技術選定の議論たたき台になる
出版社による内容紹介
アプリケーションの設計・構築・管理を継続的に見直し、変化に迅速な対応をする開発戦略として、注目されている「モダンアプリケーション」。高い俊敏性・柔軟性のある開発を実現し、ビジネスを成長させることができます。しかし、モダンアプリケーション構築に役立つプラクティスは抽象度が高いことから、現場に適用しにくいのではないでしょうか。 そこで本書では、架空の開発現場を題材に、実際のプラクティスを解説。サーバーレスやコンテナによる運用改善・CI/CDパイプライン構築による自動化・アーキテクチャ最適化などを実践する方法を、イメージしながら読み進められるようまとめました。要件にあった技術選択をする重要性も紹介し、アプリケーションや組織の規模にあった考え方ができるようなアクティビティ(問いかけ)も提供しています。 各企業の技術戦略などによって最適解は変わりますが、アプリケーションの課題を改善して生産性を高めたい方にとって参考になる情報が多いでしょう。「なんとなく流行っているから……」「過去に使ったことがあるから……」という理由で技術選定されている現場に違和感を感じる方にもお勧めの1冊です。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。