Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

「人間は失敗するもの」だから自動化を始めよう――前佛雅人氏に聞く、システム運用における自動化のススメ

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/12/08 14:00

 今、システム運用の現場では、ツールを活用してサーバ管理、デプロイ、プロビジョニングなどの作業を自動化しようという取り組みが行われています。なぜ自動化が重要になったのか、自動化の進め方やその注意点などについて、システム運用の自動化・省力化に早くから取り組み、講演などで積極的に情報発信を行っている、さくらインターネット株式会社 前佛雅人氏にお話をうかがいました。

目次

ビジネス速度の変化、技術の進化により、システム運用業務が煩雑化

前佛雅人氏
前佛雅人氏:データセンタ事業者の運用サポート部門を経験した後、テクノロジーエバンジェリストとして、技術やサービスの普及活動を行う。その傍ら、趣味でオープンソース系の検証やドキュメント翻訳に携わる。
Twitter:@zembutsu、個人サイト:https://pocketstudio.net

――ご自身はどのように自動化に関わるようになったのでしょうか。

 最初に入った会社でホスティング事業に携わっていました。当時はインターネットの創成期で、爆発的に普及し始めた頃です。システム運用の仕事がものすごく忙しく、このままのやり方では現場のスタッフがもたない、自動化して省力化を図るしかないと感じたのがきっかけです。

――システム運用において自動化が重要と考えられるようになってきた背景を教えてください。

 自動化に注目が集まっている理由は2つあると考えています。1つは、インターネットに関わるビジネスの速度感の変化です。

 以前はインターネットに接続するにはパソコン、モデム、ルータなどを用意する必要がありました。Webサイトにしても常にアクセスしているのは限られた人たちだけで、単純な会社紹介ページなど夜中に停止していても誰も困らないサイトが多かったのです。インターネットが普段の生活にも仕事にもまったく関係しない時代がありました。

 しかし、今では、パソコンがなくてもスマートフォンやタブレットで誰でも手軽にインターネットにアクセスでき、SNSやLINEなどのサービスを利用できます。日常の生活や仕事にインターネットが入り込んでいるんですね。そうなると、システムやサービスは24時間いつでも利用できて当たり前であり、障害で長時間停止するとビジネスに大きな影響が出てしまう。利用者の環境の変化がインターネットビジネスの速度を加速し、システムの運用管理をより煩雑にしています。

 もう1つの理由として、技術の進化が挙げられます。特に、仮想化とクラウドの登場が大きいでしょう。かつては、Webサイトを立てようとしたら、サーバとラックを用意し、プロバイダと契約してルータを置き、ネットワークを設定して、OSをインストールして……、とものすごく手間がかかりました。今ではクラウドを利用すれば、ボタンを押すだけで簡単にWebサイトを公開できてしまう。サイトが次から次に増えれば、それだけ運用も大変になります。

手作業を自動化するところから始めよう

――どのようなシステム、現場で自動化を進めるべきですか。

 どのようなシステムでも誰でも自動化を始めてほしいです。私は、「人間は失敗をするもの」と考えています。たとえば、正しい手順書があっても、思い込みや勘違いでボタンを押し間違えたり、チェックリストがあってもうっかり手順を飛ばしたりといったことは誰にでもあり得ます。作業後に別の人がチェックをするとしても、間違いや漏れは発生するでしょう。それならば、失敗しないようにスクリプトを組んだり、ツールを使ったりして作業を自動的に進めたほうが、みんなが幸せになれるんじゃないかと思っています。

――自動化はどこから始めるとよいでしょうか。

 まず自分たちが手で行っている作業を自動化するところから始めましょう。初めからシステム全体の自動化を考えると、部署や会社全体など影響する範囲が大きくなり、結局は何も進まないというのはよくある話です。

 自動化することで楽になる作業を考えましょう。私が物理サーバ環境の運用現場で自動化が必要だと実感した作業は、サーバの初期設定とその確認です。仮に100台の物理サーバをゼロからセットアップする場合、どんなに優秀な人でも1台あたり10分かかるとします。さらにチェックに10分。合計20分×100台で約33時間です。クラウドならそんなにかからないと思うかもしれませんが、デプロイは簡単でも、初期設定とその確認にはそれなりの時間と手間が必要です。

 物理環境でもクラウド環境でも煩雑で面倒な作業は必ずあります。そういった作業をプロビジョニングツールやデプロイツール、あるいはチェック用のツールを使って自動化してみましょう。例えば、pssh(parallel-ssh)を使い、100台のサーバに並行してSSHログインして作業を行うとか、Serverspecを使って設定が正しいか一斉にチェックをするなど、ツールを活用することで、作業にかかる時間と手間の削減が可能になります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 坂井 直美(サカイ ナオミ)

    SE、通信教育講座の編集、IT系出版社の書籍編集を経てフリーランスへ。IT分野で原稿を書いたり編集したり翻訳したり。

バックナンバー

連載:特集「ソフトウェア開発 自動化ツール」
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5