マイクロサービスの勉強

去年の秋ぐらいから細々とマイクロサービスの勉強中です。

最近、自分の中で少しだけ形になりつつあるので、勉強の仕方をまとめようと思います。

Docker

今更ですがコンテナ技術(Docker)がベースになります。

Dockerが曖昧だと全体に影響するので腹を決めて勉強しましょう。

※安くはありませんが以下おすすめです。

セールにならない代わりに?講師のブログTwitterで時々クーポンを配ります。

www.udemy.com

コンテナは本よりも手を動かす方が良いです。

コンテナの便利さ、速さを実感できますし、コンテナとの距離が近くなります。

Kubernetes

Kubernetesは難しいことで有名です。

でも、だからこそ、情報自体はたくさんありますので使える情報は全部使いましょう。

おすすめは以下です。

www.ric.co.jp

book.impress.co.jp

Udemyも見ました。

www.udemy.com

Courseraもおすすめです。たぶん無料期間中に終わります。

※修了したらサブスクを解除しましょう。

jp.coursera.org

Kubernetesのドキュメンタリーです。一通り勉強した後だと胸熱です。

www.youtube.com

www.youtube.com

Istio

Istioは日本語の情報がほぼありません。

以下は一応おすすめですが『GCPの教科書II 【コンテナ開発編】』で十分かも?

www.udemy.com

Terraform

DockerやKubernetesより優先度は下がりますがTerraformも要チェックです

www.udemy.com

アーキテクチャ

KubernetesとかIstioを勉強する過程でイメージは把握できると思いますので、

勉強したことを整理、再確認するという意味で良いと思います。

www.udemy.com

感想

・断片的に勉強するより連休とかで一気に、かつ、継続的に勉強することをおすすめします。

※特にKubernetesは中途半端に勉強すると混乱します。体系的に把握することが大事。

・『Kubernetes完全ガイド』の著者曰く、

クラウドネイティブ以前は、インフラ側からアプリケーション開発・運用ニーズに対応するアプローチがなされてきた。…一方、クラウドネイティブは、「アプリケーションを動かすために最適なインフラをどう作ればいいか」を考えて生み出されてきた。

らしいです。Docker/Kubernetesはまさにアプリケーション側から「アプリケーションを動かすために最適なインフラ」を考えて生み出されてきたので、基盤エンジニア目線で考えないのがコツだと思います。

クラウドネイティブ以前=AWSクラウドネイティブ=Google Cloudで読替可能です。

atmarkit.itmedia.co.jp