オンプレミスからクラウドそしてコンテナオーケストレーション技術までトレンドを網羅したおすすめの書籍をめも。
初心者でも基礎から現場への応用まで手を動かしながら分かりやすく基本技術の習得ができるおすすめDocker 技術書をご紹介します。
.
1.Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
いきなりDocker ではなくAWSの入門書ですがお勧めするのには訳があります。本書はクラウドインフラであるAWS(Amazon Web Service)の入門書にして完成保存版として価値があるだけでなくパソコン1台があれば誰でも簡単にサーバー構築ができるクラウドの基本概念をGUIを操作しつつ学ぶことができる1冊です。
.
実際にVPCの構築、サブネットとセキュリティグループの設定、インスタンスの起動からキーペアによるSSH接続、MariaDBサーバーの構築、NATゲートウェイなど構築してWordpressをインストールすることができるような構成となっています。Webサーバーを公開するには別途、ElasticIP でグローバル固定IPの取得とRoute53でDNSを設定する必要がありますがクラウドインフラの基礎が学べる良書です。NATゲートウェイは必要な時以外は設定を削除しないと法外な料金を取られるなど実践に即した知識が満載です。
.
2.仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん
難解なコンテナ技術 Dockerを初心者にもわかりやすく豊富なイラスト図解と基本から分かりやすく説明された入門書にしてKubernetesへのステップアップも試みたDockerの教科書です。Dockerは近年、利用者の環境を問わず同じイメージをどこでも誰でも利用、共有できる利点から急速にクラウドインフラの主役となった技術で、本書はやさしいコマンドから始まってコンテナ操作のコマンド理解が進みます。
.
実際に工程管理ソフトRedmineやブログアプリWordpressをローカルに構築して最終的にdocker-composeによるコンテナオーケストレーションができるような構成となっています。docker pull, run, image, volume, network, commit, push など基本コマンドをオプションの親切な解説込みでなされており初心者にも身につくようになっています。コンテナがうまく起動しないときは不要な volume や image を削除すると良いこと、docker-compose の記述規則などオンプレミス、WSL、クラウドを問わずDocker開発を始めたいがよく分からない、勉強したけど挫折したという人にこそお勧めのDocker入門決定版です。
.
私が手に取り学習したのは第2版でなにぶん情報が古かったのですが、2023/2/21に第3版がでたのでこれから購入する方は改訂版をお勧めします。こちらはDockerの環境構築応用編で現場のプロによる一線技術が惜しげもなく書かれています。初心者には難解で概要を把握するまで時間が掛かりますが中級者へステップアップする環境構築のこつ、コンテナIPが満載です。
.
実際にコンテナのGUI管理ツール Portanier やプライベートレジストリ DPRなどDocker環境構築に役に立つ内容で読み応えがあります。主にオンプレミスでのdocker運用がメインでプロキシ―サーバーの乗り越え方、コンテナ専用OSの利用など企業ユースが想定されています。docker-compose のネットワーキング、コンテナIPの固定、Docker専用OSの扱い方など学べることは多いです。オンプレミスでの概念を知ればクラウド基盤との対応を理解するには押さえておきたい一書です。
.
Dockerの基本からおさらいしクラウドからオンプレミスへのポーティング、オンプレミスからクラウドへのリフトアンドシフトなどをAWS GCPを通した個別事例も豊富に詳しく解説されています。MacでのKubernetes構築など環境依存による難しい面もあり、また初心者には読み進めにくい誤植があり必ず添付URLによるサンプルコードを別途、ダウンロードする必要がありますがおおむね良書といえます。
.
実際にAWS EC2(Elastic Cloud), RDS(Relational Database Service), S3(Simple Storage Service), ElastiCache, ElasticBeanstalk といったサービスを使いクラウドでの開発環境をNodejsアプリの作成を通して学習できます。実際にアプリを公開するにはElasticIP, Route53, 独自ドメイン構築済みElasticBeanstalkインスタンスを構築しなければならずハードルが高いです。アップデートが掛かるとキーロックされて簡単に詰むのであらかじめSystem Managerからコンソール接続できるセッションマネージャーを設定をすると良いかもしれません。
.
まだまだ GCPやKubernetes構築など未学習の部分もありご紹介したい書籍もありますが個人ではこの辺でご容赦頂きたいと思います。Dockerもそうですがホームページを作りたい、アプリで問題解決したいといったモチベーション(動機)が学習を長続きさせるコツなのではと思います。
「継続は力なり」あなたの独学が幸(さち)多からんことを。