スタディサプリ Product Team Blog

株式会社リクルートが開発するスタディサプリのプロダクトチームのブログです

SRE

Terraform の CI/CD を CodeBuild に移行した話

こんにちは。 SRE の @suzuki-shunsuke です。 Terraform の CI/CD を CircleCI から AWS CodeBuild に移行した話を紹介します。 背景 弊社では AWS のリソースを Terraform で管理しており、元々 CircleCI で CI/CD を実行していました。 リポジトリは mono…

巨大な .circleci/config.yml を分割した話

こんにちは。 SRE の @suzuki-shunsuke です。 6000 行を超える巨大な .circleci/config.yml を分割してメンテナンス性を改善した話を紹介します。 背景 我々 SRE は日々 Developer Productivity の改善に取り組んでいます。 その取り組みの一環で Developer…

Kubernetes HPA External Metrics を利用した Scheduled-Scaling

こんにちは。SRE の @chaspy です。 Quipper では Kubernetes Horizontal Pod Autoscaler (以下、HPA) を利用して Pod のオートスケーリングを実現しています。 HPA は非常に便利で、ほとんどのトラフィック増減に対応できます。しかし、オートスケーリング…

DatadogによるMongoDBコレクションごとのメモリ利用量の可視化

スタディサプリにおけるMongoDB運用のポイントを解説

DBを分割する前にできること(MongoDBチューニング)

スタディサプリにおけるMongoDB運用のポイントを解説

ステージング環境の夜間停止によるコスト削減

こんにちは。SRE の @chaspy です。 今回、ステージング環境のリソースを使用していない時間に削減することで、コストを削減したのでその事例を紹介します。 前提: Pull Request namespace Quipper では本番環境、開発環境ともに Amazon EKS*1 を使用してい…

ALB Weighted Target Groups による EKS Cluster の Canary Switching

こんにちは。SRE の @chaspy です。 Quipper では Application Platform として Amazon EKS(以降、EKS)を利用しています。*1これまで Cluster を Upgrade する際には Blue/Green 方式で行っていましたが、今回 Canary 方式で Cluster の切り替えを行いまし…

Self-Hosted Cluster から EKS への移行と Platform の Production Readiness

こんにちは。SRE の @chaspy です。 Quipper では AWS 上で Kubernetes Cluster を運用してサービスを提供しています。 これまで kube-aws を用いて Kubernetes Cluster を Self Host してきましたが、このたび Managed Services である Amazon EKS に移行し…

Kubernetes Horizontal Pod Autoscaler による信頼性向上

こんにちは。SRE の @chaspy です。 みなさん Kubernetes Horizontal Pod Autoscaler は使っていますか?Quipper では先月導入したところ、便利すぎて仕事を奪われてしまいました。 本記事では、Horizontal Pod Autoscaler(以下 HPA)の基本原理を簡単に説…

RDS のセルフサービス化のための自動化の工夫

こんにちは。SRE の @chaspy です。 現在、新サービスを作成する際、そのデータベースには AWS Aurora(Postgres) を使用しています。 その作成には Terraform を用いており、いくつか適当な引数を入れると Terraform のコードが自動生成される仕組みを用意し…

CI の修正をリリース前に本番と同じ条件下で検証出来る仕組みを構築した話

SRE の @suzuki-shunsuke です。 CI のコードの修正を安全にリリースするために、リリース前に本番と同じ条件下で動かして検証できる仕組みを構築した話について書きます。 背景 最初に背景を説明します。 Quipper では様々なプロダクトのソースコードがモノ…

みんなでつくる Production Readiness

こんにちは。SRE の @chaspy です。 以前、Production Readiness Checklist に関する記事を書きました。 quipper.hatenablog.com Production Readiness Checklist の運用開始から1年ほどの月日が経ち、27ものサービスが無事 Production へ出ていきました。 …

SRE NEXT 2020 で「SLO Review」というタイトルで登壇しました #srenext

こんにちは。SRE の @chaspy です。 先日行われた SRE NEXT 2020 にて、SLO Review というタイトルで発表してきました。 本記事では、会場に来られた方には内容を追体験してもらえるように、来られなかった方には伝えたかった内容を持ち帰っていただけるよう…

