Webエンジニアの教科書読んでみたメモ5(開発環境の自動化)
手動での開発環境構築のリスク
- 本番サーバを新たに追加したい
- アクセスが増えてくると処理速度がたりなくなる場合がスケールアウトで対応
- スケールアウト
- サーバの数を増やすことで性能を上げる方法
- スケールアップ
- サーバのCPUやメモリを高性能なものにして処理性能をあげる方法
- スケールアウト
- 環境構築が自動化されていればコマンドで簡単に追加できる
- しかし自動化されていない場合は秘伝の書になっている
- 人はミスをするいきものなので秘伝の書などは危険
- まずはミス防止のためにも自動化を導入するべき
- アクセスが増えてくると処理速度がたりなくなる場合がスケールアウトで対応
- すでに稼働している本番サーバにミドルウェアやライブラリを追加したい
- 開発環境を気軽に構築したい
- vagrant
- コマンドで起動停止ができちゃう
- 設定が簡単で使いやすい
- いらなくなったらデストロイで潰せる
- Docker
- vagrant
- 個人的にはVagrantが好き
Ansibleってなに
- 必要なライブラリやミドルウェアをインストールし期待したサーバの状態にすること
- メリット
- それ以外のプロビジョニングツールは?
- Chef,Puppet等がある
- 大規模で強いのはchefと聞いたことがある
Serverspec
- サーバ正しい状態なのかを保証できない場合は不安が残る
- サーバの状態をテストしたい
- プロビジョニングが正常か確認したいなどでつかえる
- プロビジョニングとServerspecは基本セットで使うと良さそう
まとめ
- 人はミスをするいきものなので自動化を進めよう
- 秘伝のソースや秘伝に書等がある場合は見直しが必要
- 自動化することで誰がやってもおなじ安心安全な管理ができる
- 手動で時間を使うよりも自動化して楽をしようよ
読んでいる本