Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SREの視点 2600以上の塾教室に通う生徒が 学びに集中できる環境を届ける/atama plus tech live 20211222 takano

atama plus
December 22, 2021

SREの視点 2600以上の塾教室に通う生徒が 学びに集中できる環境を届ける/atama plus tech live 20211222 takano

atama plusのSRE 高野のatama plus Tech Live〜プロダクト系5職種の視点で、開発の裏側を徹底解剖!~における登壇資料です。

atama plusでは、新しい教育を創り、社会を変えていく仲間を募集しています。
ご興味もっていただいた方はぜひご応募ください!

▼募集職種一覧
https://herp.careers/v1/atamaplus

▼その他参考資料
・atama+ culture code
Mission実現に向けて大切にしているカルチャーをまとめています
https://www.atama.plus/wp-content/uploads/2020/07/atama%EF%BC%8B-culture-code.pdf

・3分でわかるatama plusのエンジニア(プロダクト部門の全体像がわかるスライドです)
https://speakerdeck.com/atamaplus/about-atama-plus-engineer

・3分でわかるatama plus
https://speakerdeck.com/atamaplus/about-atama-plus

atama plus

December 22, 2021
Tweet

More Decks by atama plus

Other Decks in Business

Transcript

  1. 自己紹介 • 2020/05 atama plus入社 • AI教材atama+の運用、信頼性向上に取り組む • 経歴 •

    Webサービスのインフラエンジニア • 顧客管理システムなどのバックエンド開発 • BigQueryを中心としたデータ基盤の構築・運用 2 高野誠大 SREチーム
  2. ⓒ 2021 atama plus Inc. SREチームの紹介 • atama plusのSREは1チームで、メンバーは4人 •

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

    セキュリティの向上 • パフォーマンス改善 • キャパシティプランニング • モニタリング • システムエラーの対応 • データ分析基盤の運用など 5 ⓒ 2021 atama plus Inc. #atamaplus_dev
  4. ⓒ 2021 atama plus Inc. atama+と可用性 • atama+は顧客影響の大きいプロダクトで、 可用性のプライオリティが高い •

    今年のSREチームの目標として「生徒の学習部分において、想定する外的要因のインシデントに 対する平均復旧時間を30分以下にする」と定めた • 「想定する外的要因のインシデント」とは、例えば、 atama+で利用する特定のAWSのコン ポーネントのAZ障害およびリージョン障害 • 「平均復旧時間」とは、問題の発生から復旧までに要した平均時間 • 目標達成に向けた3つの取り組みを紹介します • 縮退運転 / マルチリージョン化 / 避難訓練 6 ⓒ 2021 atama plus Inc. #atamaplus_dev
  5. ⓒ 2021 atama plus Inc. 1. 縮退運転(フォールバック) • 一般に、システムの依存サービスが増えるほど可用性は下がり、反対に 依存サービスを減らす

    ことで可用性は上がる • 生徒の学習に必須でないコンポーネントを障害時に切り離せるようにすること で、生徒の学習に 対する可用性を高めた • 例えば、サーバー側の環境変数でフラグを設定すると、学習に必須ではない API呼び出し がスキップされる 7 可用性向上の取り組み1 切り離し
  6. ⓒ 2021 atama plus Inc. 2. マルチリージョン化 • 一般に、システムの冗長化により可用性が高まる •

    実施済みのマルチAZに加え、生徒の学習部分に限り、現在のリージョンとは 別のリージョンに 待機系を作成した 8 可用性向上の取り組み2 システム構成 概要 atama+での実施状況 マルチAZ リージョン内(AZ間)での冗長化 システム全体で実施済み マルチリージョン 複数リージョン間で冗長化 今回、生徒の学習部分で実施 ⓒ 2021 atama plus Inc. #atamaplus_dev
  7. ⓒ 2021 atama plus Inc. 3. 避難訓練 • 目標時間内に障害から復旧できることを確認する ために実施(計7回)

    • 検証環境で擬似障害を起こし、エラー発生から復 旧までの時間を計測 • 擬似障害の発生方法は、サーバーインスタンスの 停止、ファイアウォールを閉じるなど • 今なら、 AWS Fault Injection Simulatorが 使えるかも • 実施後は振り返りを行い、改善点を話し合った 9 可用性向上の取り組み3
  8. ⓒ 2021 atama plus Inc. 可用性向上のまとめ • 「生徒の学習部分において、想定する外的要因のインシデントに対する平均復旧時間を 30分以 下にする」という目標に対し、避難訓練の平均復旧時間は

    21分だった • 今後の展望 • 縮退運転を可能にし続ける仕組みづくり • システムが成長するにつれ、依存は増えていく • 縮退運転の自動化 • 定期的に避難訓練を実施する体制づくり 10 ⓒ 2021 atama plus Inc. #atamaplus_dev
  9. ⓒ 2021 atama plus Inc. おわりに • SREチームは、生徒が学習に集中できるプロダクト基盤を実現する ために日々取り組んでいます •

    今日の内容に少しでも興味を持っていただいた方は、ぜひカジュアル面談でお話ししましょう! 11 ⓒ 2021 atama plus Inc. #atamaplus_dev