デブサミ2020【14-B-6】サービスメッシュは本当に必要なのか、何を解決するのか #devsumiB #devsumi
自分のセッションでも引用した「分散コンピューティングの落とし穴」の話だ。#devsumi #devsumiB ja.wikipedia.org/wiki/%E5%88%86…
2020-02-14 15:40:03時系列でログ出力して追えたものが、マイクロサービスにすることでログ出力を追うのが難しくなる #devsumi #devsumiB
2020-02-14 15:40:12モノリスなアプリでもAWSでいろいろなサービスを組み合わせている時点で分散システム。 一般的にマイクロサービスはその中のアプリをさらに分割してくイメージだけど、すでにマイクロサービスやっているようなものなのか。 #devsumi #devsumiB
2020-02-14 15:41:07・サービス間通信の信頼性 ・サービス間通信の可観測性 あ、、Summitのお話がフラッシュバックしてきた。 復習だな。 #devsumi #devsumiB
2020-02-14 15:43:59サービスディスカバリ リトライ サーキットブレーカー タイムアウト 改めてうなずくし、もうあんま業務に関係ない。 #devsumiB
2020-02-14 15:44:21アプリケーションのデプロイ先は一定じゃない。 →サービスディスカバリが必要。 一時的な呼び出しの失敗。 →リトライが必要。 失敗が継続 →リトライをやめさせるサーキットブレーカーが必要。 呼び出し先のパフォーマンス悪化。 →タイムアウトが必要。 #devsumi #devsumiB
2020-02-14 15:44:27自分たちのSLOを守るためにタイムアウト処理が必要となる そんなパターンもあるんですね… #devsumi #devsumiB
2020-02-14 15:44:48異常を想定してやり直す機構も、それを止めさせる機構も、それぞれの状態を可視化する機構も大事。 全部人手でやろうとすると死ぬ。 さらに、情報のフォーマットやコンテキストがバラバラだと可視化されてても扱い辛い。 #devsumi #devsumiB
2020-02-14 15:48:25フォーマットの統一は重要ですね ただ実装スキルに依存するためチーム内でやると筋肉実装とかになりそうなので怖い #devsumi #devsumiB
2020-02-14 15:48:57実装者がバラバラだと、フォーマットが変わったときの対処が難しくなる。 →一貫性のある方法が必要。 #devsumi #devsumiB
2020-02-14 15:49:52ログ以外の方法でObservilityを確保する必要あり。様々なチームがあり、言語があり、開発レベル感の違いがある。また、出すべき項目は日々変わっていく。よって共通化は非現実的 #devsumiB
2020-02-14 15:49:58共通ライブラリなんで作っちゃうと、各チームの裁量で開発ができるマイクロサービスの良さがなくなりそう。管理主体の責任も重い #devsumiB
2020-02-14 15:51:35共通ライブラリの悲しみ ・共通ライブラリでパフォーマンス悪化。。。 ・xx言語用のライブラリがない ・移行してくらないチーム etc.. #devsumi #devsumiB
2020-02-14 15:53:00共通ライブラリを適用するスタイルでは、各チームの作業の手間やアプリケーションコードとの親和性、言語環境の不一致など色々な事情で頓挫しがち。 #devsumi #devsumiB
2020-02-14 15:53:07