チームの開発者を説得して、「あなたはそれを構築し、あなたはそれを実行する」ことを受け入れることができますか?それにより、私はヴェルナー・フォーゲルスからのこの引用を念頭に置いています:
開発者に操作上の責任を与えることにより、顧客と技術の両方の観点から、サービスの品質が大幅に向上しました。従来のモデルでは、開発と運用を分離する壁にソフトウェアを持ち込み、それを捨てて忘れます。Amazonではありません。それを構築し、実行します。これにより、開発者はソフトウェアの日々の運用に触れることができます。また、顧客との日々の接触にもつながります。この顧客フィードバックループは、サービスの品質を向上させるために不可欠です。
私は具体的に次のような開発者のセットを考えています:
- オペレーション関連のタスクについてはほとんど/まったく言及せずに、開発者の役割に雇われました。
- 伝統的にopsチームに「壁を越えてコードを投げる」。
- 従来、9〜5の勤務スケジュールがあり、特に通常の営業時間外は、「ポケットベルの義務」、災害復旧への参加、事後分析などに積極的に敵対しています。(注:これについては非常にまれな停止しか考えていません。このチームのワークロードに営業時間外のカスタマーサポートを追加することは提案していません。)
- 現在、アプリケーションの監視または警告の作成/サポートについては責任を負いません。
新しいクラウドマイクロサービスを急速に開発しているチームがいて、これらのサービスをopsチームに引き渡すのが次第に深い知識を得られないために最適ではないようになっているとしますそれらを効果的に管理および監視するために必要なサービス。「構築して実行する」ことは、タスクが各担当チームメンバーに委任される可能性があるため、このチームにとってはうまく機能します。そのため、このチームは、インフラストラクチャの設計、サービスの監視/アラートツール、および(非常にまれに)停止イベントへの対応に参加し始めました。
実世界の例に裏付けられた方法論に特に興味があります。これが他の職場でどのように正常に実装されたか、そしてこれを実装する際に従うべき標準的な手順がある場合はどうですか?回答をサポートできる記事へのリンクは非常に役立ちます。