ITインフラSummit 2019

事例から学ぶ、ITインフラの自動化を成功させる
Ansibleのプラクティス

レッドハット
テクニカルセールス本部
クラウドソリューションアーキテクト部
ソリューションアーキテクト
オートメーション&マネジメント・エキスパート
中島 倫明

かねてより多くの企業において取り組みが進められてきたのがITインフラの構築や運用などにかかわる作業の自動化である。しかし、その成果を十分に発揮できた企業は意外に少ないというのが実情だ。レッドハットの提供する自動化ソフトウェア「Red Hat Ansible Automation(以下、Ansible)」は、企業が試みている自動化における課題を解消し、抜本的な効率化を推進できる「自動化 2.0」の世界へとシフトしていくことを強力に支援する。

“サイロ化”に陥った自動化が期待通りの効果を上げない要因

レッドハット
テクニカルセールス本部
クラウドソリューションアーキテクト部
ソリューションアーキテクト
オートメーション&マネジメント・エキスパート
中島 倫明

システムの構築や運用にまつわる人的負荷の増加やコストの削減を念頭に、かねてより多くの企業がITインフラにかかわる作業の自動化に取り組んできた。ところが実際には、十分な効果を得られずに、その結果、適用領域の拡大など、自動化をさらに推進していこうという機運が盛り上がるに至っていないケースが多いというのが実情だ。

「自動化が思うように効果を上げない要因としては、自動化への取り組み自体がシステムごとにサイロ化してしまっているという問題があげられます」とレッドハットの中島倫明氏は指摘する。要するに、システムごとに自動化されている領域と手作業に依存している領域がバラバラだったり、また利用している自動化ツールがシステムによって違っていたり、さらには担当者のスキルによって自動化レベルにも差が生じている状態というのがこのサイロ化という問題だ。「こうしたサイロ化してしまった自動化は、各プロセスが属人的なものになりがちで、ブラックボックス化してしまうという問題を生みます」と中島氏は付け加える。確かに「あの人しかわからない」という作業がシステムに点在し、それらが全体のボトルネックを生み出すという構図は昔からの変わらぬ大きなシステムの課題であった。

自動化1.0の課題を解決し、自動化2.0へシフトする

自動化がサイロ化する問題は「人手の作業をプログラムに置き換える」という取り組みの中で発生してきた。このような手順の置き換えを主目的とした自動化が「自動化1.0」であると中島氏は説明する。そして「まずAnsibleはサイロ化してしまった自動化1.0の課題を解決します」と続けて述べた。

Ansibleの特徴については、「シンプル」「パワフル」「エージェントレス」という3つのキーワードで説明がなされた。自動化ソフトウェアでは人がプログラムに対して「何を自動化するのか」を指示する必要があるが、Ansibleではシンプルで誰もが読み書き可能な自動化言語を採用している。このため、スキルセットやレベルが異なるエンジニアが「共通言語」を用いて自動化について会話できるようになり、属人化が防止される。

そしてAnsibleは、1つのソフトウェアでサーバーや仮想化基盤、クラウド環境、ネットワークなどの多数の異なる対象を自動化できるパワフルさを持つ。これはツールの分散を防ぎ、学習コストが抑えられることでも属人化の防止につながっていく。

そして3つめのキーワードである「エージェントレス」だが、これは文字通り、いま述べたような各種制御対象に対し、エージェントソフトウェアを自動化の対象となる機器にインストールする必要がないということである。「つまり、お客様が運用して安定稼働している既存のシステムの環境に変更を加える必要がないということであり、安心して導入していただけます」と中島氏は語る。

このような特徴を持つAnsibleを活用することで、自動化1.0のサイロ化という課題を解決し、本来の自動化が持つ恩恵をストレートに享受できるという仕組みだ。しかし、Ansibleの効果はこれだけではないと言う。中島氏は「自動化1.0の課題を解決した上で、自動化2.0へシフトすることで抜本的な効率化と問題解決が可能となります」と語る。

自動化2.0とは組織のオーバーヘッドを自動化で解消すること

