インフラにおける改善の実際
本章では実在するサービスを題材に,
ヘテムル
執筆陣が関わっているpaperboy&co.
インフラの技術的負債
インフラの技術的負債には次のものがあります。
- a.集中管理されていない設定情報によるサーバごとでの微妙な仕様差
- b.すばやい変更手段を持たないことによるサーバ全台展開の手間
- c.移り変わるハードウェア性能とそれを扱う運用の柔軟さがないことによるスペックアップの困難さ
- d.ルーチン化された作業が省力化されていないことによる運用のコスト
- e.無秩序な監視システム運用によるサービスヘルスチェック品質の劣化
これらはインフラに必ず付随する問題です。小規模のサービスでは大きな問題とはならなくとも,
負債の返済
前述の問題は対処を怠ると,
ヘテムルでも,
- a.提供しているサービスはすべてをバージョン管理下において管理する
- b.デプロイやサーバに対する変更ツールを整備し,
属人化や煩雑さを排除する - c.ベンチマークの指針と計測する手段を持ち,
OSセットアップを省力化する - d.システム構成管理ツールを用いてサーバ構築の省力化・
仕様化を行う - e.監視システム設定のレビューを行い,
設定の一部は自動生成する
以降で時系列に沿って,
すべてをバージョン管理下に
何をバージョン管理するのか
ソフトウェアと同様にインフラ
優先度
とはいえ,
ヘテムルではおおよそ次の順番で行いました。
- ① OSレイヤ,
セキュリティ周り - ② ミドルウェア設定
- ③ cron,
運用スクリプト - ④ 監視ソフトウェア設定
③④は,
セキュリティ周りについてはどうでしょうか。iptablesやhosts.{allow,deny}の設定などは,