クラウド&データセンター完全ガイド:イベントレポート

運用自動化は実作業の効率化だけでは不十分、インフラ管理の理想像とその実現方法とは?――レッドハット・岡野氏

データセンター・イノベーション・フォーラム2021 講演レポート

インプレス主催で2021年12月8日・9日にオンライン開催された「データセンター・イノベーション・フォーラム2021」では、「データセンター: オンラインファーストとカーボンニュートラルからの挑戦」と題し、ポストコロナ社会の実現に向けて進化を続けるデータセンターに関する多くの講演が行われた。『IT管理者が2030年には数十万人不足する』と経済産業省の資料で示されてから既に数年たつが、インフラ管理の効率化・自動化が思うように進められている企業はあまり増えていない。8日に行われたセッションでは、その原因や本来あるべき理想像について、レッドハットの岡野浩史氏が解説した。 text:柏木恵子
レッドハット パートナーソリューションアーキテクト部 アソシエイトプリンシパルソリューションアーキテクト 岡野浩史氏

インフラ管理の効率化・自動化は必須

 IT管理者が不足する環境では、本来人が行わなくても良いインフラ管理の作業を、自動化などの手段で効率化するのが必須。これに異論はないだろう。ただ、「自動化」を「単なるツールへの置き換え」と考えてしまうと、なかなか効果が上がらない可能性がある。レッドハットではこれを、自動化1.0と自動化2.0という言葉で整理する。

自動化以前:全ての作業を人が行う世界
自動化1.0:人の作業をツールで補助している世界
自動化2.0:運用がサービス化された世界

 自動化1.0と2.0の世界を自動車の製造ラインに例えてみよう。職人の作業を「ドライバー」から「電動ドライバー」に置き換えることにより効率化するのが自動化1.0、作業そのものがサービス化され、誰でもスイッチを押せばロボットアームが動き出し、車ができあがるのが自動化2.0だ。

自動化1.0と2.0

 これをインフラ管理に置き換えると、サーバー、ストレージ、ネットワーク、アプリケーション、仮想化、クラウドなど、それぞれの技術者が、おのおのの作業をスクリプトやベンダー固有のツールなどで自動化して効率化している世界が自動化1.0。レッドハットが考える理想的な運用の世界とは、「インフラ運用がサービス化され、かつ高度にインテグレーションされた世界。このような世界では、職人さんはもはや『そこ』にはいません。使いたい人が使いたい時にボタンを押せば、職人さんが作った素晴らしい運用サービスが自動的に動き出し、安全・正確・迅速に作業が行われるような状態」このような世界を我々は自動化2.0と呼んでいます(岡野氏)。

 自動化2.0の工場では、製造ラインに人はいない。ただし職人さんが不要になったというわけではない。職人さんは、現場で作業を行うのではなく、サービスを開発する仕事、自動車の製造ラインで言うとロボットアームのプログラミングをする仕事に変わっていくということだ。

 冒頭でIT運用の自動化は必須と申し上げたが、実は企業におけるIT運用の自動化は遅々として進んでいない。レッドハットが実施したITの運用者に対するワークショップでのアンケートによると、自動化の適応比率が半分以下という回答が8割を超え、作業全体における自動化の比率は35%とここ数年ほぼ増えていない。この大きな理由のひとつは、自動化のポイントを見誤っていることにある。

 インフラ作業の自動化というと、「実作業」の効率化がまず思い浮かぶと思うが、実はその前後に必ず何かしらの「調整業務」が発生している。例えば、入力されたパラメーターシートから作業内容を作成したり、その作業内容を説明するための資料を作ったり、関係者を集めてレビューしたり、作業する人のスケジュール調整を行ったり、作業後は報告書を作ったり、つまり人と人とのコミュニケーションにまつわる作業が「調整業務」だ。十数年前のような比較的シンプルなシステムであれば、インフラ作業全体における実作業部分が比較的多いので、そこにフォーカスした自動化であってもそれなりに効果は出た。ただ現在、我々の周りにあるシステムは仮想化やクラウドなどが複雑に絡み合い、かつ大規模化し、関係者も多くなった結果、実作業よりもその前後の調整業務の比率、つまり人と人とのコミュニケーションにまつわる作業の比率が圧倒的に大きくなっている。このため、ITの自動化と言って誰しもがパッと思い浮かぶ、実作業の部分だけを効率化しても、全体の効率化にはつながらない。このため、PoCを実施したものの効果が良く分からず、自動化の実装に踏み切れない企業が多いのだ。

