forget for get

覚えるために忘れる

Cookpad Tech Kitchen #20 クックパッドのマイクロサービスプラットフォーム現状

Cookpad Tech Kitchen #20 クックパッドのマイクロサービスプラットフォーム現状

cookpad.connpass.com

 こちらのイベントに参加してきました。

場所は恵比寿ガーデンプレイス
11月だというのに、クリスマスツリーが!

f:id:lightwill:20181129213137j:plain

 

小野大器「サービスメッシュの構築と運用」

サービスメッシュって概念も初めて聞いたのですが、
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人目指すならやってもいい。
マイクロサービス化するにはコストがかかるので、コミュニケーションコストとの兼ね合いで判断。

 

懇親会

f:id:lightwill:20181129213321j:plain

さすがクックパッドさん、おいしい料理でした。

 

感想

内容がハイレベル過ぎてなかなかついていけなかったですが、良い刺激を受けました。
私もシアトルで登壇できるエンジニアになりたいものです。。