ビジネス速度の変化、技術の進化により、システム運用業務が煩雑化
――ご自身はどのように自動化に関わるようになったのでしょうか。
最初に入った会社でホスティング事業に携わっていました。当時はインターネットの創成期で、爆発的に普及し始めた頃です。システム運用の仕事がものすごく忙しく、このままのやり方では現場のスタッフがもたない、自動化して省力化を図るしかないと感じたのがきっかけです。
――システム運用において自動化が重要と考えられるようになってきた背景を教えてください。
自動化に注目が集まっている理由は2つあると考えています。1つは、インターネットに関わるビジネスの速度感の変化です。
以前はインターネットに接続するにはパソコン、モデム、ルータなどを用意する必要がありました。Webサイトにしても常にアクセスしているのは限られた人たちだけで、単純な会社紹介ページなど夜中に停止していても誰も困らないサイトが多かったのです。インターネットが普段の生活にも仕事にもまったく関係しない時代がありました。
しかし、今では、パソコンがなくてもスマートフォンやタブレットで誰でも手軽にインターネットにアクセスでき、SNSやLINEなどのサービスを利用できます。日常の生活や仕事にインターネットが入り込んでいるんですね。そうなると、システムやサービスは24時間いつでも利用できて当たり前であり、障害で長時間停止するとビジネスに大きな影響が出てしまう。利用者の環境の変化がインターネットビジネスの速度を加速し、システムの運用管理をより煩雑にしています。
もう1つの理由として、技術の進化が挙げられます。特に、仮想化とクラウドの登場が大きいでしょう。かつては、Webサイトを立てようとしたら、サーバとラックを用意し、プロバイダと契約してルータを置き、ネットワークを設定して、OSをインストールして……、とものすごく手間がかかりました。今ではクラウドを利用すれば、ボタンを押すだけで簡単にWebサイトを公開できてしまう。サイトが次から次に増えれば、それだけ運用も大変になります。
手作業を自動化するところから始めよう
――どのようなシステム、現場で自動化を進めるべきですか。
どのようなシステムでも誰でも自動化を始めてほしいです。私は、「人間は失敗をするもの」と考えています。たとえば、正しい手順書があっても、思い込みや勘違いでボタンを押し間違えたり、チェックリストがあってもうっかり手順を飛ばしたりといったことは誰にでもあり得ます。作業後に別の人がチェックをするとしても、間違いや漏れは発生するでしょう。それならば、失敗しないようにスクリプトを組んだり、ツールを使ったりして作業を自動的に進めたほうが、みんなが幸せになれるんじゃないかと思っています。
――自動化はどこから始めるとよいでしょうか。
まず自分たちが手で行っている作業を自動化するところから始めましょう。初めからシステム全体の自動化を考えると、部署や会社全体など影響する範囲が大きくなり、結局は何も進まないというのはよくある話です。
自動化することで楽になる作業を考えましょう。私が物理サーバ環境の運用現場で自動化が必要だと実感した作業は、サーバの初期設定とその確認です。仮に100台の物理サーバをゼロからセットアップする場合、どんなに優秀な人でも1台あたり10分かかるとします。さらにチェックに10分。合計20分×100台で約33時間です。クラウドならそんなにかからないと思うかもしれませんが、デプロイは簡単でも、初期設定とその確認にはそれなりの時間と手間が必要です。
物理環境でもクラウド環境でも煩雑で面倒な作業は必ずあります。そういった作業をプロビジョニングツールやデプロイツール、あるいはチェック用のツールを使って自動化してみましょう。例えば、pssh(parallel-ssh)を使い、100台のサーバに並行してSSHログインして作業を行うとか、Serverspecを使って設定が正しいか一斉にチェックをするなど、ツールを活用することで、作業にかかる時間と手間の削減が可能になります。