Slide 1

Slide 1 text

適材適所 古屋 啓介 2024年07月13日 JAWS-UG Okayama 懇親会LT

Slide 2

Slide 2 text

自己紹介 2 ● 古屋 啓介 ○ 株式会社kubell SRE部 ○ JAWS-UG SRE支部運営 ○ Community Builder(2023〜) ○ ドラム叩きます

Slide 3

Slide 3 text

2024年7月1日よりChatwork株式会社は、株式会社kubell(読み:クベル)に社名変更しました。 株式会社kubellは、誰もが使いやすく、社外のユーザーとも簡単につながることができる 日本最大級のビジネスチャット「Chatwork」を運営しています。 また、チャット経由で会計、労務、総務など様々なバックオフィス業務をアウトソースできる 「Chatwork アシスタント」などのBPaaSサービスを幅広く展開。 ビジネスチャットの会社から、BPaaSで「働く」を変えるプラットフォームを提供する会社へ事業領域を拡張します。

Slide 4

Slide 4 text

Chatworkとは 4 * Nielsen NetView 及びNielsen Mobile NetView Customized Report 2023年5月度調べ月次利用者(MAU:Monthly Active User)調査。  調査対象はChatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む44サービスをChatwork株式会社(現 株式会社kubell)にて選定。 効率的に情報共有できる グループチャット 仕事の見える化ができる タスク管理 見落としがなくなる ファイル管理 いつでも会議ができる ビデオ/音声通話

Slide 5

Slide 5 text

Chatworkの基本機能・メッセージ検索 5

Slide 6

Slide 6 text

みんなだいすきアーキテクチャ図 6

Slide 7

Slide 7 text

みんなだいすきアーキテクチャ図 7

Slide 8

Slide 8 text

i3インスタンスとは 8 ● 概要 ○ 2017年末、Amazon Elasticsearch Service(当時)で利用可能に ○ ローカルSSDとNVMe接続しておりディスクIOつよつよ ○ EBSなしで固定のインスタンスストアが割り当てられる https://aws.amazon.com/jp/opensearch-service/pricing/

Slide 9

Slide 9 text

古屋は思った 9 CPU・メモリが必要だから2xlargeにしてるけど SSDモッタイナイナー(1.9TBもいらない) 7年前のものだし Gravitonだともっとコスパいい? EBSもgp3あるし、 いけるんちゃう?

Slide 10

Slide 10 text

古屋は思った 10 CPU・メモリが必要だから2xlargeにしてるけど SSDモッタイナイナー(1.9TBもいらない) EBSもgp3あるし、 いけるんちゃう? Graviton + EBSに変えてコスパあがったらうれしいな 7年前のものだし Gravitonだともっとコスパいい?

Slide 11

Slide 11 text

やってみた 11 ● 新規のクラスタ(r6g版)をスナップショットから復元

Slide 12

Slide 12 text

やってみた 12 ● この時点で現行と差分が出るので、kafkaからデータ再投入

Slide 13

Slide 13 text

やってみた 13 ● この時点で現行と差分が出るので、kafkaからデータ再投入 みんなだいすき冪等性!!!

Slide 14

Slide 14 text

やってみた 14 ● これで新旧同じになった、はず

Slide 15

Slide 15 text

やってみた 15 ● 検索リクエストを徐々に新クラスタにうつしていく

Slide 16

Slide 16 text

やってみた 16 ● 検索リクエストを徐々に新クラスタにうつしていく みんなだいすきカナリアリリース!!!

Slide 17

Slide 17 text

ちょっとずつ... 17 5%...いける

Slide 18

Slide 18 text

ちょっとずつ... 18 5%...いける 10%...OK

Slide 19

Slide 19 text

ちょっとずつ... 19 5%...いける 10%...OK 30%...

Slide 20

Slide 20 text

エラー率上昇!!!

Slide 21

Slide 21 text

あかんあかんあかん戻す!!!

Slide 22

Slide 22 text

振り返り 22 ● 何がだめだったの? ○ CloudWatchを見るとThroughputThrottleが1に... ■ 完全にディスクで詰まってますやん... ● というか現行のIOパフォーマンスわからんかったの? ○ 内蔵SSDだからメトリクスがない... ● アーキテクチャレビューしてもらってた? ○ AWSさんに相談はしていて、エイヤしかないか、という結論

Slide 23

Slide 23 text

そもそも 23 ● OpenSearchのしくみ ○ 検索結果をメモリでキャッシュ、なければディスクアクセス ● 「メッセージ検索」の特性上キャッシュがききにくい ○ 同じ内容で検索されることが少ないため ○ すなわちほとんどディスクにアクセスがいく ○ すなわちディスクIOの性能勝負になる

Slide 24

Slide 24 text

ということで 24 ● i3さん、7年前だからとかいってごめんなさい

Slide 25

Slide 25 text

宣伝:Graviton化でちゃんと成功した事例 25 ● EKSのEC2をGravitonにしたらめちゃくちゃよくなりました

Slide 26

Slide 26 text

教訓 26 ● 用途にあったインスタンスタイプ選び、ダイジ ○ 「用途」をちゃんと見極めましょう ● 色々試しやすい仕組みづくりも、ダイジ ○ 冪等性、カナリアリリースによって手間なく大きな怪我なく検証できた

Slide 27

Slide 27 text

働くをもっと楽しく、創造的に