書籍「クラウドネイティブファーストストーリー」(技術書典8)について

少し時間があいたので、本の内容と購入可能な経路について紹介させていただきます!

概要

本書では、パブリッククラウドであるAWSの各種サービスを組み合わせていくことで、コンテナやCI/CDのベース環境の構築を行うハンズオン形式で構成されています。 アプリケーション観点、というよりはインフラストラクチャーや運用観点にトピックの主軸を置いています。 中級者の方々にも満足していただくために、ハンズオン内には随所にAWSの構築やを仕組みを理解する際に役立つTipsを多く記載しています。 是非、Tipsを探して読んでみてください。

というか、Tipsがめちゃめちゃ気合いいれてたりはします!!!www

A5判で188ページになります。

t.co

コンテナとCI/CDをネタとして書くことになった経緯

現在、コンテナやコンテナオーケストレーション、CI/CDに関しては数々の書籍やウェブ記事などで触れられています。いずれも素晴らしい内容が多いですが、コアな技術に特化した内容かワンショットの内容のものが多いです。 もちろん、習熟した人ならば、それらを組み合わせて理解し、システムを作り上げることができます。しかし、一貫した流れでコンテナアプリケーション&CI/CDを構築しているものはないなーという状態でした。 意外とハマりどころや悩むところもあるし色々知見が溜まってきてることもあるので、この本で完結する形で実運用で使うようなコンテナアプリケーションとCI/CDをわかるように書いてしまおう!!という経緯でこのテーマになりました。

目次

第1章 ようこそ、クラウドネイティブの世界へ

手を動かす前に「なぜ」必要なのかを知るのは非常に大事です。「なぜ」クラウドネイティブが必要なのか、クラウドネイティブの考え方を持ってアプリケーションを構築することでどういったメリットを享受できるかを丁寧に語っています。

AWSで構築するクラウドネイティブサービス

ここはAWSに精通している人なら飛ばせる箇所です。今回利用する各サービスについて緩く触れています。かなり多くのサービスを組み合わせるので、それなりにボリューミーな章ですが、知っているサービスを読み飛ばしていけばサラッと読めると思います。

  • 2.1 構築するサービス図
  • 2.2 AWSサービスの紹介 - コンテナ
  • 2.3 AWSサービスの紹介 - CI/CD
    • 2.3.1 AWS CodeCommit
    • 2.3.2 AWS CodePipeline
    • 2.3.3 AWS CodeBuild
    • 2.3.4 AWS CodeDeploy
  • 2.4 AWSサービスの紹介 - 運用・監視・セキュリティ
    • 2.4.1 AWS WAF
    • 2.4.2 AWS CloudTrail
    • 2.4.3 Amazon CloudWatch
    • 2.4.4 AWS System Manager
  • 2.5 AWSサービスの紹介 - その他

コンテナサービスの構築

本章からハンズオン形式で実際に手を動かしての構築となります。 本書籍で最も長いパートです。筆者のアライさんの熱量がぎっしり詰まった章です。コンテナとオーケストレーションを中心にアプリケーションを構築していきます。

  • 3.1 構築の前提と全体流れ
  • 3.2 ネットワークの構築
    • 3.2.1 ネットワーク設計
    • 3.2.2 VPCの構築
    • 3.2.3 インターネットゲートウェイの追加
    • 3.2.4 サブネットの追加
    • 3.2.5 ルーティング設定の追加
  • 3.3 ロードバランサの作成
    • 3.3.1 ELB(ALB)の構築
    • 3.3.2 WAFの設定
  • 3.4 コンテナイメージの作成と登録
    • 3.4.1 コンテナイメージを登録させるまでの道のり
    • 3.4.2 コンテナレジストリの作成
    • 3.4.3 管理用インスタンスの作成
    • 3.4.4 VPCエンドポイント作成の事前準備
    • 3.4.5 VPCエンドポイントの作成
    • 3.4.6 コンテナイメージビルドとレジストリ登録
  • 3.5 オーケストレーションの構築
    • 3.5.1 AWSにおけるコンテナサービスの関係性
    • 3.5.2 ECSの構成
    • 3.5.3 Fargate利用のメリットとデメリット
    • 3.5.4 ECS/Fargate構築の流れ
    • 3.5.5 ECS構築の事前準備
    • 3.5.6 ECSの構築
    • 3.5.7 コンテナデプロイ確認
  • 3.6 データベースの作成
    • 3.6.1 コンテナとデータベース
    • 3.6.2 データベースの作成
    • 3.6.3 データベース接続に必要な準備
  • 3.7 まとめ

CI/CDの構築

3章同様、ハンズオン形式がメインの章となります。 2章で説明したCode兄弟を駆使したCI/CDパイプラインの構築をハンズオンで学ぶ箇所です。また、今回は概念のみにとどめましたが、実運用を意識した開発やリリースについての知見を最後に共有しています。

  • 4.1 サンプルアプリケーション用の環境設定
    • 4.1.1 CodeCommitのリポジトリ作成
    • 4.1.2 開発環境の設定
    • 4.1.3 サンプルアプリケーションの登録
  • 4.2 ビルド定義の作成
    • 4.2.1 コンテナレジストリの構築
    • 4.2.2 コンテナイメージのビルド仕様定義の作成
    • 4.2.3 全体のビルド定義の作成
  • 4.3 デプロイ定義の作成
    • 4.3.1 ECSから自動作成されたリソース
  • 4.4 パイプラインの構築
    • 4.4.1 CodePipelineのしくみ
    • 4.4.2 パイプラインの構築の下準備
    • 4.4.3 パイプラインの作成
    • 4.4.4 パイプラインの修正
  • 4.5 CI/CDの実施
    • 4.5.1 CodeDeployの定義変更
    • 4.5.2 アプリケーションの変更
    • 4.5.3 デプロイ確認
  • 4.6 運用戦略
    • 4.6.1 アカウント戦略
    • 4.6.2 ブランチ戦略
    • 4.6.3 リリース戦略
    • 4.6.4 リリース戻し戦略
  • 4.7 まとめ

購入経路について

DLカードもかわいく仕上がったので是非物理本も見ていただければ嬉しいです。オンラインでは下記の4経路を現在用意しています。

技術書典 応援祭

他のサークルメンバーの書籍も合わせて是非!

BOOTH

(2020.09.09追記) BOOTHは完売いたしました!物理本は引き続きとらのあなで絶賛発売中です!

booth.pm

メルカリ

3冊出していて残り1冊になってます。こちらは要望があれば、もっと放出しようかと。

(2020.03.23追記) メルカリも完売いたしました!追加で出品希望の方はメッセージ等いただけるとベストエフォートで対応します!!

とらのあな

店舗にいけば手にとって見ることもできます!秋葉原A店の3階にありました。

f:id:horsewin:20200310225003j:plain
少し上の方にありました!!!

ec.toranoana.shop