# Lyft
米国のライドシェア企業。2015年初めまでに、MongoDBに支えられた主にモノリシックなPHPアプリケーションと、Pythonで書かれた数十のマイクロサービスを組み合わせて運用していた。マイクロサービスアーキテクチャへの移行を早期に決断したが、ネットワークの信頼性の低さから初期の分解の試みは難航し、想定ワークロードを支えられないと判断してサービスを中止しモノリスへ戻すこともあった。(Source: [[@2021__OReillyJapan__SREの探求 - Chapter 26 サービスメッシュはマイクロサービスの世話人か]] ch.26 §26.4.1)
## SRE を置かない組織設計
Lyft は SRE に相当する役職を置いておらず、全開発者がリライアビリティエンジニアでもあることが想定されている。[[Matt Klein]] はネットワークチームの責任者として、[[Envoy]] の開発と運用を一体で担っている。この DevOps 文化の徹底が、Envoy のようなシステムコンポーネントの開発者に運用も担当させる原動力になったと本人は述べる。(Source: ch.26 §26.4.2)
## Envoy の導入経緯
2015年初めに開発が始まった Envoy は、当初 Lyft の AWS ELB 群を置き換えるエッジプロキシとして導入され、強化されたオブザーバビリティとプロトコルサポートがプロダクト問題のトリアージに効果的であることがすぐに実証された。その後 MongoDB トラフィック向けの BSON パーサーとグローバルなレート制限を追加し、最終的に全アプリケーションのサイドカーとして展開、内部の集中型ロードバランサーを撤去して結果整合性のあるサービスディスカバリと稠密な HTTP/2 メッシュを構築した。成果として開発者の生産性向上・成功率上昇・MTTR短縮がもたらされた。(Source: ch.26 §26.4.1)
## 第8章での言及
『SREの探求』第8章「大企業における SRE の導入」では、著者 [[Sriram Gollapalli]] が Lyft のソフトウェアエンジニアとして [[Matt Klein]] の所属を紹介した上で、SRE の組織的位置付けに関する Klein の指摘("The human scalability of DevOps")を引用している。(Source: [[@2021__OReillyJapan__SREの探求 - Chapter 8 大企業におけるSREの導入]] ch.8 §8.2.4.4)
## 関連
- [[Matt Klein]] — Envoy 開発者、Lyft ネットワークチーム責任者
- [[Envoy]] — Lyft が開発したサービスメッシュ用プロキシ
- [[サービスメッシュ]]
- [[@2021__OReillyJapan__SREの探求 - Chapter 26 サービスメッシュはマイクロサービスの世話人か]]
- [[@2021__OReillyJapan__SREの探求 - Chapter 8 大企業におけるSREの導入]]