参加イベント
はじめに
「Ansible備忘録」の番外編として、Ansibleユーザー会主催のオンラインイベントに参加してきました。
コード等の詳細は書けませんが、Ansibleや自動化に対する考え方について新たに知ることが出来たので、簡単にまとめつつ、感想を書き記したいと思います。
☆Ansible備忘録バックナンバー
まとめ
簡単な実装例
今回のイベントで紹介されたansible実装事例の中で私が最も驚いたのは、
「ネットワークOSが異なる場合でも、Playbookで自動識別し、OSを意識せずに設定可能にする」
という実装方法でした。
ネットワークOSにはいくつか種類があります。
有名なものだと「IOS」や「JUNOS」が挙げられます。
種類が多い分には「へーそうなんだ」くらいで何とも思いませんが、コンピュータのWindowsOSとMacOSの違いで少し混乱するように、ネットワークOSもそれぞれの違いによって面倒な思いを味わうことになります。
今回挙げられた例では、
「IOSとJUNOS間でサブインターフェースの設定コマンドが違うこと」
が挙げられていました。
紹介された方の現場では、ネットワークOSがIOSとJUNOSの2つが混在しており、ネットワークOSごとに手順書や設定ファイルを作成する必要があった為、求められるスキルが非常に高かったと言います。
また、商用環境ともなると作業台数も多い上、サブインターフェースの設定数は相当数になる為、自動化が必要だったとのことでした。
実装内容としては、Playbook内でネットワークOSを自動識別できるタスクを導入し、その結果を基に各ネットワークOSごとの設定ファイルを作成(更新)するという内容でした。
これにより、作業者がネットワークOSごとのコマンドの違いを意識せずに作業できるようになったと言います。
Ansible実装によるメリット
①作業品質の向上
⇒コマンド作成や設定変更が自動で実行される為、人的ミスが減少。作業時間の個人差が減り、作業時間の見積もりがしやすくなった。
②未経験者でも作業のハードルが比較的容易になった
⇒ネットワークOSを意識することなく作業可能になったことや、作業ファイルがYAML形式の為、作業者の学習コストが低くなった。
Ansible導入後の課題
①Ansibleによって自動化された作業の内容がイメージしづらくなった
⇒今回で言えば、「サブインターフェースの設定」という作業だが、この作業を手動で実施したことがない人からしたら、「今、自分はどんな作業をしているんだろう?」という状態になってしまう。
所感
上述した「Ansible実装によるメリット」は、日常的に業務でAnsibleを触るようになったからこそ頷けるのかなと思いました。
Ansibleの使い方や構造をある程度理解できれば、圧倒的にミスは減りますし、一つひとつの作業に対するハードルは低くなると思います。
しかし、Ansibleに慣れるまでの間は、「Ansible導入後の課題」で述べた観点には細心の注意を払う必要があると考えます。
私もAnsibleを業務で触るようになった当初は、「今、何がどう動いているのか」をしっかりと把握できていない状態のまま作業をしていました。
把握しようとplaybookの記載内容を確認してもよく分からず。。
調べてもよく分からず。。
このような漠然とした不安を抱えた状態で仕事をしていた時は非常にストレスを感じていました。
徐々に慣れていき、
「あ、この作業は○○コマンドと同様のことをしているのか!」
と気づいた時にようやくAnsibleの素晴らしさに気が付けたと思います。
例えるなら、
「マニュアル車の運転方法を知っているから、オートマ車のありがたさや楽さに気が付ける」
みたいなもんでしょうか?
Ansibleを実装することで得られるメリットは大きいと思いますが、インフラエンジニアとして最低限必要な知識や技術を身に付ける為には、「手動」での作業を経験することも大事なのかもしれません。