以下は完全に自分の独断と偏見で書いており、こうすべき!と押し付けるものでは一切ないことを明記しておきます。また、ツールって言ってるのはコマンドラインツールが主です。 モチベーション なぜツールを作ろうと思うのか 何かやるのに手数が多い オペレーションの工数が多くてそれが人間の手作業であるとき、往々にしてミスは発生する。 ヒューマンエラーを極力なくすために、自動化できるところは自動化すべきである。 操作がコード化されたら、その振る舞いに対してテストを書いて検証することもできる。 例えば Auto Scaling Group で管理された + ELB に吊るされた Elasticsearch のノード入れ替えは、以下の手順で行う必要があった(インスタンス起動時に Elasticsearch が立ち上がること + EC2 Discovery を仮定)。 退役させるノードを1台選ぶ(対象ノード)
![ツールを作ろうと思うモチベーションと、作る流れ - 端子録](https://cdn-ak-scissors.b.st-hatena.com/image/square/74a48b9739c0df9f2c060d130f42df28ddba8c1d/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fd%2Fdtan4%2F20170709%2F20170709174052.png)