こんにちは、SREグループの水口です。
毎年恒例になっていた「スタディプラスを支えるインフラ技術」は2021年版の更新から3年経過してしまいました。この期間で、社内インフラは大きく進化し、特にコンテナ化への移行や運用効率の向上、セキュリティ強化など、多くの改善を実現しました。この記事では、現在のスタディプラスのインフラ技術と2025年までに何をしていたか書きました。良ければご一読ください。
昨年までの記事はこちらです。
tech.studyplus.co.jp tech.studyplus.co.jp tech.studyplus.co.jp
はじめに
スタディプラスには以下の2つのサービスがあります。
- 学習管理SNS「Studyplus」*1
- 教育機関向け学習管理サービス「Studyplus for School」
2023年に「Studyplus for School」のAmazon EKSへの移行が完了しており、弊社のサービスの大半がEKSでホストしているものになりました。以下、弊社の標準的なEKS環境を基準に記載します。
技術スタックの全体像
スタディプラスは、AWSをメインのインフラとして使用し、データ分析基盤としてGoogle Cloudを活用しています。以下、利用しているサービスの一覧を記載します。一部略称となっておりますのでご了承ください。
AWS
コンテナ・オーケストレーション
- EKS
- ECS
- ECR
コンピューティング
- Lambda
- EC2(ALB、Auto Scaling等含む)
データベース
- RDS for MySQL
- Aurora MySQL
- ElastiCache (Valkey / Redis)
- CloudSearch
ストレージ
- S3
ネットワーク
- VPC
- Route53
- API Gateway
- WAF V2
- CloudFront
メッセージング・キューイング
- SQS
- SES
データ分析
- Glue
- Athena
AI/ML
- Bedrock
セキュリティ・認証
- IAM
- KMS
- ACM
- SSO
- GuardDuty
- Config
- Security Hub
- Systems Manager (Parameter Store等含む)
運用管理
- CloudWatch
- Incident Manager
- Cost Explorer
- CloudFormation (AWS CDKで利用)
Google Cloud
データ分析
- BigQuery
- datastream
- dataform
コンピューティング
- Cloud Run
メッセージング
- Cloud Pub/Sub
セキュリティ・認証
- Cloud IAM
- Cloud KMS
その他技術スタック
- インフラのコード化: Terraform, AWS CDK
- 監視基盤: Datadog
- CI/CD: CircleCI、GitHub Actions
環境構成
開発から本番まで、以下の3つの環境を用意しています。各環境は完全に分離されたAmazon EKSクラスタで構成され、マルチテナント方式を採用しています。
開発環境: 開発者が日々の開発作業を行う環境
ステージング環境: 本番DBに接続しており、リリース前の最終チェックを行うQA環境
本番環境: 実際のユーザーが利用する環境
主要な改善点
2022-2024年に行った多くの改善から、一部抜粋してご紹介します。
コンテナへの移行
- 社内のRailsアプリケーションの大半をAmazon EKSへの移行完了
- EKSクラスタにKarpenter導入
- 一部アプリケーションのAmazon ECSへの移行
運用効率の向上
- Auroraリーダーのオートスケーリング実装
- KEDAを用いたSidekiqワーカーのオートスケーリング導入
- SLI/SLOの導入と監視
- アラートの最適化
- PagerDutyからIncident Managerへの移行
- FluentdからFluent Bitへの移行
セキュリティ強化
- コンテナセキュリティ
- trivyによる定期スキャンの自動化
- シークレット管理
- SealedSecretの導入
コスト最適化
- AWSコストの最適化
- スポットインスタンスの活用によるコスト最適化
- リソース使用量の見直し
- 不要なリソースの削除
SRE関連の記事で2022~2024年に公開された記事の紹介
今後の展望
2022-2024年は、インフラの近代化とスケーラビリティの向上、円安局面におけるAWSコスト最適化に注力した期間でした。
今後も、ユーザーに価値を提供し続けられるよう、Studyplus関連サービスのインフラの改善を継続していきます。特に以下のような課題に取り組んでいきます。
- コンテナ化のさらなる推進
- マルチクラウド環境での運用効率の向上
- セキュリティとコスト最適化の両立
*1:前回まで記載があった参考書読み放題アプリ「ポルト」は、2023年3月をもってサービス終了しました。後継サービスとして、2022年1月より「Studyplus」アプリ内にて「Studyplusブック」のサービス提供を開始しております。