現代システム構築・運用の課題

 ではどうすれば良いか。コミュニケーションコストの大きい現代のインフラ管理において効果を出すためのポイントとして、レッドハットでは以下の3点を挙げている。

ポイント1:自動化の標準化
ポイント2:自動化のサービス化
ポイント3:インフラCI化

自動化で効果を出すための3つのポイント

 以下に、それぞれについて解説する。

自動化の標準化でサービス化に備える

 岡野氏は、「最終的にITの運用をサービス化することを考えた場合、自動化の標準化は必須項目」と言う。

 自動化は非常にサイロ化しやすい要素を持っている。例えば、システムごとに準備されたベンダー固有のツールや、各担当者がそれぞれ使い慣れたツールを使って運用を自動化するような例がその典型だ。このような状態では各システムや各管理者に特化した自動化となってしまい横展開ができず広がらない。これでは、自動化1.0から永遠に抜け出せない。

従来のインフラ管理が抱える課題

 それを解決するためには、何か共通の仕組みにすべてを集約する必要がある。「手順書と実行方法を標準化することが、サービス化への第一歩」と岡野氏は言う。例えば、構成管理ツールAnsible Automation Platformに集約するのもひとつの方法だ。Ansible Automation Platformはさまざまなクラウドや機器、ミドルウェアなどを管理できる。

自動化のサービス化で、コミュニケーションコストを削減

 サービス化によってどのようにコミュニケーションコストが削減されるのか、Webアプリケーションの更新の例で見てみよう。ロードバランサーがあり、その配下に多数のWebアプリケーションが動いている環境をイメージしてほしい。アプリチームがバージョンアップをする場合、作業は以下のようなフローで行われる。

①ロードバランサーを閉塞
②事前バックアップを取る
③アプリケーションを更新
④更新後のバックアップを取る
⑤ロードバランサーを開放
⑥アプリケーションの再稼働と動作確認

自動化2.0の実現

 この作業を行うためには、アプリチームとネットワークチーム、サーバーチームの事前作業が必要となる。例えば、作業内容の通達、通達内容の確認、各チームによる手順書の作成、チーム間での作業内容のレビュー、作業者の割り当て、などだ。このような作業、書類作成の他、3チームでスケジュールを合わせ、会議室をとるとなると、1~2週間は簡単に過ぎてしまうということは何となく想像できると思う。逆に、実作業自体は、夜中に集まって4~5時間かければ、完了するだろう。この例からも、実作業より調整業務の方が手間がかかるということが理解いただけると思う。

 ここで、例えばロードバランサーの閉塞と開放がボタンひとつで実行できるサービスを作ったらどうだろう。アプリ担当なりサーバー担当なりがボタンを押せば実行できるので、ネットワークチームは、夜中の実作業だけではなく、事前の調整業務からも解放される。

 同じように、サーバーチーム、アプリチームも自身の作業を「ボタン化」すると、それらを連結した大きなボタン、つまりサービスができあがる。各作業が高度に連携した「アプリケーション更新サービス」だ。この大きなボタンを押すために、各作業を行う専門の技術者は必要ない。「このボタンを押せばアプリケーションの更新ができるよ」と説明を受けたオペレーターが押すことができるのだ。これが、冒頭申し上げた、ボタン1つで車ができあがる世界。つまり、完全自動化された自動化2.0の世界だ。

