SIの労働生産性を高めるIaCとは?ITエンジニアのためのコミュニティ「IaC活用研究会」キックオフイベントレポート

2018年4月12日(木)
小林 和正

IaC(Infrastructure as Code)によるSIの労働生産性向上を目指すコミュニティ「IaC活用研究会」のキックオフイベントが1月23日に開催された。本稿はセッションの内容をレポートしていく。前日、関東は大雪に見舞われたが、懇親会まで非常に賑わいをみせていた。

※登壇者肩書はイベント当時のもの

冒頭のオープニングセッションでは、TIS株式会社の倉持 健史氏が登壇した。SIに関わるエンジニアの課題として、無駄な作業やヒューマンエラーの削減などを挙げ、IaCがこれらを解決するために有用であると語った。IaC研究会は「エンジニアの生産性を高めることを目標とし、IaCを軸に活用方法や情報を共有することが目的」と概要を説明した。

TIS株式会社 IT基盤技術本部 IT基盤技術推進部 OSS推進室主査 倉持 健史氏

参加者を対象とした事前アンケートでは、IaCの理解度・認知度において「IaCを理解し、説明できる」と回答した人は24%、IaCの取り組み具合で「本番で活用している」と回答した人は14%に留まった。同氏は、この研究会を通じてIaCの理解度を深め、本番で活用してほしいと述べた。

ITエンジニアの労働環境/生産性の課題と、改善にかける想い

オープニングセッションに続き、IaC活用研究会を設立したTIS株式会社の倉持 健史氏が登壇した。IaC活用研究会の立ち上げは、TIS IT基盤技術本部の技術施策「品質と生産性の向上」がテーマになったことがきっかけだという。

TISでは2015年からこのテーマに取り組み、インフラ構築とテストの自動化を進めている。その結果、インフラ自動化フレームワーク「SHIFT ware」が生まれ、2017年にOSSとしてリリースした。インフラエンジニアが使うためのOSSを組み合わせたツールだ。このツールを使って仮想マシンを展開してコンフィグレーションする部分を自動化したところ、「毎日約3時間かかっていた作業を48分に短縮できた」と具体的な事例を紹介した。

定常業務自動化による生産性の向上

先ほどのユースケースでは、空いた時間で別の業務を行うことで生産量が増えたとのことだが、同氏は「生産性向上施策によって空き時間が生まれること」の重要性を説いた。例えば、生産性向上で肉体・精神負担を軽減したり、空き時間で開発能力への投資を行うとすると、離職率低下や能力向上が期待でき、それが業績や賃金へ反映されればモチベーションアップに繋がる。このように、生産性向上を生む「正のサイクル」が重要だと話した。

実際にデータから労働時間と生産性は相関関係であることがわかっている。ドイツと日本を比較してみると、ドイツの方が労働時間が短いが、日本よりも生産性が高い。一人あたりの労働時間が10%減少すると、一時間あたりの労働生産性は25%増大する。以上のことを踏まえ、「正のサイクル」の重要性を強調した。

一人当たりの労働時間における各国の生産性

同氏は、このコミュニティを通してIaCが合致するポイントを探って活用し、今までのやり方を変えたり、生産性の向上につなげていきたいと述べた。

AnsibleではじめるIaC

次にレッドハット株式会社の平田 千浩氏が登壇し、運用管理自動化の目的と課題について話した。同氏が自動化の案件に携わる中で、少数ながらも自動化に対するネガティブな意見があるようだ。このような意見を無くし、IaCを広めていきたいと意気込みを語った。

レッドハット株式会社 テクニカル・セールス本部 ソリューションアーキテクト Ansible / CloudFormsエバンジェリスト 平田 千浩氏

IaCは、ソフトウェアにおける手法をインフラのシステム構築や運用に応用するための方法論だと説明した。これを実現することによって、インフラやシステムの構築、テスト、設定管理、メンテナンスにおいて、手順のコード化により自動化し、品質の向上や生産性を図ることができる。コード化は再実行、再利用、バージョン管理を容易にするメリットもあるという。

生産性と品質が向上した状態を一時的に実現するのではなく、その良好な状態を継続することがIaCの目的であり、ゴールではないと述べた。エンジニアは手作業の削減やヒューマンエラーの解消などにより、有意義な業務に集中できること。会社は属人化が解消され、次にビジネスの柱となるような事業に注力できることがゴールであると語った。

IaCの目的とゴール

IT業界において自動化の概念は以前から存在していて、トライしているにも関わらず完璧に自動化できていないのは、過去に失敗があったことが原因であると結論づけた。組織変更や人事異動で自動化スクリプトの保守が破綻したり、各々で使っているツールや手法が統一されていないため、ベストプラクティス化が困難になるなどの例を挙げた。

上記の課題を踏まえ、運用管理自動化を実現するポイントは3つ。手法や考え方を統一すること。誰でも利用でき、再利用しやすいこと。組織で利用するためのプロセス管理ができること。これらを押えた自動化が理想であると述べた。

運用管理自動化を実現するポイント

従来の自動化ツールは大きく分けて、構成管理ツールとアプリケーションデプロイツールに分類できる。構成管理ツールはサーバーの構築やパラメーターの入力、チェックを行う。抽象的に記述できるので、扱いやすいが柔軟性に欠ける。プログラム形式のアプリケーションデプロイツールはできることは多いが、肥大化すると煩雑になり、メンテナンスが困難になる。従来はこの2種類のツールを順序立てて一括で実行できる機能がなく、ユーザの利用目的に即していないことが課題だった。