Business Trip for Global Team

はじめに ビーチで"何もしない"を1日半することでリラックスできました Boracay のビーチからこんにちは。SRE の @chaspy です。 今回、Business Trip で Indonesia と Philippines に行ってきたのでその話をします。 なんのために行ったのか Developer との…

障害対応とポストモーテム

こんにちは。SRE の @chaspy です。 ユーザに価値が提供できなくなってしまうシステム障害は起きてほしくはありませんが、絶対に発生しないとは言い切れません。 そんなシステム障害は、そもそも発生頻度が不定、かつ多くないので、どのように対応すべきかを…

負荷試験との向き合い方

こんにちは。SRE の近藤(@chaspy)です。 先日、より高い信頼性でサービスを提供するために、スタディサプリ小中高大のサービスの最後の砦であるデータベース、MongoDB のインスタンスクラスのスケールアップを行いました。また、スケールアップをするにあ…

スタディサプリ/Quipper Product Meetup #3 を開催しました!

2019-7-18(木)に「スタディサプリ/Quipper Product Meetup #3 〜SREチームが取り組むマイクロサービス化に向けたDevOps開発事例〜」を開催しました。 本エントリーでは、当日いらしていただいた方だけでなく、当日いらっしゃることのできなかった方にもご…

英語でのプレゼンをやりきるたった1つのコツ

こんにちは。SREの近藤(@chaspy)です。 2019年6月12日 ~ 14日、シンガポールで開催されたSRECon19 Asia/Pacific で登壇してきました。これは私にとってはじめての国際イベントでのプレゼンでした。 *1 *2 本記事では突然やってきたそんなチャンスをいかに…

Production Readiness Check のはじめかた

こんにちは。SREの近藤(@chaspy)です。 新しいサービス、あるいは Microservices を 本番環境へリリースする際、私たちは何を注意すべきでしょうか。 今回は、Production Readiness CheckList と導入方法について説明します。 Production-Readiness Checkl…

SREの仕事とは?

皆さんは「SRE」って聞いたことあるでしょうか?近年SREという仕事が広まってきていますが、聞いたことがないという方も多くいらっしゃると思います。聞いたことがある方でも、いまいち掴みづらいと感じているかもしれません。そこでSREのメリットについても…

オンボーディングのはじめかた

オンボーディングのはじめかた こんにちは。SREの近藤(@chaspy)です。 今回、SREチームではじめてオンボーディングプロセスを実施しました。本日はその内容について紹介します。 オンボーディングとは Onboardingとは、新しく入社した従業員が組織の中で効…

Kubernetes 上のアプリケーションから Stackdriver Logging に構造化ログを送る

Stackdrider Logging に構造化ログを送り、Logs-Based Monitoring を行う方法について紹介します。

Kubernetes Meetup Tokyo #14 で「Quipper のマイクロサービス化への道のり」というタイトルで登壇しました

SRE チームの @yuya-takeyama です。 先日 Google 東京オフィスで行われた Kubernetes Meetup Tokyo #14 というイベントにおいて、発表の機会をいただきました。発表動画の撮影・配信も行われるホスピタリティの厚さにも驚きましたが、参加人数が多いことも…

Kubernetes導入で実現したい世界とその先にあるMicroservices

はじめに CTO兼SREエンジニアリングマネージャーの中野です。ここしばらくの間、CTO/SREエンジニアリングマネージャーとして注力しているKubernetes導入について紹介したいと思います。 今回は、Kubernetes自体がどういうものなのかということより、それをツ…

Web Developer も知っておきたい Kubernetes における Sidecar Pattern と Ambassador Pattern

この記事では Cloud Native なアーキテクチャにおいて重要な、Sidecar Pattern と Ambassador Pattern について紹介します。

QuipperにおけるTerraformの運用

こんにちは、Engineeringチームの石村(kamatama41)です。Engineeringチームの主な役割はインフラ構築や監視、パフォーマンス改善などのいわゆるDevOpsやSREと言われる領域になります。 Quipperでは現在グローバル向けであるQuipper (School, Video)と日本向…