ROMANCE DAWN for the new world

Microsoft Azure を中心とした技術情報を書いています。

書籍「しくみがわかる Kubernetes」の感想

コンテナオーケストレーションである Kubernetes の基本的な機能と内部動作に加え、Azure Kubernetes Service の実装例を解説していると知って、早速「しくみがわかる Kubernetes」を読んでみました。

しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識

しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識

目次

第1部 導入編
第1章 コンテナーとKubernetes
第2章 Kubernetesの環境構築
第3章 Kubernetesを動してみよう

第2部 基本編
第4章 Kubernetesの要点
第5章 コンテナーアプリケーションの実行
第6章 アプリケーションのデプロイ

第3部 実践編
第7章 アーキテクチャと設計原則
第8章 可用性(Availability)
第9章 拡張性(Scalability)
第10章 保守性(Manageability)
第11章 リソース分離(Security)
第12章 可観測性(Observability)

どんな書籍なのか

この書籍の対象読者は、以下のように記載があります。

  • Kubernetes をはじめて使う業務アプリケーション開発者
  • Docker の基礎知識がある方

これに加えて、「これから Kubernetes のプロダクション導入を検討している方」にも、読んでほしい書籍だと感じました。

第1部の導入編と第2部の基本編は、Kubernetes の初心者向けの概要解説と実際にコマンドを実行して動かせる内容になっており、これから Kubernetes を始めたい方には分かりやすいです。
よくあるハンズオン的な内容だけではなく、なぜこの機能が必要なのか、なぜこのように動作するのか、Kubernetes の設計コンセプトから内部のしくみまでを丁寧に解説している部分が良かったです。
サンプルコードは、GitHub でも公開されています。
github.com

第3部の実践編は、5つの視点(可用性、拡張性、保守性、リソースの分離、可観測性)から、インフラアーキテクチャに踏み込んで、Kubernetes の構築や運用に必要な知識を学ぶことができます。
Kubernetes を使い始めていて、これからプロダクションへの導入を検討している方には、ぜひ読んで欲しい部分です。
自分が構築したいアプリケーションの要件に合わせた Kubernetes を構築するための設計に必要な考え方ですし、何らかのトラブルや障害が発生した際の解決に至るまでの道筋を立てることができます。

まとめ

タイトルの通り、これから Kubernetes を学びたい方でもステップを踏みながら、「Kubernetes のしくみ」を学ぶことができる書籍です。
Kubernetes のアップデートによって書籍の内容が古くなることはありますが、システムに導入する際に検討すべき可用性や拡張性や保守性といった観点は変わりません。変わるのはソリューションであり、オープンソースとして活発に更新されているため、より良い機能が追加されることを期待できます。
「Kubernetes を勉強したいけど、お勧めの書籍は?」と聞かれたら、この書籍を勧めたいと思います。

2018 年振り返り

今年も、しばやんさんが作った 2018 年の人気記事ランキング生成 を使わせてもらい、1年を振り返ってみます。

  1. ASP.NET でクライアントの IP アドレスを取得する
  2. HttpClient を使って同期で通信する
  3. ASP.NET Web API で multipart / form-data を使ってファイルをアップロードする
  4. プロキシ環境下で Web API を呼び出す
  5. ASP.NET MVC の Ajax 通信で例外を処理する
  6. ASP.NET MVC で JSON の一部として PartialView を返す方法
  7. ASP.NET Web API で返す JSON のプロパティを指定する
  8. ASP.NET Web API を経由して Azure Blob Storage にアクセスする
  9. ファイルをアップロードする API の Swagger ドキュメントを書く
  10. Entity Framework Core 1.0 で SQLite を使ってみる

例年通り、ASP.NET 関連の記事が、多く読まれているようです。Azure の記事が少ないというか、そもそも今年に書いた記事が少なめでした。
その代わり、Azure Kubernetes Service が 6月に GA したこともあり、コミュニティやイベントで登壇する機会を多く頂いて、これまでの知見を活かしてアウトプットできたかなとは思います。

あと、先日のAzureもくもく会@新宿では AKS のハンズオンっぽいこともやりました。2時間だと時間が足りず、基礎的な部分だけになってしまいましたが。会場はネクストスケープさんの会議室なのですが、セッション形式とは違った良さがあっていいなと思います。

今年の出来事としては、Microsoft MVP Global Summit 2018 に初めて参加できたことが印象に残っています。たくさんの刺激を受けたし、楽しかった。内容については NDA なので書けないのですが、記事にまとめておけば良かったなと思いました。英語が話せたら何倍も楽しいはずなので勉強しようと思いながらも、ほとんど何もしなかった・・・
でも、次回も参加したい思いがモチベーションにもなり、7月には Microsoft MVP を無事に更新できたので、また来年の3月に参加できそうです。

f:id:TonyTonyKun:20181231162654j:plain

あとは、Microsoft の寺田さんによる AKS ハッカソンに2日間参加できたことも良かったです。いろいろな分野のエキスパートである MVP の方々でさえ苦労される Kubernetes は、やはりハードルが高いと実感しました。多少なりとも知見をもつエンジニアとして、適用エリアは広くないものの今後も重要なテクノロジーとなってくるので、良いところも悪いところも広く伝えていきたいと思いました。ハッカソンには初めて参加しましたが、参加者全員で1つのことに向かって取り組めるし、スキルや経験も合わせて底上げできて楽しかったです。このハッカソン形式は仕事でも使えそうかなとも思いました。

昨年の課題だった仕事とコミュニティ活動とのバランスは、転職して2年が経って慣れてきたこともあり、そこそこ改善できたかなと思います。来年は自分でやりたい提案を書いて、それで仕事ができるようにしていきたいです。
MVP や仕事で多くの方々と出会う機会に恵まれ、新しいことにも挑戦することができ、充実した1年だったと思います。

本年もお世話になりました。よい年をお迎えください。

Microsoft Tech Summit 2018 で登壇しました

先月の話になりますが、Microsoft Tech Summit 2018 のブレイクアウトセッション「.NET 開発者のためのマイクロサービス 入門」に登壇しました。
セッション資料と動画が一般公開されているので、イベントに参加していない方でも視聴できます。

www.youtube.com

共同登壇というスタイルだったので、後半部分の説明とデモを担当しました。
マイクロサービス というと Kubernetes がトレンドで、Java を使って開発するイメージがありますが、.NET Core でも開発できるし、.NET 開発者の皆さんにマイクロサービス開発の世界観を伝えたかったです。
でも、実際にはマイクロサービス に向かないシステムもあるので、何でもかんでもマイクロサービスにするのは止めましょう。

f:id:TonyTonyKun:20181224141952j:plain

コミュニティでの登壇は何度かありましたが、有償イベントでは初めての登壇でした。前日まではいつものお店に飲みに行くぐらい余裕な感じでしたが、当日の朝になって緊張してきて2回もリハしたことはいい思い出です(笑)

ちなみに、他のセッションについても資料や動画が一般公開されているので、冬休みを使ってキャッチアップしてみるのも良いと思います。

Microsoft Tech Summit 2018 | インフラエンジニア、アーキテクト、IT IT 戦略にかかわる皆様の為の技術カンファレンス - Microsoft Events & Seminars