Cookpad Tech Kitchen #20 クックパッドのマイクロサービスプラットフォーム現状
こちらのイベントに参加してきました。
場所は恵比寿ガーデンプレイス。
11月だというのに、クリスマスツリーが!
小野大器「サービスメッシュの構築と運用」
サービスメッシュって概念も初めて聞いたのですが、
Istio,envoy,Prometheus,Grafanaなど初めて聞くツールがたくさん出てきました。
スライドが英語で書かれているし、ほぼほぼ何言ってるか理解できず、
単語だけ拾って後でググろうと思って聞いてました。
クックパッドブログに今回の内容と同じようなものがありました。
Service Mesh and Cookpad - クックパッド開発者ブログ
岩間 雄太 「gRPC in Cookpad」
マイクロサービスではRESTよりRPC
Protocol Buffers サービスのインターフェース定義 IDLで記述
RubyでgRPCだとgrpc gem
→CPUを使いきれない、Graceful Shutdownがない
→自作でgriffin
今後はカナリアリリースとかできるようにしたい
関係ないけど、以下の記事も参考になるかと。
REST APIの設計で消耗している感じたときのgRPC入門 - Qiita
鈴木 康平「Amazon ECS の安定運用のために」
hako(自作ツール)でデプロイ
オンデマンドとスポットは1:4くらい
スポットインスタンスの方が安い
Fargateは起動が遅い→起動したままのWebならいいけど、バッチジョブだとつらい
自前のオートスケール
コンテナのログはfluentd→S3→Athena AWS Glueで目次更新
CloudWatch Logsだとログが膨大だとリアルタイムで入りきらない、S3に比べて高価
モニタリングはcAdvisorでメトリクス取得
Prometheus→Grafana
QA
マイクロサービス化するタイミングは?
組織が大きくなってきたら、コミュニケーションコストが高くなってきたら。
2000人とかなら有効。
あるいは200人とかでも将来2000人目指すならやってもいい。
マイクロサービス化するにはコストがかかるので、コミュニケーションコストとの兼ね合いで判断。
懇親会
さすがクックパッドさん、おいしい料理でした。
感想
内容がハイレベル過ぎてなかなかついていけなかったですが、良い刺激を受けました。
私もシアトルで登壇できるエンジニアになりたいものです。。