Infrastructure as code の使いどころ
各ノード・ライフサイクルのどの部分をどのソフトウェアで実現、対応するかをしっかり検討してから使い始めたい。けど、Web上には諸所いろいろな意見があり実は自分自身頭が整理できていない。
Provisioning Toolchain
ノード・ライフサイクル
[Add] 既存のサービスにノード(サーバ、ストレージ、ネットワーク機器など)を追加する。
・目的は、既存サービスを素早くスケールアウトさせること。負荷対策、サービス提供リソースの絶対量増強など。
[Update] 既存のサービスに展開済みのノードへの変更を加える。
・目的は、既存サービスに変更を加えること。アプリケーションの設定変更、バグ改修など。
[Delete] 既存のサービスに展開済みのノードを取り除く。
・目的は、故障等でサービス影響を発生させているノードを素早く取り除くこと。
・あくまで頭の整理のために書いてみた図なので、なんか違うとかコメントはたくさんあると思いますが、そういった突込みいただけますと今後の参考になります。オーケストレーションはスケールアウト可能な環境への新規ノード追加(サービスへのノード追加)のイメージ。seleniumで試験などはオーケストレーションの枠組みに入らないと思うけど、サービス全体の正常性確認という意味合いで入れている。
参考
・http://www.slideshare.net/TakashiHonda0628/infrastructure-as-a-code-45047762
・http://www.slideshare.net/y05_net/infrastructure-as-code-35373108
・http://qiita.com/hiracy/items/c8bfb69ff624d4b711e4
・http://labs.gree.jp/blog/2014/12/11959/
・http://qiita.com/takachan/items/8cd832bba9779390c6d8#2-5
・http://kentana20.hatenablog.com/entry/2014/02/15/023158