ITインフラSummit 2020

ITインフラの運用はコードの記述へと切り替わる
Ansible導入支援プログラムで運用自動化を定着へ

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

レッドハットは、サーバー設定やネットワーク設定といったITインフラの構成管理をコード化して自動化できるソフト「Red Hat Ansible Automation Platform」(Ansible)を提供している。各種の機器に対する操作内容を共通の様式で記述できるため、運用作業の効率化を阻む「自動化のサイロ化と属人化」を運用の標準化と部品化によって解消できる。さらに、「自動化のサービス化」により、複数のチームが関与する作業のオーバーヘッドを解消し、抜本的な効率化も支援。レッドハットは、Ansibleの導入を支援するプログラム「Automation Adoption Program(自動化適用推進プログラム)」も提供している。

サーバーもネットワーク機器も
共通の様式「Playbook」で操作できる

レッドハット
中島 倫明

ITインフラを配備する作業は、システム設計書の作成、設定内容をまとめたパラメータシートの作成、具体的な設定作業を記した手順書の作成、手順書を基にした実際の設定作業、という流れになる。Ansibleは、この中のパラメータシートと手順書を、Playbook(プレイブック)と呼ぶ共通の様式で簡潔に記述し、自動化できるツールだ。

Ansibleは、上手に使えば劇的な効果が出る。例えば、クラウド基盤のメンテナンス作業を自動化した事例では、それまで60時間かかっていたメンテナンスを10分に短縮できた。リソースの払い出しを自動化した事例では、12日かかっていた処理が10分で終わるようになった。Ansibleはまた、小規模で小さく始められるので、第三者調査機関の報告書には導入後5カ月の短期間で投資を回収できたと記されている。

Ansibleのメリットの1つは、ネットワーク機器やサーバーOSなど、幅広い管理対象に対する操作を、Playbookという共通の様式で簡潔に記述して自動化できること。これにより、操作対象ごとに操作方法が異なるという、運用管理のサイロ化の課題を解消し、運用の属人化を排除できる。操作対象側にエージェントをインストールする必要がないため、既存のシステム環境のまま幅広く制御できる。

自分が担当する作業をサービス化して公開
事前の打ち合わせやスケジュール調整が不要に

Ansibleのメリットは、サーバー設定やネットワーク設定のように個々のシステムに閉じた設定作業を自動化できるだけにとどまらない。上手く使えば、サーバー管理チームやネットワーク管理チームなど複数のチームにまたがった処理を自動化できる。

具体的には、サーバーチームによるサーバー設定作業や、ネットワークチームによるネットワーク設定作業など、個々のチームが担当する運用作業をPlaybookで記述し、ボタンをクリックするだけで実行できるサービスとして他チームに公開できる。ボタンを組み合わせるだけで、複数のチームが関与する作業さえ自動化できる。

自動化には成熟度があるとレッドハットの中島氏は指摘する。属人性を排除する最初の段階が「自動化1.0」で、自動化処理のサービス化によって組織全体の自動化を進める段階が「自動化2.0」だ。中島氏は、昨年の「ITインフラSummit 2019」で、自動化2.0の概念を講演した(関連記事:事例から学ぶ、ITインフラの自動化を成功させるAnsibleのプラクティス)。

運用のサービス化によって、作業のスケジュール調整や事前の打ち合わせなどが不要になる。「作業の調整に2週間、実際の作業を夜間の5時間で済ませる場合、自動化1.0では5時間しか削減できません。一方で、自動化2.0なら調整時間の2週間の大部分を削減できます」(中島氏)。

インフラの運用はコードの記述に置き換わる
プロセス改革を支援する導入支援プログラムを提供

ただし、自動化2.0への到達にはいくつかのハードルがある。従来とは違った視点に立つ必要があるからだ。Ansibleを導入すると、運用の作業はPlaybookの記述に置き換わり、スケジュールの調整作業は運用作用の部品化・サービス化に置き換わる。「インフラの構成作業は、ソフトウエアの開発作業になります」(中島氏)。

インフラ構築・運用のプロセスがソフトウエア開発(コードの記述)に変わるため、これまで「手順を確実に行う」ことを前提としていたインフラの技術者は新しい考え方に慣れるまでに時間がかかってしまう。未体験の分野で最適な手法を見いだすことに骨が折れる。こうした課題を解消するためにレッドハットが用意している導入支援プログラムが「Automation Adoption Program」だ。

Automation Adoption Program は、従来型の構築・運用をしていたインフラ担当者を、最短の道のりで自動化2.0へ導くことを目的としたプログラムだ。「導入プログラムの最終的な目標は、ユーザー企業の内部に自律的に動ける運用自動化の推進組織を立ち上げることです」(中島氏)。

運用の課題を抽出・分類・優先順位付け
簡単で効果が出る案件から自動化に着手

中島氏によると、自律的な自動化組織には、自動化を進める技術、自動化を進めるプロセス、自動化を進める文化、の3つが備わっている。中でも特に重要なのはプロセスだ。「インフラを構築する」という考え方ではなく「インフラ(サービス)を開発する」という考え方に移行する必要がある。

導入プログラムは、最新の自動化手法とその活用方法について理解する「学習」フェーズ、自動化で解決すべき課題とその優先順位を整理する「検討」フェーズ、Ansibleでの自動化を自社業務へ当てはめたときの実例を確認する「実装・評価」フェーズ、という流れで進める。

導入プログラムの中核をなす検討の段階では、課題となっている案件を抽出し、個々の案件について何が課題となっているのかを分類する。処理時間が課題になっている案件もあれば、処理の品質が課題となっている案件もある。この上で、それぞれの案件に優先順位を付ける。こうして、簡単で自動化の効果が高い案件から着手する。

このように、ユーザー自身が自律して全社的に自動化を適用できるよう、レッドハットとユーザーがコラボレーションしながら進めていくのが本プログラムの特徴だ。

自動化の効果が上がるかどうかは
自動化2.0に至るかどうかによる

2017年前後から国内で本格的にAnsibleを検討する企業が出始めてから2年が経過した。この2年間で、Ansibleで効果を上げた企業と、さほど効果を上げていない企業では、すでに生産性と品質が5~100倍以上に開いている。中島氏は、「自動化の効果が上がった組織と、上がらない組織の違いは、自動化に取り組む視点の差、つまり自動化1.0と自動化2.0の違いです」と指摘する。

中島氏は、自動化2.0を達成して自動化の効果を上げた実例をいくつか紹介した。事例の1つは、情報通信サービス業において、ロードバランサのSSLサーバー証明書の更新作業を自動化した例だ。証明書の更新処理をサービス化することによって、30分から2時間を要していた更新作業を20秒程度に短縮した。

別の事例では、社会インフラ企業がサーバー仮想化基盤の運用全般の作業を効率化した。仮想サーバーの払い出しやファイアウォールの設定変更といった定型作業をサービス化し、ワンクリックで操作できるようにした。自動化できないプロセスの廃止と自動化プロセスのサービス化によって、運用コストを70%減らした。

確かに、インフラ自動化という分野自体は目新しいものではない。昔からスクリプトや様々なツールが存在し取り組まれてきている。しかし一方で、それらの取り組みが大きな成果を上げたという事例もほとんど聞くことはない。これは従来のやり方で達成できる効率化には限界があるということの証明なのかもしれない。そこから飛躍していくためには、自動化2.0のような新しい考え方が必要となるだろう。

お問い合わせ

レッドハット

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

▲ページの先頭へ