[Day 2: A-1] Observability, Service Meshes and Microservices


yhirano55

登壇者: Cookpad Inc. 小野 大器 氏 @taiki45

Microservices における次なる課題について、Cookpad における observability engineering や service mesh の構築の側面を中心にお話する予定です。前提となる、microsrvices を適用することで得られるプロダクト開発上のメリットや、解決すべき技術的課題についても触れる予定です。

Observability engineerging とは、microservices において次の課題となるシステム全体としての振る舞いの把握に焦点を当てています。今までブラックボックスになりがちであったサービス間の通信周りで起こっていることを記録・分析・アラーティングできるようにすることで、production issue の解決やキャパシティプランニング等、複雑なシステムの運用を適切に行えるようにします。

Service mesh を構築することで、ネットワーク層の関心事をアプリケーションから分離しながら、observability、fault isolation や production testing を実現します。Cookpad で構築している AWS ECS と Hako に特化した service mesh について、利用している Envoy proxy の詳細に触れながらお話します。

その他、AWS X-Ray を使った distributed tracing の実現、gRPC を使った API 通信のためのインフラ構築といった内容になる予定です。

keywords: observability, service mesh, distributed tracing, fault isolation, prodution testing, gRPC, Envoy proxy, AWS ECS

https://techplay.jp/event/655769


  • このセッションに関する質問を募集中です
  • 事前に聞きたいことがあれば、何でも書き込んでください。
  • 質問への回答はお約束できません。あらかじめご了承ください

Like(1)

Questions and feedbacks (5)

taiki45
taiki45 commented over 1 year

10xの規模を見据えた場合、中央で全体をマネジメントしているチーム自体もスケールさせていく必要があるように思います。例えば200個のサービスの依存関係を1つのリポジトリにしてGitHubでレビューするのは難しくなる気がしますが、どうなのでしょうか?

実際にやったことないのでわからないですが、今のところ難しくなるイメージがないのでこの方式にしています。

Envoyの設定変更時のテストは可能なのでしょうか

疎通テストのレベルでテスト可能にはしていて、中央のリポジトリに PR 送った時と master にマージした時に自動実行するようにしています。

すでに多くのサービスが存在する場合、Envoyを少数のサービスから徐々に導入していくことは可能でしょうか?

はい、クックパッドでも徐々に導入しています。

Like(1)

qsona
qsona commented over 1 year

すでに多くのサービスが存在する場合、Envoyを少数のサービスから徐々に導入していくことは可能でしょうか?

Like(0)

chiastolite

Envoyの設定変更時のテストは可能なのでしょうか (アプリケーションの挙動とかは気にしないでも可能?)

Like(0)

qsona
qsona commented over 1 year

Service meshはcookpad製ライブラリのGarageと一部役割がかぶるように思うのですが、(それが正しければ・・)今後どう役割の移行を進めていくかを聞きたいです。

Like(0)

qsona
qsona commented over 1 year

10xの規模を見据えた場合、中央で全体をマネジメントしているチーム自体もスケールさせていく必要があるように思います。例えば200個のサービスの依存関係を1つのリポジトリにしてGitHubでレビューするのは難しくなる気がしますが、どうなのでしょうか?

(追記ですが、20-30個の段階で全体の依存関係が俯瞰できない問題はかなり自分にとっても身近なので、中央管理できるのは良いなと思いました。)

Like(0)

Create Comment

Please sign in to comment.

Sign in with GitHub
This software is available as open source under the terms of the MIT License.
Copyright © 2018 Yoshiyuki Hirano