Docker+Kubenetesを学びたい人向けのおすすめ書籍3選


こんにちは。最近ポートフォリオを作るために引きこもっています。

はてそれはさておき、今流行のコンテナ型仮想環境を立てられ、「環境をどこでも持ち運べる」Dockerという技術があります。

複数Dockerイメージを本番で運用するためには、Kubenetesを代表とするコンテナ・オーケストレーションについて学ぶ必要があります。

個人的にもちょいちょい新宿の紀伊國屋書店に足を運ぶのですが、良さそうな書籍があったので紹介します。

私は今内容を咀嚼中ですww

プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで

インフラ基礎知識とセットで学ぶ!
Google Cloud Platformの機能&システム構築パターン!

本書は、Google Cloud Platform(GCP)でシステム、アプリケーションを
構築するための実践的な入門書です。

GCPを初めて利用する開発者をメインターゲットとし、GCPの提供する
サービス(コンポーネント)の全体像と、サービスを組み合わせて最適な
アプリケーションアーキテクチャを実現する方法を、具体的なサンプルを
使ってわかりやすく解説します。

Webアプリケーションを動かす具体的な手順の解説に加えて、コンテナ、
オーケストレーションといったテーマもカバーするため、業務で本格的な
利用を考えている方にも適しています。

単にGCPの使い方を説明する手順書にとどまらず、GCPを利用する上で
理解しておきたいインフラの基礎技術などを解説することで、技術動向の
変化が激しいクラウドの解説書でありながらも陳腐化を最小化するよう
工夫しています。

また、GCPの強みであるクラウドネイティブなアーキテクチャによる
アプリケーション実行環境の構築をサンプルとして挙げているのも
大きな特徴です。本書の強みは、具体的なサンプルを使って丁寧に
説明することで、GCPの良さを体得してもらえるところにあります。

GCPの利用や導入を検討している/初めて使う、あるいは、AWSなど
他のクラウドを使ったことがあるプログラマ/開発者の方におすすめの
一冊です。

こちらは、コンテナ関連の本というよりはGCPに関する解説書です。

しかし、4章でしっかり Google Kubernetes Engineにサンプル付きで動かす章があり、「GKEで最速でコンテナ運用!」したい方にはおすすめの書籍です。

入門Kubenetes

本書は、Kubernetesコンテナオーケストレータの核となるコンセプトから使い方までを解説するとともに、アプリケーションの開発やメンテナンスを改善するためにKubernetesとそのAPIがどのように役立つのかを説明します。
はじめにKubernetesの概要と、Dockerなどのコンテナ技術を利用したアプリケーション開発の利点と使用方法について述べ、次にKubernetes自体をデプロイする方法を詳述します。
また、Pod、LabelとAnnotation、Service、ReplicaSetなど、Kubernetesでサービスをデプロイする際に知っておくべき基本要素をまとめ、DaemonSet、Job、ConfigMapとSecretといったKubernetesにおける特別なオブジェクトについても学習します。
そして、アプリケーションのライフサイクルに関係するDeploymentや、Kubernetesとストレージの統合について学び、実際に使われているアプリケーションをKubernetes上でデプロイする方法を紹介します。
Kubernetesの開発者たちが解説する本書は、クラウドネイティブなアプリケーションを開発したいエンジニア必携の一冊です。

みんな大好きオライリー。Kubernetesの各種機能についてガッツリ解説があります。実はどちらかというと辞書的な使い方が向いているのかあ、と思っています。

頭から読んでいくとしんどいですww

コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤

Dockerだけでは終わらない?!
コンテナ技術を実践的に使うための解説書!

コンテナは主としてLinuxを分割し、複数のOSとして利用するもので、1つのコンピュータを分割して利用する技術の新潮流です。代表的コンテナ技術として「Docker」が注目されていますが、Docker単体で大規模なシステムを作ることは難しく、エンジニアリングそしてクラウドの世界ではさまざまなOSSプロダクトや技術が登場し注目されています。

【本書の特長】
・システム技術の新潮流「コンテナ」のコンセプトと活用について入門
・Dockerの基本的な概念からサービス化の手法を解説
・注目の技術Kubernetesのコンセプトや活用方法も紹介
・コンテナを使ったクラウドサービスGKE(Google Kubernetes Engine)やRancherなどのOSSを解説
・IBM Cloud、レッドハットのOpenShiftなどの企業プロダクトの動向も紹介

本書ではコンテナを現場で使うためのさまざまなノウハウを集めています。とくにコンテナの統合的操作/管理(オーケストレーション)はKubernetesを中心に大きく進歩しており、最新のサービス/OSS/製品などの活用法を具体的に紹介していきます。
クラウド時代のノウハウで、インフラ技術の最新トレンドを紹介します。

こちらは、「コンテナ・オーケストレーション」という大きなテーマに焦点が当たっています。なので、Docker+Kubernetes(GKE)という「デファクト」な構成を動かしてみるだけでなく。IBM Cloud Containerで動かす例や、エンタープライズレベルのコンテナオーケストレーションを目指した「Rancher」にも触れられています。

「GKE動かせるようになりたい」なら4章と5章を読むだけで十分ですが、より興味が向いたときに他の章を気合い入れて読んでみると良いのではないでしょうか。

私が今新しい知識をキャッチアップするときに使う勉強法

今まで私はオンプレ+IaaS中心の現場でアプリケーションエンジニアをやっていたので、Dockerなどの知識は新しくインプットしなければならない状況でした。

そこで、私が今新しい知識をキャッチアップするときに行う勉強法について共有します。

1. 技術書を流し読みする(×2週)
2. 技術書のサンプルコードを写経する(今回の例だと、GKEのサンプルプロジェクトを本のとおりに作ってみる)
3.自分のプロジェクトで使えないか検証する

私はこのような勉強法を取ることが多く、成果も安定しているように感じます。

勉強法に悩んでいた方はぜひ参考にしてみてはいかがでしょうか?