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. SREの視点
    2600以上の塾教室に通う生徒が
    学びに集中できる環境を届ける
    高野誠大
    2021.12.22

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. ありがとうございました

    View Slide