システムは動かし始めた瞬間から老朽化していく
放っておくと壊れるし、よくわからない状態になる
システムを ”利用可能” かつ “役に立つ” 状態にしておくには、多くの設備や機材と同じく、 プロフェッショナルによる継続的なメンテナンスが必要
「システムを ”利用可能”かつ“役に立つ” 状態にし続けること」に名前をつけたい
Site Production Engineering と呼ぶことにしよう!
Hashtag: #prodeng
Site Production Engineeringに関連するさまざまな観点の例
Monitoring
Observability
On-call Management
Data Analysis
Customer Success
Availability
Reliability
Site Reliability Engineering
Performance Monitoring
Performance Analysis
Performance Improvement
Vulnerability Management
Supply Chain Security
Pentesting
Abuse Response
Cost Monitoring
Cost Optimization
Vendor Management
Price Negotiation
Carbon Footprint Monitoring
Carbon Footprint Optimization
Developer eXperience
Developer Productivity
DevOps
DevSecOps
BizDevOps
QAE Productivity
User Support Productivity
Markeing Productivity
Data Analysis Democratization
Technology Upgrade
OS Version Management
Container Runtime Version Management
Middleware Version Management
Program Runtime Version Management
Application Library Version Management
誰かがすべきこと
もし誰もやらないなら Site Production Engineer がしたいこと
:
システムの定点観測
ユーザークレーム前のパフォーマンスチューニング
アラート対応でない範囲のモニタリング改善
監査で指摘されない範囲のセキュリティ向上
コード内のTODOやFIXMEをやっつける
利用しているライブラリのメジャーバージョンアップ
HTTPSで利用可能なアルゴリズムの更新
CI/CD高速化
flakyなテストの改善
課題解決に適した新技術の検証・導入(例:クラウドサービス、BaaS)
課題解決に適した新技法の検証・導入(例:CI/CD、GitOps)
https://shopify.engineering/why-shopify-moved-to-the-production-engineering-model
We adapted ideas to suit our scale with three key goals in reorganizing the teams:
- Focus on automation over manual toil
- Reducing the number of disconnected teams with operational responsibility; and,
- Producing ready to use tools and infrastructure for all Shopify developers
The resulting model was a new organization called Production Engineering. This organization brought together the various teams that previously split operations responsibility, along with a roughly equal number of developers from other development teams.
https://engineering.fb.com/category/production-engineering/
Production Engineering was created at Facebook to work with engineering teams and partners to champion the Reliability, Scalability, Performance, and Security posture of production services. PEs are hybrid software and systems engineers; they are the glue holding things together, whether that’s infrastructure and software or teams and processes.
The true power of Production Engineering comes from developing strong relationships with partner engineering teams and valuing collaboration and knowledge sharing to build technical expertise and community. PE’s write production code and solve hard problems in systems serving billions of people across Facebook, services like Instagram, WhatsApp, and Oculus, and in diverse infrastructure areas like machine learning/inference, storage, and networking.
認識を共有したい、この世界の真理
- システムは動かし始めた瞬間から老朽化していく。 放っておくと壊れるし、よくわからない状態になる
- システムは動かし始めがスタートライン
- システムを ”利用可能” かつ “役に立つ” 状態にしておくためには、多くの設備や機材と同様に、プロフェッショナルによる継続的なメンテナンスが必要
システムを”利用可能”かつ“役に立つ”状態にし続ける
→ SREでもいいんだけど、コンテキストによってはSite Production Engineering と呼ぶとスムーズ!SREと何が違うの?
→ ユーザ体験のために技術領域の壁・運営組織の壁を越えていくという意味で同じ
https://blog.cybozu.io/entry/2022/08/26/100000
開発チームが改善活動を進めづらかった
サイボウズであった生産性向上を妨げる障壁
- 開発に必要なサービスの導入ハードルが高い
- 改善に必要なコストが高い
- 最新技術をキャッチアップする時間が確保できない
組織横断で開発基盤を整備する・改善活動をするチームの必要性
→生産性向上チーム爆誕!