プログラマでありたい

おっさんになっても、プログラマでありつづけたい

『AWSコンテナ設計・構築[本格]入門』の監修しました

 あまり宣伝できていなかったのですが、監修していた『AWSコンテナ設計・構築[本格]入門』が2021年10月21日に発売されることになりました。AWSのJapan APN Ambassadorsである新井雅也さん(@msy78)と、同じくAPN AWS Top Engineersである馬勝淳史さん(@HorseVictory)の力作です。

※ただし、ちゃんとした書影はまだない。 2021/10/04現在

AWSコンテナ設計・構築[本格]入門は、どんな本?

 まず『AWSコンテナ設計・構築[本格]入門』とは、どんな本なのでしょうか?入門と言いつつ本格とも入っています。このあたり、出版社の悩みと意気込みが込められていると思います。通常、初心者向けの本だと入門となります。そして、中級者向けだと実践などになります。本書は中級・上級レベルの方にも充分新たな学びを得られる内容が込められているのですが、一方でこれからコンテナを始める人に対しての取っ掛かりとなるような本です。ということで、[本格]入門となります。ちなみに書籍のタイトルについては、出版社の専決事項となるので、具体的にどういう経緯だったのかは私も知りません。

AWSコンテナ設計・構築[本格]入門の章立て

 さて、『AWSコンテナ設計・構築[本格]入門]』の章立てです。本書は5章+付録の構成となっています。

  • 第1章:コンテナの概要
  • 第2章:コンテナ運用に必要な AWSの基礎知識
  • 第3章:コンテナを利用したAWSアーキテクチャ
  • 第4章:コンテナを構築する(基礎編)
  • 第5章:コンテナを構築する (応用編)
  • 付録1 AWSサービスの説明
  • 付録2 AWSアカウントの作成と設定
  • 付録3 ECSへアプリケーションをデプロイする多様なツール
  • 付録4 作成したリソースの削除

 まず1章・2章で、コンテナとAWSの基礎知識を要点を絞って解説しています。合せて40ページ弱くらいですが、コンテナの概要から構築・運用上重要なポイント、さらにコンテナ構築・運用に関わるAWSサービスの解説がなされています。上手く解説されているのでコンテナとAWSを知らない人にはもちろん有益ですし、ある程度知っている人にとってもこのように説明するのかと新たな気付きがあるでしょう。
 次の3章ですが、これが圧巻です。AWS上でコンテナを作る場合のアーキテクチャを、運用・セキュリティ・信頼性・パフォーマンス・コストの5つの観点で、どうあるべきかを設計&解説しています。5つの観点という時点でAWSに慣れている人は、Well-Architectedフレームワークに沿っていると気がつくのではないでしょうか。Well-Architectedフレームワークとは、AWSが長年培ってきたクラウド上でシステムを構築・運用する上でのベストプラクティスです。その考え方に基づいて、AWS上でのコンテナ構築・運用のベストプラクティスに昇華させたのが本書になります。ほんの一例ですが、例えばログの取得について。AWSの場合だと、CloudWatch Logsがデフォルトで提供されている機能になります。ただCloudWatch Logsは毎月200GBコストのログで月あたり約150ドルくらい掛かり、コストが課題になることが多いです。代替の構成として、Firelensで提供されているFluent Bitをサイドカー構成で利用することが提案されています。この構成を取ることで、コストを抑えることが可能になります。このいった感じでどういった構成を取るのか、またその構成のメリット・デメリットは何かと一つ一つ丁寧に解説されています。アーキテクチャ設計をする上では、何故その構成なのかを説明できることが大事です。3章を読むことにより、コンテナ設計の考え方が身につくでしょう。
 4章・5章がハンズオンになります。3章のアーキテクチャを元に基礎編と応用編にわかれて手を動かすことで、段階的にレベルアップすることが可能となっています。よくあるハンズオンとしては、対象のサービスが動くところまでを目的とすることが多いです。それに対して本書のハンズオンは、コンテナが動く環境を作ることはもとより、実践的に使えるようにセキュリティ上の対策や運用監視設計の仕方まで解説しています。ここ読めば、本当に実践的な環境を構築できるようになっています。そして、コンテナの実運用にはCI/CDが欠かせません。応用編としてCodeシリーズを活用したCI/CDのパイプラインの構築まで解説されています。ちなみに新井さん&馬勝さんのお二方は、『比べてわかる!IaCの選びかた 〜クラウドネイティブIaCストーリー〜』というCI/CD本も出されています。めっちゃ納得感あるでしょう。
 あとは付録として、本編で紹介しきれない様々な情報も補足して解説しています。AWSアカウントの開設から、ハンズオンで利用したリソースの削除方法まで網羅している親切設計です。