ここで話は本セッションの肝であるAnsibleに移り、特徴が3つ紹介された。最初に紹介されたのは、特定のユースケースや製品に特化しない汎用性の高さだ。設定管理やオーケストレーション、インスタンスのプロビジョニングなどあらゆる状況に対応できる。さらに、管理対象はOSだけでなく、ストレージやクラウドなど多岐に及ぶ。今までは様々なツールを組み合わせていたが、Ansibleは全てを内包してる万能的なツールだとアピールした。

Ansibleがあらゆる状況、あらゆるものを対象にできるのは、エージェントレス型でオープンな規格を使って通信方式を変えられるからだという。従来の構成管理ツールは、マネージャとなる管理サーバーひとつで多数のノードを管理したいといった要望から、エージェント型が主流だった。対してエージェントレス型はエージェントツールが不要で、既存システムとの競合リスクが無いなどのメリットがある。

3つ目の特徴として、誰にとっても扱いやすく、理解しやすいことを挙げた。今まで手順書に書いていた一連の動作をAnsible Playbookに記述して自動化するのだが、データフォーマットはYAMLで、プログラミング言語を習得していなくても記述できる。また、シンプルかつ宣言的に書くことで、可読性や保守性の向上が期待できるという。

Ansibleの特徴

組織として自動化に取り組むとき、プロセスに応じた適切な権限付与と管理が必要である。さらに、いつ誰がPlaybookを実行したかなどのログも残しておきたい。これらは普通のAnsibleではなく、レッドハットが提供しているAnsible Towerで実現できる。Ansible Towerは、ダッシュボード、アクセスコントロール、ジョブスケジューリングなどを備えたエンタープライズ向けのツールだ。

依頼者のリクエストをもとに管理者がAnsible Playbookを使って自動化を実行するといった流れでは、リードタイムが発生したり、リクエストが増えた時にスタックしてしまう。これを打破するには、依頼者がセルフサービスであらかじめ設定された権限で、管理者を通さずにリクエストを実行できれば良い。適切な権限委譲で人的作業を解消し、即時に実行可能な自動化を実現することが組織にとって必要であると語った。

最後に、Ansibleによる自動化で効率化を実現している事例を紹介した。中には2週間以上かかっていたデプロイが10分になった例もあった。平田氏は、Ansibleなどのツールを使ってIaCを活用してほしいと参加者に呼びかけてセッションを締めくくった。

実践ガイド著者が語る!DockerとIaCの活用 ~ 2020年に向けた次世代ITインフラと働き方改革 ~

最後に登壇したのは、日本ヒューレット・パッカード株式会社の古賀 政純氏。DockerコンテナとIaCの活用について話した。まず、2020年のICTをめぐる世界の課題として、物・人・お金を挙げた。今回メインとなる「人」の課題は、開発期間を縮小したり働き方改革で解決するために、Dockerなどのコンテナ技術が活かされているという。

日本ヒューレット・パッカード株式会社 オープンソース・Linuxテクノロジーエバンジェリスト 古賀 政純氏

Dockerの基本的なアーキテクチャは、Dockerコンテナの基となるDocker Imageを入手し、コンテナの本番環境に持っていく。OSとアプリの構築作業を極力やらないのが狙いだ。仮想化基盤と比較して可搬性が高く、環境構築に要する時間を大幅に短縮できることを利点として挙げた。特に移植に関しては、スクリプトを書くまでもなく、たった1行のコマンドで完了するシンプルさもDockerの強みだと語った。

Docker導入による効果

Docker社の「紙の手順書をなくす」という発想がIaCに繋がる。必要最低限の手順をコード化して種を作り、この種がうまく動作するようにDockerfileを設計することが基本だ。Dockerfileは属人的スキルに依存せず、誰でも簡単に扱えることが望ましい。誰が作っても、いつでも、どこでも、ある一定の品質のものが動く冪等性が重要であると述べた。

続いて、大規模Docker基盤の課題を取り上げた。コンテナが増加すると、手動管理が煩雑になるのは想像に容易い。また、大量のコンテナにIT資源を無駄なく割り当てることも難しくなってくる。そこで、コンテナの管理や配置を自動化しなければならないが、Docker Engineでは実現できないため、データセンター全体を管理するミドルウェアが必要になる。本セッションでは、Mesosphere DC/OSが紹介された。

同氏は、利用効率向上の作業はソフトウェアで行わなければならないと強調した。例えば、処理が急激に増加した時などに自動的に増強するオートスケールの仕組みを作ったり、アプリの配備先決定と待機、実行まで人間を介在させないことで人件費を抑えながら攻めのITを実現する。

さらに掘り下げると、ハードウェアレベルからIaCに特化することが望ましいという。HPE SynergyはオープンソースのAIPから自動配備が可能で、ハードウェアレベルのIaCを目指して設計されたサーバーだ。これにより、直接的な決定権者を減らし、開発者がサーバーの配置や増設ができるようになっている。

DockerとHPE SynergyによるDevOpsの理想形

最後にセッションのまとめとして「まずはコンテナ化からはじめ、それをどのように自動化するか、さらに時間短縮だけではなくセキュリティなどにも目を向けてみると、IaCの本当の威力を感じられるのではないか」と語った。

エンジニア、ライター。アクセンチュア株式会社 ソリューション・エンジニア。

連載バックナンバー

業務アプリイベント

Money 20/20開催。Wells Fargoの謝罪から学ぶ重要課題は信用という話

2018/12/14
金融業界のカンファレンスMoney 20/20にて、自社のトラブルを引き合いに信用が大切ということを示す異例のキーノートが行われた。
業務アプリ

Money 20/20開催「カンバセーショナルAI」が研究から応用へ

2018/12/13
金融業界の最大のカンファレンスMoney 20/20が、ラスベガスで開催された。銀行の未来からクリプトカレンシー、サイバーセキュリティ、人工知能まで多彩なセッションが開催された。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています