デジタルトランスフォーメーションが進むなかで、ITをどう活用していくのかという点が、業務改善やサービスの品質向上に深く関わるようになっている。そうしたなか、注目されているキーワードがシステム構築や運用に関わる作業の「自動化」だ。その背景にあるのは、システムの高度化や複雑化、さらに人的リソース不足である。こうした状況を改善し、業務を効率化したいという目的で自動化に取り組む企業が増えている。

一方で、自動化の取り組みでつまずいている企業も多い。なぜ自動化がうまくいかないのか、成功させるためにはどんな点に気をつけるべきか。

今回、マイナビニュースでは「何のための自動化か」を語る特別対談を企画。アーキテクトとしてユーザー企業の自動化を手がけてきたZOZOテクノロジーズの岡 大勝氏をお招きした。お相手は、NECのサービス&プラットフォームSI事業部で多くの企業の自動化を支えてきた吉田功一氏。自動化に精通した2人が、どうすれば「自動化」をうまく進めることが出来るのか語り合った。

  • (右) 株式会社ZOZOテクノロジーズ ソフトウェアアーキテクト 岡 大勝氏 (左) 日本電気株式会社 サービス&プラットフォームSI事業部 マネージャー 吉田 功一氏

    (右) 株式会社ZOZOテクノロジーズ ソフトウェアアーキテクト 岡 大勝氏
    (左) 日本電気株式会社 サービス&プラットフォームSI事業部 マネージャー 吉田 功一氏

使いこなせない自動化ツールが宝の持ち腐れに

吉田:自動化というキーワードは4、5年前にはすでにユーザー企業の間でトレンドにはなっていました。この頃OSSとして提供され、無償利用可能であったAnsible Project(旧名称Ansible Core)などの自動化ソフトウェアを導入した企業も多かったのですが、十分に使いこなすことができず、いまでは“宝の持ち腐れ”になってしまっている企業も少なくありません。なぜそうなってしまったのか、自動化を成功させるためにはどう取り組んでいくべきなのかという点についてお話できればと思います。

岡:自動化という考え方自体はもっと前からありました。ただ、その対象はアプリで、インフラでの自動化という発想にはなかなか至らなかったです。今のようにインフラにも自動化が普及してきたのはAWSが登場してからだと思います。ソフトウェア的に扱えるようになったことで一気に波が押し寄せました。

  • 岡 大勝氏――日本DEC、日本HP、日本ラショナルソフトウェアにてアーキテクチャ設計および開発プロセス改善を専門に活動を続け、2003年に独立。先端テクノロジーで現場の最適化を目指すソフトウェアデザイン/チームデザインの専門家として多くの企業を支援する。2019年にZOZOテクノロジーズに加入し、現在は巨大インフラの改修に着手している。

    岡 大勝氏――日本DEC、日本HP、日本ラショナルソフトウェアにてアーキテクチャ設計および開発プロセス改善を専門に活動を続け、2003年に独立。先端テクノロジーで現場の最適化を目指すソフトウェアデザイン/チームデザインの専門家として多くの企業を支援する。2019年にZOZOテクノロジーズに加入し、現在は巨大インフラの改修に着手している。

吉田:自動化が求められる背景には何があるのでしょうか。

岡:一般的な動機としては、人間がやる必要のない作業はコンピュータに任せようということですよね。加えて、先端的な動機としては、サーバの使われていないリソースを最適化したいということがあります。たとえばサーバの能力が100%あったとして、通常は10%とか20%とかしか使われていない。ECサイトでも朝方は負荷が少ないわけです。一方、夜間やセールのときは盛り上がるので、それに合わせてサイジングすることになります。それだと効率も悪いし無駄なコストも発生します。

