Ansible トレイルマップ
MOUNT BUTTON

STEP 7

次の花を咲かせるには

 このステップに到着した皆さんはボタンの披露という最初のゴールを達成しました。大変お疲れさまでした!発表を行ったことで様々な影響を周りに与えることができたはずです。最終ステップでは、この後の展開について簡単な指針を示します。

自動化が次のステージへ進む場合

 皆さんの発表がきっかけで、自動化のステージを次の段階へ進める取り組みが始まることもあります。素晴らしいですね!発表を通して、チームで自動化2.0という概念が共有され、その時の効果もイメージできている状態です。

 この展開では2つのパターンが考えられます。1つは具体的なシステムに対して実証検証を行い、実際の効果を確認するパターンです。もう一つは、実証検証を飛び越えていきなり既存の本番環境の運用に小さく導入してみようというパターンです。どちらのパターンも実践を通じて皆さん自身の経験値を高めると共に、手順のPlaybook化の次のステップへ進めることができます。

プロジェクト化への注意点

 実際にボタン化を進める時の注意点として、最初から広い範囲を対象とした「大きな自動化」を検討しないようにしましょう。大きな自動化は計画と検討に長い長い時間を必要とします。システムの作業を全て洗い出し、それらを分析して標準化しプロセスを整理して・・・とついついやってしまいたくなりますが、この方法は自動化プロジェクトの典型的な失敗パターンの一つです。

 いきなり広い範囲を対象にすると、自動化対象機器の細かなの違いや様々な例外処理に議論が集中しやすく、さらに、仮説を積み上げるほどに実際にやってみたら違った!なんてことが発生しやすくなります。また、インフラ環境は自動化の検討をしている間にも少しづつ変化していきます。例えばパッチが適用される、サーバーが増設される、ネットワーク環境が変化するなどです。計画と検討に長い時間を費やしてしまうと、これらの想定と実際の環境との間に差分が生じてしまいます。

 検討の範囲が広いほど、検討の時間が長いほど、想定や仮説と実際の差分は大きくなり、実際に自動化の仕組みを組み上げたときには既に陳腐化した状態になってしまいます。このような状態でリリースされた自動化の仕組みは多くの場合で利用者や時には自分たち自身にすら受け入れられず、ほぼ使用されずに早期に破棄されてしまう運命をたどります。このような失敗例が現実にはたくさんあります。

 この失敗を繰り返さないためにも、必ず具体的な手順や自動化対象機器を決め「小さな自動化」から始めましょう。小さな自動化とは、このボタン山で学んだことそのものになります。作業をリストし、仮説を立て、そして実装と評価を繰り返し、経験を積みながら改善します。小さな自動化を積み重ねていくことで、その過程で顕在化する小さな課題に対して少しずつ軌道修正を行い、そして変化するインフラ環境に対応しながら、確実に自動化の効果を広げていくことができます。

自動化がなかなか進まない場合

 一方で、状況次第では停滞してしまうケースもあることでしょう。チームの状況、予算、適切なシステムが無いなど様々な要因があります。せっかく発表までしたのにすぐに自動化が開始できないとがっかりするかもしれませんが、このタイミングを「自動化の準備期間」と前向きに捉えていきましょう。まだまだできることはたくさんあります。

 有効な方法として自動化コミュニティの立ち上げがあります。コニュニティといっても大げさに捉える必要はなく、メーリングリストやチャットで情報交換や相談の場くらいだと考えてください。社内の自動化コミュニティを立ち上げたことがきっかけで、同じような課題意識を持った仲間や、既に自動化に取り組んでいた仲間を発見し、自動化に成功している人たちもたくさんいます。

 そのためにはまずメンバーを探す必要がありますが、例えば今回発表したボタン化の内容とデモを「自動化の社内勉強会」として開催する方法も有効です。これで自動化に興味を持つ人を集めて一緒に活動する人を探すことができます。情報には発信する人により多くの情報が集まる性質があるので、勉強会以外でも社内の技術ブログやメーリングリスト等の何らかの形で発信することが重要になります。

 数人でもメンバーが集まれば一緒にボタン化の有効性について考えてみましょう。このときに「バリューストリームマッピング」という手法で作業の中身を可視化して議論することも有効です。

 バリューストリームマッピングは作業の中身を細分化していき、細分化されたそれぞれの工程の繋がりや消費している時間を明らかにできます。このマップからPlaybook化やボタン化すべき「オーバーヘッドの大きい箇所」を見つけられ、自動化の議論がより具体的に進めることが可能です。

 メンバーが集まり、メンバーの間で自動化で取り組むべき課題が共有され、課題にどのようなアプローチをしていくかの意識が揃ってくると、徐々に自動化の機運が高まっていきます。機会が訪れた際に具体的な自動化の話につなげることもできます。もし、なかなか機会が巡って来なかったとしても「次の期の目標」に設定するなどして自動化への取り組みを浸透させていきましょう。徐々に自動化の勢いを強めていき、停滞していた流れを加速させるのが重要です。

社外コミュニティのススメ

 Ansibleには国内で活動する活発なユーザーコミュニティ「Ansibleユーザー会 」があります。自動化の取り組みが進んでいる場合も、停滞している場合でも、社外コミュニティに参加することは良い刺激と励みになるでしょう。一人で悩まずにオープンなマインドを持って参加してみてください。社外の人の取り組みや悩みを知り情報交換することができます。

 最初は参加者として情報収集からはじまると思いますが、思い切って発表者に質問してみましょう。技術的な内容以外の質問も、もちろんOKです。回答してもらえたら、お礼と共に、話を聞いてやってみようと思ったことをコメントしてみてください。同じ悩みを抱える人、同じ挑戦をしている人はたくさんいます。ほんの小さなキッカケで仲間を発見することができるでしょう。

 続いて、自分の取り組みや経験をユーザー会の勉強会で発表してみるのもおすすめです。ユーザー会で発表を行うことで、たくさんのそして多角的なフィードバックを得ることができるでしょう。こういったフィードバックは皆さんの成長と出会いへとつながっていきます。社内での自動化のゴール設定とは別に、自分自身の目標として「ユーザー会で発表する」という設定もおすすめです。

アンケートに答えて、
牡丹山を制覇したステッカーをゲットしよう!

アンケートにお答えいただいた方に、
素敵なステッカーを差し上げます。
牡丹山登頂、お疲れ様でした!

アンケートはこちら
  • Ansible Weblog

    Ansibleに関する有益な情報を定期的にアップデートしています。
    ぜひご一読ください。

  • Ansibleユーザー会

    Ansibleユーザー会ではもくもく会など様々な会を実施しています。
    気軽に参加できますので、ぜひご参加ください。