Now in REALITY Tech #50 サクサク会結成
どうも、サーバエンジニアのうすぎぬです。今回はREALITYのWebAPIレイテンシの監視・改善のために結成された「サクサク会」についてつらつら書いていきます。Let's サクサク!
サクサク会とは
サクサク会はSRE活動のコンテキストが強いチームで、REALITYのWebAPIのレイテンシを継続的に監視・改善することを目的に作られました。また、中長期的にはサーバのパフォーマンスを改善する取り組みを実施するための指標の定義にもチャレンジします。
ちなみに、サクサク会というのはREALITYを「サクサク」動く軽快なアプリにしていこうという目標だったり、想いだったりが込められた名前になってます。早さは正義です。アプリがサクサク動いて困る人は誰もいません。でも取り組みがうまくいったらもうちょっとかっこいい名前をつけようと思ってます。
現在はREALITYのサーバチームの有志数名が参加し、2022年の8月末から活動しており、できたばかりのひよこチームですが早速成果が出始めています!具体的な成果については後ほど。
担当する領域
サクサク会ではWebAPIのレイテンシ改善を中心に以下5点に取り組みます
継続的なレイテンシ及びサーバ負荷の監視
サーバアプリケーションロジックの最適化
DBパフォーマンスチューニング
Monitoring環境の整備
サーバ費用削減
主に利用するツールは以下の通りで、レイテンシ・サーバ負荷監視基盤の整理から実際のレイテンシ改善・パフォーマンスチューニング(アプリケーションレイヤーの実装)までを一気通貫で担当します。
Grafana Cloud
Google データポータル
Cloud Trace | Google Cloud
Cloud Monitoring | Google Cloud
Cloud Profiler | Google Cloud
Cloud Logging | Google Cloud
BigQuery | Google Cloud
モザイクばっかりなのでお見せしてもしょうがないですがイメージ図です。
目標
サクサク会の結成に伴い、サクサク会の活動の指標となる目標としてWebAPIのレイテンシのSLOを設定しました。
(SRE活動の第一歩です。)
大人の事情で全てを紹介するのは厳しいのですが、具体的には以下のような目標を設定しています。
全てのAPIについてLatencyの95%ileを原則1.0 sec以内に収める
今のところ、この数値を目標にタスクの切り出しなど行っていますが、改善が進めば、APIのユースケースやドメインの特徴を踏まえたSLIの設定をしたり、他の技術ドメインでの改善活動も視野に入れたいところであります。
活動事例・成果
出来たばかりのチームですが、続々と成果が出ています。例えば、
APIのレイテンシ改善
サーバ負荷軽減
アプリ挙動の高速化
などなど。
サクサク会で改善できる箇所は無限に存在します。引き続きAPIのレイテンシ改善を続ける傍ら、分散トレーシング環境の整理やprometheusによるmetrics収集の環境整備など、Monitoring環境の構築も進めていきます。
(おまけで健闘を称えあっている図をぺたり。こんな雰囲気でやってます)
最後に
さて、今回はまだ組織されたばかりのサクサク会の取り組みを紹介しました。サクサク会ではREALITYのエンジニアリンググループが「サービスの安定性やパフォーマンスを考慮したサービス設計・実装」を行えるようになるような、SREの文化醸成ための第一歩としてレイテンシ改善に取り組みます。
この取り組みはREALITYがグローバルに拡大していくためにはエッセンシャルなものです。しかし、WantedlyでのSREの募集要項にもある通り、現状REALITYにはサービスの安定性やパフォーマンスにフォーカスした専門のチームや人材は存在せず(サクサク会はあくまで有志による活動)、専門のSREチームを組織しさらに信頼性の高いサービス構築を実現するためにはさらに多くのエンジニアの協力が必要になります。(2022/09時点)。是非、REALITYのSREに貢献したい!という方がいましたら、ご応募お待ちしております!