技術書典#13向けに「Amazon CloudWatch [本格]入門」を執筆しました

はじめに

お久しぶりです。最近は疎かになっていましたが、久々のブログ投稿となります。 今回はタイトルの通り、技術書典#13向けに「Amazon CloudWatch [本格]入門」を執筆しました。

本ブログにて少しご紹介できればと思います🚀

techbookfest.org

今回も表紙がかなりかわゆい感じになっていますが、内容はガチガチの技術書です。

書籍の位置付け

技術書典はかれこれ2019年にオンライン開催された技術書典8が初参加です。

その時はコンテナ(Amazon ECS / AWS Fargate)+CI/CDを主テーマにした「クラウドネイティブファーストストーリー」を執筆しました。 2年後の技術書典11にて、同じくクラウドネイティブシリーズ第2弾として「比べてわかる!IaCの選びかた」を世に送り出しました。

booth.pm

booth.pm

今回の書籍は、そのクラウドネイティブシリーズ第3弾にあたる位置づけとして、「AWS x クラウドネイティブ x オブザーバビリティ(Amazon CloudWatch)」をテーマに執筆しました。

なぜ、テーマがオブザーバビリティとしてのCloudWatch?

CloudWatchと聞いて、皆さまはどのような機能を思い浮かべますか?

おそらく、ほとんどの方が、ログ・メトリクス・アラームのサービスを想起するものと考えています(もちろん、僕自身もそう)。 AWS上で安定したビジネスワークロード実現のために、CloudWatchが必要不可欠であることは異論ないでしょう。 個人的に、AWSを利用する上でIAM並に必須のサービスかと考えています。

ただ、CloudWatchは今や15を超えるサービス群で構成されています。 そして、今や公式でもオブザーバビリティサービスとして位置づけられています。

Amazon CloudWatch(リソースとアプリケーションの監視と管理)| AWS

Amazon CloudWatch は、DevOps エンジニア、デベロッパー、サイト信頼性エンジニア (SRE)、IT マネージャー、および製品所有者のために構築されたモニタリング/オブザーバビリティサービスです。

全体像を図で表現すると次の通りです(本書の一部より抜粋)。 ご覧の通り、CloudWatch系のサービスだけでかなり多いことがわかります。

オブザーバビリティの文脈でCloudWatchの全容を理解するためには、各サービスの機能や特長を個別に理解が必要です。 また、自分自身でそれらの情報をつなぎ合わせないといけないですよね。 僕自身、これらをつなぎ合わせる際に手助けとなるちょうど良いドキュメントや書籍がないなぁ・・・と感じていました。

AWSは各サービス毎にオンラインドキュメントや公式ブログ、AWS Black Belt Seminarなどが提供されています。 これらは学習する際の情報源としてはたいへん充実しています。 ただ、情報量が多すぎるが故に、サービスの概要や全体像が少し理解しにくい状況になっているのでは、とも考えていました。

今作は、「エンジニア目線として、CloudWatchの全体像が一気通貫で掴めるような本があったらいいな」、という想いから本書を執筆しています。

タイトルについて

「xxx[本格]入門」というタイトル。 実は僕と馬勝さんが執筆した、「コンテナ設計・構築[本格]入門」のタイトルを一部拝借しています。

www.amazon.co.jp

というのは、本書はECS/FargateやApp Runnerを前提としたハンズオンを多数収録しています。 そのため、コンテナ設計・構築[本格]入門を読み終えた方にとって、ある意味、続編扱いでオブザーバビリティとしてのCloudWatchを学べることを意識しています。読書体験の連性続を込めて、今回このようなタイトルにしてみました。

また、「Amazon CloudWatch」と聞くと、AWSを利用している方にとってシンプルに本のテーマがわかりやすいかな、という点も名付けに関する背景のひとつです。

書籍について

本の構成

今回執筆した本は全17章で構成されています。

1章では、オブザーバビリティの概要と重要性について述べています。 クラウドネイティブの文脈におけるオブザーバビリティの必要性とCloudWatchとの関連性について解説します。

2章では、Amazon CloudWatchの歴史とサービスの全体像について触れています。 Amazon CloudWatchの歴史はAWSが提供するサービス群の中では比較的古く、サービス誕生からすでに13年以上の月日が経ちました。 サービス開始当初のモニタリングサービスとしての位置付けから、オブザーバビリティを実現するサービス群として成長遂げており、本章はそのCloudWatchに関する歴史を振り返っていきます。

そして、3章〜17章はCloudWatchが提供する各種サービスをご紹介します。 各章は「サービスの概要」、「サービスの詳細」、「利用時の考慮ポイント」、そして「ミニハンズオン」を基本セクションとして構成しました。 クラウド学習の良さは、なんと言っても自分で手を動かせる環境を用意しやすい点です。 自ら手を動かしながら、現在提供されている各サービスの特長を網羅的に学ぶことができます。

