見出し画像

#技術書典 8で執筆した「クラウドネイティブファーストストーリー」の奮闘記

ちょうど、公式でnoteを用いたお題企画をやっていたので、今回、技術書典8で執筆した我々の書籍「クラウドネイティブファーストストーリー」についてお話します。下記のはてぶの内容と一部重複しますが、ご容赦下さい!


概要

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

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

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

執筆の経緯

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

執筆で大変だったこと

今回何より大変だったことは執筆者が二人だったことです。1章ごとに完結するストーリーであるならば、それほど大変ではないかもしれません。今回は、二人でそれぞれの章を担当し、一連の流れでハンズオンが経験できるような形式にしました。そのため気にしなければいけないことが山程ありました。
・文章の揺れを可能な限りなくす(Textlintを有効活用)
・図の形式も可能な限り揃える(AWS構成図はDraw.ioを使うなど)
・ディレクトリ構成
・前章で説明されたことが重複しないよう工夫
 ・1,3章が共同執筆者の新井さん、2,4章が私が執筆
・etc...

特に前2つが関係する「校正」がすごい大変でした。Gitのコミット状態を今見返しても1,2月に校正ラッシュだったんだなーと察します笑

画像1

執筆してよかったこと

大きく3つありました。

1つ目はやはり自身の知識体系が整理されることです。
大量にインプットをして、適度にアウトプットをすることで知識体系が整理されて血肉となっています。私の先輩であるお方の言葉を借りるならば、「アウトプットしないのは知的な便秘」。まさにそのとおりです。
https://www.slideshare.net/Typhon666_death/20191220-the-influence-of-intelligent-constipation-without-output
2つ目は自身のブランディングです。商業誌であれ、同人誌であれ書籍を執筆することは非常にパワーが必要となる作業です。その分、自分を説明するモノとしてかなりの効果を発揮します。どうやって書籍を執筆することになったの?と聞く人も多数おり、書籍という形として生み出されたアウトプットは自身のブランディングにかなり寄与していると感じています。
3つ目は技術伝承です。組織の中、チームの中で好き放題動いて色々なサービスに触れていると下記のようなことをよく言われます。
・この技術を使って〇〇をしたい
・〇〇の構成はどうやったのか教えてほしい
ここで書籍の登場です。スッと書籍を差し出す(まだURLを送る)だけでノウハウをすべて伝授できます。

書籍の目次紹介

「第1章 ようこそ、クラウドネイティブの世界へ」
1.1 クラウドネイティブってなんだろう?
1.2 クラウドネイティブが求められる背景
1.3 クラウドネイティブ化の進め方
1.4 コンテナがもたらす世界
1.5 CI/CDがクラウド時代に求められる理由とは?
1.6 コンテナの運用を支えるオーケストレーション
1.7 まとめ

「第2章 AWSで構築するクラウドネイティブサービス」
2.1 構築するサービス図
2.2 AWSサービスの紹介 - コンテナ
2.2.1 Amazon ECS
2.2.2 AWS Fargate
2.2.3 Amazon ECR
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サービスの紹介 - その他
2.5.1 Amazon S3
2.5.2 Amazon RDS
2.5.3 ELB
2.5.4 AWS Cloud9


「第3章 コンテナサービスの構築」
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 まとめ

「第4章 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経路を現在用意しています。

技術書典 応援祭

物理本は嬉しいことに全て売り切れしまっております。すいません。
他のサークルメンバーの書籍も合わせて是非ご検討ください!

・クラウドネイティブファーストストーリー
https://techbookfest.org/product/6051070518231040
・AWSの薄い本 IAMのマニアックな話
https://techbookfest.org/product/5632279003004928
・AWSを使って学ぶ 監視設計
https://techbookfest.org/product/5934813672374272
・認証サービスCognito・Auth0・Firebaseを比べる
https://techbookfest.org/product/6354233804718080

BOOTH

PDFと物理があります。物理本付きのやつは現在入庫作業中です!

とらのあな

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

画像2

メルカリ

3冊出していて残り1冊になってます。こちらは要望があれば、もっと放出しようかと。
https://www.mercari.com/jp/items/m95524804561/

まとめ

表紙も可愛くデザインしつつ、中身はかなり真面目に本気で本番で使えるであろう、AWSによるクラウドネイティブな構成を実現しています。ぜひお買い求めいただけると幸いです!

この記事が気に入ったらサポートをしてみませんか?