吉田:なるほど。そこを自動化で最適化するわけですね。仮に10%でも利用効率を上げられるなら大企業にとっては大きなコスト削減になります。

  • 吉田 功一氏――2006年NEC入社、ミッションクリティカルなAP開発からインフラアーキテクトまで幅広く経験。数年前からシステム構築・設定の自動化に取り組み現在に至る。

    吉田 功一氏――2006年NEC入社、ミッションクリティカルなAP開発からインフラアーキテクトまで幅広く経験。数年前からシステム構築・設定の自動化に取り組み現在に至る。

手をかけられたシステムの「何を自動化するか」を見極める

吉田:自動化を始めるにあたって、何から始めるべきでしょうか。我々SIベンダーとして目指しているのは、大量に抱えているレガシーなシステムを何とかしてリフト&シフトしていくことですが。

岡:まず、自動化するシステムが「ペット」か「家畜」かという点に注目するべきです。というのも、これまでのシステムというのは完全にペット扱いだったのです。ペットは細かくお世話をして、食べ物にも気を使って……というように、すごく大事にしますよね。以前のシステムもペットと同じで、丁寧にお世話をして大切に育てていました。なぜそうしていたかというと、やはりいろいろ制約が多かったからなんです。CPUもメモリも不足しているし、回線も細い。何とかしようということで手をかけた結果、すごく複雑なシステムになってしまって、それをいきなり自動化しようとしてもうまくいかないんです。逆に今まではそれでもうまく回っていたものが、自動化しようとした結果、回らなくなることすらあります。自動化しやすいのは、言い方は悪いかもしれませんが「家畜」の方なんです。同じ構成でネットワークを引いて、1台や2台壊れても差し替えればOK。そういうシステムの方が自動化はしやすいです。

  • 吉田氏、岡氏が話している様子

吉田:では、実際に自動化のプロジェクトを進めるうえでどういった点に気をつけるべきでしょうか。

岡:新しいシステムは特に自動化するのに苦労はないんです。最初からツールによる自動化を前提に設計できますから。そうではなくて、吉田さんもおっしゃっているレガシーなシステム、つまりペットとして緻密に設計されている環境を省力化するのに手間がかかります。ですから、自動化の前に下ごしらえしないといけません。どこが省力化できるのか、まずはそこを見極める必要があります。

吉田:私たちも自動化する際にまずやるべきこととして、「よくやる作業を見出す」とお伝えしています。ほとんどやらない作業を自動化しても誰も嬉しくないですよね。メンテナンスに手がかかるだけで、かえって運用が辛くなってしまいます。せっかく自動化したのに、それがITエンジニアの負担になってしまっては元も子もありません。よくやる作業をランキング化するのが、最初に取り組むべきことかなと思います。

岡:ただ、現場のエンジニアとしては1回しかやらないような作業もコード化したくなるんですよね。

吉田:マイグレーションなんかがそうですよね。コストがかかる作業だからやりたくなる。何かの契機がなければ自動化に取り組むことは難しいので、その契機としてマイグレーションを活用することはリーズナブルですが、マイグレーションにしか使えないコードにならないように注意して進めることが重要ですね。

プロジェクト間での情報のバラつきが効率化を阻む

吉田:「何を自動化するか」を決めたあとの設計におけるポイントについてはどうお考えでしょうか。

岡:設計ってよくばりがちなんです。特に以前は、いろんなケースを想定して、完璧なものを1回で出すアプローチが多かったです。でも今はアプリにしてもシンプルなものをできるだけ早く使える状態にして、実際に使ってみてから良くしていく方がやはり筋がいいわけです。人間の予測には限界があって、本番にさらしてわかることが多いですから。自動化も同じだと思います。

吉田:シンプルという点では、設計結果の一元管理が重要ですよね。同じ情報を二箇所で持つことは避けるべきです。

岡:実現場では、構成が複雑で規模の大きなシステムだと一元管理は難しい面がありますね。伝達がスムーズにいかなくて、そこに多くのコストがかかって、結果的に自動化しているはずなのに効率化できていないということになってしまいます。