本書では単なるサービスの紹介だけにとどまらず、設計や運用上の注意点、利用が適しているユースケース等についても多数考察しています。 読者の皆さまが実践投入する際のヒントをふんだんに散りばめてみました。

前作と前々作に引き続き、クラウドネイティブシリーズらしく、ミニハンズオンはECS/FargateやApp Runner、Lambdaなどサーバレスやコンテナを題材にしたものを中心としています。

本の著者と監修者

今回の本は、前作と全前作、そして代表作である「コンテナ設計・構築[本格]入門」とも共著をともにしたAPN AWS Top Engineersの一人である馬勝さん@HorseVictoryとの共著です。

馬勝さんは、UI/UX、フロントアプリケーション、バックエンドアプリケーション、クラウドとなんでもできる、まさにスーパーエンジニアです。 そんなスーパーエンジニアである馬勝さんと力を合わせて仕上げた、渾身の一冊です。

本のスペック

今回の書籍もなるべくわかりやすさを意識して、図&キャプチャをたくさん散りばめました。 数えてみると、その数は実に133個になります。

ページ数は234ページあります。 技術書典向けとしてはぶ厚めなので、割と読み応えがあるかと思います。 ただ、CloudWatchの各サービス毎に独立した章としているので、気になるサービスだけかいつまんで読むこともできます。

対象の読者

対象の読者は次のような方々を想定しています。

  • AWS上でシステムを運用している方
  • AWS上でオブザーバビリティの実現を目指している方
  • CloudWatchの全体像や各種サービスの理解を深めたい方
  • CloudWatchを十分活用しきれていないと考えている方
  • とにかくAWSが好きなエンジニアの方

AWSを触るのが好きな方なら、誰でも楽しんで読んでいただけると思います。

目次

僕は主に「はじめに」、「1章」、「3-5章」、「13-17章」の執筆を担当しました。 共著者の馬勝さんは「2章」、「6-12章」を主に執筆しています。

本の内容を少しだけご紹介

本ブログでは、僕が担当した一部の章を少しだけ紹介しています。

まず3章ですが、ここではCloudWatchメトリクスをテーマとしています。 CloudWatchメトリクスは2009年5月17日にCloudWatchが登場してから存在する機能です。 オブザーバビリティ実現の根幹ともいえますが、初学者にとって名前空間やディメンションなど、CloudWatchメトリクス特有の概念は少しとっつきにくいのかな考えています。 そのような概念に対しても、なるべく噛み砕いて解説し、ハンズオンでイメージアップできるように執筆を工夫してみました。

また、13章ではCloudWatch Container Insightsを取り上げています。 ECSやEKSを利用しているワークロードでパフォーマンス情報を統合して分析できる便利なツールです。 Container Insightsに関して、ECS/Fargate構成であれば割と設定は楽なのですが、その他の構成に関しては割と複雑だったりします。 また、AWSオンラインドキュメントだと、これらの説明がすべて文章で記述されており、イメージアップがなかなかしづらいのが実情です。

そこで、本書では図をたくさん用いて、どのような構成をすればよいのか、理解しやすいように心がけてみました。

もし、他の章も読んでみたいと思う方がいれば、ぜひお手に取っていただけると嬉しいです・・!

技術書展#13に向けて

今回のイベントはオンライン&オフライン両方に販売予定です。 オフラインに関しては以下の場所で出店予定です。

techbookfest.org

当日ご参加を予定される方はぜひよもやま話も含めて盛り上がれればと思っています!

最後に

最後まで読んでいただきありがとうございました。

今回の書籍執筆にあたり、当初は2ヶ月ほどの期間を予定していました。 ただ、お互い業務が非常に忙しくなったり、家族がコロナウイルスに感染して看病したり、自分が体調不良になったりなどで時間がなかなか取れず、実質1ヶ月程度で書き上げました。 個人的には、執筆活動の中で、群を抜いて過去一番に辛かった(ラスト2週間は毎日朝4-5時まで執筆していた・・・)です。

ただ、僕も馬勝さんも手を抜くのが嫌いな性格(?)であるせいか、ある程度まとまりの良い出来になったのではないかな、と思います。

冒頭でもお伝えの通り、今回は自分達が一人のAWSエンジニアとして、「こんな本があったらいいなぁ」をテーマに執筆してみました。

本当はミニハンズオンをもっと充実させたり、CloudWatch全サービス横断のオブザーバビリティハンズオンの執筆も予定していました。 しかし、ページ数が400ページ近くなってしまうことや、あまりにも執筆と校閲に時間を割けないことから、泣く泣く「概要編」としての位置付けで刊行しました。

今後もし余力があれば、今回継ぎ足せなかったコンテンツを何らか別な形で皆さまにお届けできればと考えています。 ぜひ、忌憚のないフィードバックをいただけると嬉しいです🌻

なお、Boothでの販売も予定しています。 現在準備中なので、準備ができたら僕のTwitter@msy78告知させていただこうと思います。

では、また!