# SoundCloud
音声共有サービス企業。SREcon16 Europe の [[Björn Rabenstein]] 発表では、トラフィックと機能増加に伴い、監視とページ負荷が増大した事例対象として登場する。
スライドでは、[[SoundCloud]] は O(100) エンジニア規模で約 5% が Production Engineering とされ、「You build it, you run it」「True DevOps」「NoOps」の文脈で紹介される。Google の O(10k) エンジニア・約 5% SRE・SRE by the book との対比により、小規模組織が Google SRE Book の原則をどう自組織に翻訳するかが背景になっている。
## 沿革(『SREの探求』6章)
当初はモノリシックな Ruby on Rails コードベースだったが、2012 年頃からマイクロサービスアーキテクチャへ移行を開始した。同時期に元 [[Google]] SRE のエンジニア 2 名([[Björn Rabenstein]] を含む)を採用し「定石どおりの SRE」を試みたが、エンジニア総数(約 100 名)に対し SRE チームの最小規模が非現実的な比率を占めるため失敗した。開発チームへの SRE 派遣も人数と権限の制約で機能しなかった。転機は「自分が構築し自分で実行(you build it, you run it)」への回帰で、コンテナベースのデプロイプラットフォーム(愛称 Bazooka、後に Kubernetes へ移行)の構築と各チームによるページャー保有への段階的移行を経て、SysOps チームとプラットフォームチームが合流したプロダクションエンジニアリング(ProdEng)チームが編成された。ProdEng はリリースを止める公式権限を持たないコンサルテーション型組織として、Prometheus によるモニタリング・意味のあるアラート設計・統合オンコールローテーション・全社ポストモーテムミーティングを支援している。技術スタックは JVM/Scala/Finagle を優先しつつ JSON over HTTP を共通語とし、データベース/キャッシュ層に Percona Server for MySQL・Cassandra・Memcached、イベントバスに Apache Kafka(RabbitMQ の後継)を採用している。(Source: [[@2021__OReillyJapan__SREの探求 - Chapter 6 専任SREチームなしでSREの原則を適用する方法]])
## 関連
- ソース: [[@2016__SREcon16 Europe__Alerting for Distributed Systems - A Tale of Symptoms and Causes, Signals and Noise]] / [[@2021__OReillyJapan__SREの探求 - Chapter 6 専任SREチームなしでSREの原則を適用する方法]]
- 人物: [[Björn Rabenstein]] / [[Matthias Rampke]]
- プロダクト: [[Prometheus]] / [[Apache Kafka]]