※2021/10/19追記 付録についてはページ数の都合上、なくなく削除しました

著者である新井さん&馬勝さんについて

 著者の新井さんと馬勝さんは、野村総合研究所に所属するエンジニアです。冒頭に紹介したとおり、AWSのアンバサダーであったりTop Engineerでもあります。更に新井さんは、JAWSUGコンテナ支部のコアメンバーでもあります。業務システムにも精通し、AWSとコンテナにも詳しいスーパーマンのような人たちです。私も同じグループのご縁で、イベントや飲み会に何度も同席させて貰っています
 業務やコミュニティでの活動以外に、技術同人誌の執筆にも取り組んでいます。同じブースや近くのブースで出展していた事があるのですが、特にクラウドネイティブファーストストーリーの人気は高く、電子書籍はすでに買ったけど物理本が欲しいと買い求められる光景をよく目にしました。

booth.pm

booth.pm

AWSコンテナ設計・構築[本格]入門の誕生の経緯

 折角の機会なので、『AWSコンテナ設計・構築[本格]入門』の誕生の経緯も紹介しておきます。この本は、2020年2月29日に開催予定だった技術書典8に発表された『クラウドネイティブファーストストーリー』が下敷きとなっています。技術書典8は当初物理開催を予定されていましたが、新型コロナの影響で急遽オンライン開催のみとなっていました。それにも関わらず、『クラウドネイティブファーストストーリー』は大人気を博し、インプレスR&Dの技術の泉シリーズから、『AWSで学ぶクラウドネイティブ実践入門』としてKindleならびにオンデマンドペーパーブックとして発売されています。その後、SBクリエイティブさんの馴染みの編集者さんに佐々木を介して書籍化の相談をしておりました。企画の方はトントン拍子で進み、執筆スタートと相成りました。
 実は佐々木の方も筆者で参加するかという話もあったのですが、ことコンテナに関して言うと二人の方が圧倒的に知識も経験もあるので、遠慮させていただきました。ただご厚意で監修として名前を連ねさせて頂いています。原稿を格納しているGitHubでの活動履歴や、たまに物理的に会った時に状況を聞いておりましたが、恐ろしいほど推敲された原稿となっています。その上で、コミュニティ界隈のコンテナやCI/CD周りの有識者に原稿のレビューも重ねていたようです。ぜひ本書を手にとって、そのクオリティを確認してみてください。
 ちなみに、技術書典8は『チームになったササキです』というサークルとして出展し、新井さん&馬勝さんの『クラウドネイティブファーストストーリー』と@tenbo07さんの『AWSを使って学ぶ 監視設計』、高柳さんの『認証サービスCognito・Auth0・Firebaseを比べる』と私の『AWSの薄い本Ⅱ アカウントセキュリティのベーシックセオリー』が発表されていました。どの本もBoothの技術書典8で上位にランクインしており、もし物理開催していたらパンクしていたんじゃないかという気がします。

まとめというか感想

 最近、本書のように自身で執筆するより、オーガナイザーとして執筆をサポートする事の方が多くなっています。というのは、執筆の時間を確保するのが難しくなっている点と、周りの若者にどんどん優秀な人間が出てきていて、自分で執筆するより良いものができるようになっているからです。もし私が新井さん&馬勝さんと同じ時間を掛けても、二人が書いたコンテナ本よりクオリティの高いものは書けません。同様にAWS認定試験対策本や、他の本でも同じような状況になりつつあります。
 若者が台頭していた今、じゃぁ自分はどんな付加価値を出せるのかと、改めて考え直さないとと自問自答するようになっています。自分の生存戦略が心配になるほど出来の良い一冊なので、是非読んでみてください