サービス開発のコミュニケーションコストを削減するインフラCI

 インフラ運用をサービス化すれば、効果があることはイメージできたと思う。しかし、そのサービスを開発においてもうまくやらないと、大きなコミュニケーションコストが発生する可能性がある。そこで岡野氏がぜひ導入してほしいというのが、インフラCIの仕組みだ。

 CIとは、Continuous Integration、継続的インテグレーションのこと。最近は、「アプリケーション開発は、継続的インテグレーション(CI)と継続的デリバリー(CD)でアジャイルにしよう」という話をよく聞くと思う。このCIの仕組みを、インフラ管理でも活用するのが、インフラCIだ。

 従来のやり方では、サービス開発をする前に、手順書やレビューのための資料を作成し、レビューしてもらうための予定を調整して説明するなどの手間がかかる。しかし、インフラCIのシステムが導入された環境では、以下のように開発が進む。

①開発したコードをインフラCIに登録する
②インフラCIにより開発されたコードが自動的にテストされる
③→テストで問題があれば、開発者に通知
 →テストで問題がなければ管理者によるレビューに進む

 インフラCIの世界では、開発者と管理者のコミュニケーションコストは極小化される。それぞれがインフラCIというシステムと対話することにより、開発されたコードの品質を担保することができるのだ。

「インフラCI化」でサービス開発も最適化

 インフラCIを導入すると、他にも以下のようなメリットがあると、岡野氏は言う。

  • インフラCIを潜り抜けてくるいわゆるチェックの甘さもインフラCI導入当初は良くある。管理者側のレビューで毎度同じようなチェックが必要な場合は、その内容をテスト項目にに組み込む。こういった作業を繰り返すことによってインフラCIにどんどんナレッジが溜まっていく。
  • テストが自動化されたインフラCIの世界ではテストの定期的な実行も可能だ。こうすることにより、常にコードの品質を鮮度の良い状態に保つことができる。
  • システム化することにより属人性が排除される。

成功の鍵は、ゴール設定/体制/小さい効果の積み重ね

 企業における自動化の実装は遅々として進んでない、と申し上げたが、もちろん成功している企業もある。自動化が進む組織と進まない組織では何が違うのか。岡野氏は、以下の3点を挙げる。

ポイント1:ゴールとステップを明確にする

 自動化が進んでいる企業では、明確な目標を設定している。自社の現状がどこで、目指すゴールはどこか、そこへ向かうための課題は何で、それをどう解決するかを明確にすることが重要だ。

自動化2.0 というゴールとステップを明確にする

ポイント2:自動化専任チームで推進する

 岡野氏によれば、自動化で成果を出している企業のほとんどが、自動化専任チームを作っている。最初から専任チームを作るのは難しいかもしれないので、「最初は兼任でも構わないが、どこかのタイミングで自動化を行う専任チームを構成していくことが重要」(岡野氏)だ。

 チームの作り方としては、自動化導入に意欲のある人や知識のある人が、各部署(組織やシステム)から数名ずつ参加するコアチームを構成し、課題や解決方法を話し合う。それを、期限を決めて各部署に実装し、コアチームにその結果をフィードバックする。これを繰り返して進めていくのがお勧めだ。

自動化専任チームで推進する

ポイント3:小さな効果を出し続けて積み重ねるアジャイルアプローチ

 プロジェクトの進め方には、ウォーターフォール型とアジャイル型の2種類ある。自動化の取り組みでは、アジャイル型が適していると岡野氏は言う。「検討開始から要件が変化することもあるし、時間のかかるウォーターフォール型のアプローチではインフラの環境の進化についていけない」からだ。

効果の出し方

 レッドハットでは、企業が自動化2.0に邁進するためのコンサルティングサービスとして、Automation Adoption Journey(AAJ)を提供している。これは、自律的な自動化組織を構築するために、キーマンとなる人に技術、プロセス、文化の3つを学んでもらう、大きなくくりで言うとトレーニングプログラムとも言えるものである。

着実なステップアップのために

 自動化2.0には興味があるものの、なかなか最初からコンサルタントサービスは、という方も多いと思う。そういった方は、Automation Dayという無償のワークショップを開催しているので、まずはこちらに参加してみるといいだろう。1日2時間程度を2日間実施し、完全リモートで開催される。