自動化による抜本的な効率化を行うためのキーワードは「サービス化」であると中島氏は続けた。作業の手順を自動化に置き換えることが自動化1.0のアプローチであったが、実は企業の中でほんとうの意味での作業の比率は少なくなってきていると言う。逆に大きな比率を占めるようになってきたのが「作業を行うためのチーム間の調整作業」だ。確かに、システムの規模が昔に比べて大きくなったことで分業化が進行し、1つのシステムに対してもサーバーチームやネットワークチームなどの複数チームが連携して作業を行うことは今や当たり前となっている。特に大企業のシステムであれば、作業前の調整や確認に膨大な時間が費やされる。「サービス化によって組織のオーバーヘッドを取り除くことが自動化2.0のアプローチなのです」と中島氏は語る。

サービス化とは作り上げた自動化を「誰もが実行できるボタン」のような形で他チームに提供することで、作業そのものにも、作業前の調整作業にも自分自身を登場させなくすることである。つまり「自分を呼ぶ代わりに必要なタイミングでこのボタンを押してください」と言えるようにすることだ。「例えばABCの3チームでの合意を得るにはAB/AC/BCの3パターンの調整が必要ですが、ここからCが抜けるだけでABの1パターンまで調整が減らせます。たったこれだけで1/3まで全体の労力が減らせることになります」。もちろん現実はここまで単純ではないが、これに近い効果が自動化のサービス化で得られると中島氏は語った。

サービス化の効果はこれだけにとどまらないと言う。サービス化された様々な作業は横展開が容易であると述べた。「サービス化では、実施して効果のあった自動化を1つの機能として管理し、他の様々なシステムやプロセスなどでの再利用を可能にします。さらに、それらサービスを組み合わせることで、より大規模な自動化を実現することも可能です。Ansibleでは自動化への取り組みを、小さく始めて、大きな成功へとつなげていくことができます」と中島氏は解説する。

このようなサービスとサービスの連動によって、個々のインフラの作業そのものにとどまらず、その実施に伴う調整などの事務作業をも含めた自動化を支援してくれるのがAnsibleだと捉えることができるだろう。

自動化2.0を実現した事例とその効果

発表の中で自動化をサービス化することで大きな効果を上げた事例がいくつか紹介されたが、その1つに注目してみよう。例えば、国内のある大手サービスプロバイダでは、Ansibleの提供するサービス化の仕組みを利用して多大な成果を上げている。この企業では、サービスプロバイダという業種柄、データセンターの拠点を複数展開。それら各拠点においてサーバー群を稼働させている。そこで課題となっていたのが、インフラの維持管理にかかわる同じような作業を、各拠点内で運用されているそれぞれのシステムに対して何度もやらなければならず、さらにそれを全拠点で実施していて、同様の繰り返し作業の工数が肥大化するという大きなムダが生じていた点である。

特にそうした作業の実施に際しては、その都度、メールや申請書、電話などにより、作業の依頼が、さながら“伝言ゲーム”のように担当者から担当者に伝えられて、最終的な作業の実施に至っているという状況だった。このような状況下では単純に工数とリードタイムが増大するだけでなく、「エンジニアの多くの時間が事務作業に費やされる」という事態を発生させていた。本来であれば技術に向き合い、システムの改善を行うための時間が取れなくなってしまっていたのだ。

これに対しこの企業では、Ansibleを導入し個々の作業を自動化した上で、そのサービス化を行った。Ansibleのインタフェースから必要なパラメータを入力するだけで、所定のフローが流れて一連の作業が人の中継と調整が不要な状態で自動的に行われるような環境を構築した。

これによりこの企業では、インフラの維持管理の作業が自動化されたことに加え、担当者間の煩雑なやり取りも不要となったことから、それまで1日から場合によっては1週間を要していた作業が数分で完了するようになったという。もちろん、業務プロセス自体がAnsibleによるシステム化によって標準化され、作業品質も適正に担保できるようになっているとのことだ。

「これまで自動化に着手してこなかったというお客様や自動化のサイロ化が課題だと考えているお客様には、まずはAnsibleによる自動化を体験されることを強く推奨します。一方、ある程度の自動化は実現できているお客様はAnsibleによる自動化のサービス化を積極的に検討してください。スタート地点はお客様ごとに違うと思いますが、自動化2.0というゴールを目指すことで、今までとは異なった視点で自動化を活用した効率化を進められるはずです」と中島氏は締めくくった。

お問い合わせ

レッドハット

https://www.redhat.com/ja/global/japan

▲ページの先頭へ