社内の方の発言コピペ(↓他人の言葉であり今後自分版を書く)
運用は何のためにするのか意識は合っているか
- サービスを継続するための取り組み
– 機能の修正・改善
– バグの修正
– 性能の改善
– OS/ミドルウェアやアプリケーションのバージョンアップ
開発から運用の流れ
- 要求の取りまとめ
– サービス側から (新機能、外部サービスとの連携)
– 開発側から (保守性の向上、新しいミドルウェアへの対応)
– 運用側から (障害頻度の軽減、性能向上、可視化) - 開発項目の確定と優先度付け
- リリース時期を確定
- 開発、テスト
- リリース
システムの運用は何から始めるか (開発から引き渡された後)
- サービスの把握
- 構成の把握 (ハードウェア(仮想)、OS、ミドルウェア、サービス、アプリケーション)
- 通信の把握 (ネットワークセグメント、IPアドレス、プロトコル、データ)
- リソースの把握 (CPU、メモリ、ディスク、プロセス、ネットワーク)
- 冗長性の把握 (想定する障害や高負荷、対策)
- アクセス制御や権限の把握 (ユーザ、グループ、秘密鍵/公開鍵証明書、ドメイン名、期限)
- ユーザ管理 (追加、削除)
- 外部接続 (他サービス、アクセスキー、期限)
- ログ (アクセスログ、エラーログ、アプリケーションログ、ローテーション、保持期間)
- ベンダー情報 (サポートサイト、連絡窓口、ライセンス)
- 構成管理 (上記全て)
環境
- 商用環境
- ステージング環境
- 開発環境
- 環境差分の把握
- リリース手順
– リリース対象を確定
– ステージング環境への配置、テスト
– 不具合の修正、再配置、テスト
– 商用環境への反映
監視
- 何の情報を取得するために監視するか
- 障害が発生したときに何をするか
- 監視設定は何を契機として見直すか
ログ
- ログの種類
– OSのログ
– サービスのログ
– ミドルウェアのログ - ログレベル (緊急度、詳細度)
- 分析
– 入力、出力
– 処理の前後関係
– 頻度
– エラーコード
– キーワードでの絞り込み – 統計的解析
DB
ベンダー情報の追跡
- バージョンアップ情報 (新機能、削除された機能、互換性)
- 製品のロードマップ (チケットシステム、公開されたバグ情報、ソースコードの履歴管理情報)
- 組織としての安定性 (買収、解散、放置)
システムの更新
- サービスへの影響を把握 (停止、縮退、想定時間)
- 更新対象を把握 (サーバ、ネットワーク、設定、データ)
- 作業に影響する監視の抑止
- 更新作業を実施
- 監視の再開
- 構成管理への反映
インシデント管理 (障害からの回復、サービス要求への対応)
- 既知の障害かどうかの判断
- 脆弱性の分析と対策
- ベンダーへの問い合わせ
- 対応履歴の管理
- データの受け渡しと消去
レポート
- サービスからの要求
– バッチで作成して提供
– 要求を受けて随時作成して提供 - 運用レポート
– サービスの利用状況
– リソースの利用状況
– インシデントの発生状況
– 稼働率
– ログ解析
– 状況の把握から
— 運用コストの見直し
— 設備投資の見直し
— 開発項目の優先度の変更
以上を踏まえて、普段何をするか (運用メンバーの1日)
- 日次
- 週次
- 月次