吉田:ハマりがちなポイントですね。プロジェクト内の組織がサイロ化されると情報がバラバラになってしまって、もらった情報がちゃんと設計書に合っているかを複数人でレビューして……みたいな話になりがちです。

岡:それで一度痛い目を見てしまうと、もう今までのやり方でいいや、となって、自動化ソフトウェアが宝の持ち腐れ化してしまうわけですね。

  • 吉田氏が話している様子

システム情報を一元管理するExastro IT Automation

吉田:Exastro IT Automation(以下、Exastro)はまさにその点を解決するために開発した、システム情報のデジタル管理のためのフレームワークです。我々が目指しているのは、パラメータがタンギングされており、作業手順が一元管理されていて、パラメータと作業手順を持ってきてやればシステムの更改や復旧ができる世界です。作業手順書も構成手順書も運用マニュアルもなくなればいいと思っています。それを実現するのがExastroです。特にAnsibleはパラメータと手順を正確にインプットすれば効率的に動作する自動化ソフトウェアなので、Exastroとの親和性は高いです。

  • Exastroの位置づけ

岡:小規模でシンプルな構成なら自動化ソフトウェアだけで回るかもしれませんが、ある程度の規模になるとExastroのような共有プラットフォームが必要になるでしょうね。コードだけで理解できることは限られていて、大事なのはノウハウの共有。それも量が多くなるとアナログでは難しくなります。

吉田:岡さんがおっしゃった発想はまさにExastroと共通するものです。Exastroは自動化ソフトウェアをコントロールするフレームワークですが、実は意図的に自動化ソフトウェアを勘違いさせるつくりになっているんです。Exastroは作業毎に自動化ソフトウェアに対して「これが全情報ですよ」と一部の情報だけを渡すのですが、本当はもっとたくさんの情報を管理しているわけです。

岡:マイクロサービスもサービス数が多くなると見えにくくなりますからね。

吉田:システム全体に注目するのは一定規模を超えていると難しいんですよね。だからこそ、Exastroはシステムに注目するのではなく、作業に注目して自動化を行っています。Exastro IT Automation をはじめとするExastro Suiteは、自動化の先にある自律化の世界を目指しているんです。まず作業を繰り返し行い、連続する一連の流れをルール化、そこから人間の与えた基準で最適条件を見つけて最適化、という自動化を実現する。その先で、機械が未知の状況にも対応し、自ら判断して実行したり、新たな事実の発見や過去になかったものを生み出す発明まで行ったりする自律化の世界を目指していきたいと思っています。今回お話ししたExastro IT Automationはこの「繰り返し」の部分を行うときに使うツールです。NECは最新のRed Hat Ansible Automation PlatformもOEM提供していますので、Exastroと合わせて一気通貫のサポートを提供できます。

岡:作業に注目するというのはいいですね。手順を覚えて理解できる範囲は人間にも限界がありますから、小規模で知識を共有してその都度適応していくのが大切だと思います。

  • Exastro Suiteが目指す自動化・自律化のロードマップ

吉田:最後にあらためて、何のために自動化をするのかという点について聞かせてください。

岡:システムというのは人間をハッピーにするためにあるものです。サービスでユーザーを幸せにできても、裏の運用で苦しんでいる人がいたら本末転倒です。自動化はすべての人をハッピーにするための手段の一つにすぎません。

吉田:目の前のITエンジニアの苦しみを解決するという点が、自動化の目指すところですね。

  • 吉田氏、岡氏の集合写真

本来、システム構築や運用に関わる作業の自動化は今ある作業をより効率よく行い、ITエンジニアの負担を減らすためのものである。今回の対談では、それを実現するために「何のために自動化をするか」を見極めること、そのうえで作業手順などの情報を一元管理し、スムーズに共有できる環境を作ることが大切だと語られた。自動化でつまずいている企業は、今一度、自動化を行うための下ごしらえの段階から見つめ直してみてほしい。

Exastroの詳細はこちら
https://exastro-suite.github.io/docs/index_ja.html

[PR]提供:日本電気株式会社