Microsoft Ignite The Tour Tokyoに行ってきました
Microsoft Ignite Tour The Tokyoに行ってきました! 人が多く、講演の待機列でじっとしていた時間が長かったので、 会場を回りきれなかったのがちょっと残念。
受講していて面白かったものを2つ紹介します。
Azure Kubernetes Service を活用したマイクロサービス開発
マイクロサービス開発に関して、Kubernetesはあくまでも手段の一つ
- 頻繁にリリースがあるアプリか?/どんどん機能追加があるようなものか?
- だったらKubernetesのほうがいい
- 規模が小さければサーバレス等ほかの選択肢もある
AKSの強み
- マネージドなKubernetesが提供できる
- master nodeが見えない
- 障害時の対応: アンチフラジャイル(つまり、止まったものを直すんじゃなくて、あたらしいものをたてればいいじゃん!の考え)で運用をやるとキツい
- 監視
マイクロサービス開発のベストプラクティス
少なくとも下記は必要だろうとのこと。 - Azure Container Registry - Azure Devops - AKS(環境分)
1. Helmでマイクロサービスの構成を管理する
- Kubernetesのパッケージマネージャ
- Helm Chartsをyamlで管理できる
- 可変部を設定できる
2. 外部向けエンドポイントはNginx ingress controllerを使う
- リバプロ的な役割
- Helm Chartsに書ける!
- AKSでも似たような機能が提供されてるけど、内部が違うのと、非推奨なので使わない
3. アップグレード戦略にはBlue/Greenデプロイを採用する
- labelSelectorのバージョンを変更してアクセスできるpodを変更する
- Kubernetes culusterのアップグレード
- ボタンぽちってやるだけでできるけど怖い!どこまで担保する?
- 新しいバージョンのAKSを立てて、アクセス振り分けるGWを設けると良い
- pvとかpvcを作らず、外部にデータを保存するとこでアンチフラジャイルを実現する
4. PodとNodeのスケーリングを組み合わせて構成する
- Horizontar Pod Scaler
- cluster autoscaler : nodeのリソースがいっぱいでデプロイがpendingになったことを検知して勝手に新しいnodeを立ててくれる!
5. 障害を前提として構成を決める
- Nodeの数は余裕を持たせる
- 可用性 : vmssの可用性セットによって担保
- pod: liveness/readness
6. Azure Monitorでマイクロサービスを監視する
- メトリクスをLog Analyticsに送信
難しいからこそ、シンプルに使う
感想
- 絵を描いての説明があったり、わかりやすかった!
- 講演中に何回か出てきた"アンチフラジャイル"というワードはこの書籍を読むとわかるみたいです(日本語版だと反脆弱性)
- 作者:ナシーム・ニコラス・タレブ
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2017/06/22
- メディア: 単行本
Azure Functions を理解する
Serverless概要
- サーバがないわけではない
- サーバを意識しなくて良い
Azure Serverless Platform Component
- Power Automate
- Logic apps → コードをあんまり書かないやつ
- iftttみたいなイメージ。
- ワークフローを自作するというかそんな感じ
- Functions
Azure Functionとは
- コード+イベントで作成できる。
Logic AppsからAzure Functionを選択できるため、色々な組み合わせができる!
- VS Codeに拡張機能があり、Azure Functionのデバッグがローカルホストで実行可能になった。
- ガイドもあった、嬉しい。
資料
資料はここにあります。
感想
- デモが多くて面白かったのに、夢中すぎてメモをとるのを忘れました。。。
- FaaS楽しそう!
- 個人的に開発のハードルが低そうなのでいじり倒したいなと思いました。
まとめ
- 初参加のイベントだったんですけどめちゃくちゃ楽しかったです!
- 待機列だけは本当にしんどかったので次行くときは待機列用の暇つぶしを考えようと思いました。
余談
- 帰りにみた東京タワーが綺麗でした。