Slide 1

Slide 1 text

SREの視点 2600以上の塾教室に通う生徒が 学びに集中できる環境を届ける 高野誠大 2021.12.22

Slide 2

Slide 2 text

自己紹介 • 2020/05 atama plus入社 • AI教材atama+の運用、信頼性向上に取り組む • 経歴 • Webサービスのインフラエンジニア • 顧客管理システムなどのバックエンド開発 • BigQueryを中心としたデータ基盤の構築・運用 2 高野誠大 SREチーム

Slide 3

Slide 3 text

ⓒ 2021 atama plus Inc. 今日の内容 1. SREチームの紹介 2. atama+の可用性向上の取り組み 3 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 4

Slide 4 text

ⓒ 2021 atama plus Inc. SREチームの紹介 • atama plusのSREは1チームで、メンバーは4人 • プロダクトのインフラ構築、運用、信頼性向上に取り組む • AI教材atama+(今日はこっちの話) • オンライン模試 • チームのミッションは、生徒が学習に集中できるプロダクト基盤を実現する こと 4 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 5

Slide 5 text

ⓒ 2021 atama plus Inc. SREチームのお仕事はいろいろ • 可用性の向上 (今日はここの話) • セキュリティの向上 • パフォーマンス改善 • キャパシティプランニング • モニタリング • システムエラーの対応 • データ分析基盤の運用など 5 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 6

Slide 6 text

ⓒ 2021 atama plus Inc. atama+と可用性 • atama+は顧客影響の大きいプロダクトで、 可用性のプライオリティが高い • 今年のSREチームの目標として「生徒の学習部分において、想定する外的要因のインシデントに 対する平均復旧時間を30分以下にする」と定めた • 「想定する外的要因のインシデント」とは、例えば、 atama+で利用する特定のAWSのコン ポーネントのAZ障害およびリージョン障害 • 「平均復旧時間」とは、問題の発生から復旧までに要した平均時間 • 目標達成に向けた3つの取り組みを紹介します • 縮退運転 / マルチリージョン化 / 避難訓練 6 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 7

Slide 7 text

ⓒ 2021 atama plus Inc. 1. 縮退運転(フォールバック) • 一般に、システムの依存サービスが増えるほど可用性は下がり、反対に 依存サービスを減らす ことで可用性は上がる • 生徒の学習に必須でないコンポーネントを障害時に切り離せるようにすること で、生徒の学習に 対する可用性を高めた • 例えば、サーバー側の環境変数でフラグを設定すると、学習に必須ではない API呼び出し がスキップされる 7 可用性向上の取り組み1 切り離し

Slide 8

Slide 8 text

ⓒ 2021 atama plus Inc. 2. マルチリージョン化 • 一般に、システムの冗長化により可用性が高まる • 実施済みのマルチAZに加え、生徒の学習部分に限り、現在のリージョンとは 別のリージョンに 待機系を作成した 8 可用性向上の取り組み2 システム構成 概要 atama+での実施状況 マルチAZ リージョン内(AZ間)での冗長化 システム全体で実施済み マルチリージョン 複数リージョン間で冗長化 今回、生徒の学習部分で実施 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 9

Slide 9 text

ⓒ 2021 atama plus Inc. 3. 避難訓練 • 目標時間内に障害から復旧できることを確認する ために実施(計7回) • 検証環境で擬似障害を起こし、エラー発生から復 旧までの時間を計測 • 擬似障害の発生方法は、サーバーインスタンスの 停止、ファイアウォールを閉じるなど • 今なら、 AWS Fault Injection Simulatorが 使えるかも • 実施後は振り返りを行い、改善点を話し合った 9 可用性向上の取り組み3

Slide 10

Slide 10 text

ⓒ 2021 atama plus Inc. 可用性向上のまとめ • 「生徒の学習部分において、想定する外的要因のインシデントに対する平均復旧時間を 30分以 下にする」という目標に対し、避難訓練の平均復旧時間は 21分だった • 今後の展望 • 縮退運転を可能にし続ける仕組みづくり • システムが成長するにつれ、依存は増えていく • 縮退運転の自動化 • 定期的に避難訓練を実施する体制づくり 10 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 11

Slide 11 text

ⓒ 2021 atama plus Inc. おわりに • SREチームは、生徒が学習に集中できるプロダクト基盤を実現する ために日々取り組んでいます • 今日の内容に少しでも興味を持っていただいた方は、ぜひカジュアル面談でお話ししましょう! 11 ⓒ 2021 atama plus Inc. #atamaplus_dev

Slide 12

Slide 12 text

ありがとうございました