ITインフラ管理の自動化を成功に導くAnsibleの実力と可能性を探る【後編】
ITインフラ管理の世界で今、「自動化2.0」というキーワードが注目を集めている。クラウドサービスの拡がりは、アプリケーション開発だけでなく、その足腰を支えるインフラにも効率とスピードを強く求めている。そうした変化を背景に、絶大な人気を集めているのが、OSSのIT自動化ツールである「Ansible」だ。
後編の今回は、レッドハットが提唱する「自動化 2.0」のより詳細な内容について聞いていく。
※前編の内容については、コチラを参照。
現場の作業を効率化する「1.0」と
さらに広範囲な「2.0」
レッドハットではインフラ管理の自動化を2つのフェーズに分け、従来の自動化の取り組みを「自動化 1.0」、そして今後目指していくべき「攻めのインフラ管理」の実現を「自動化 2.0」と呼んでいる。Ansibleは、この自動化 1.0/2.0を実現する上で、いずれも重要な役割を果たすツールとして位置付けられている。
まず自動化 1.0では、個人の作業の効率化を主眼とする。これまで人手で行っていたインフラ管理の作業を、どうやってプログラムに置き換えるかが具体的な課題だ。なお、この自動化 1.0の実践にあたっては、ひとつ大きな危険をはらんでいる。それは前編でも述べた「自動化のサイロ化」だ。サイロ化された自動化は局所的には効果を発揮しているように見えるが、属人化を招き結果として全体最適を阻害する。
「Ansible はまずこの自動化 1.0のサイロ化の課題を解決します。まず、従来はサーバー担当者やネットワーク担当者が独自にバラバラのツールで自動化を作り込んでいましたが、Ansibleでは全員がPlaybookという共通の言語で自動化を作ります。これで自動化の作り方が標準化されます。そして、従来は作った自動化をどう実行するかも対象やツールごとにバラバラの方式でしたが、Ansibleではさらに自動化の実行方法も標準化されます。これで現場で自動化を使うエンジニアが実行時に迷うことなく、安全に自動化を実行できるようになります。この作り方と実行方法の2段階の標準化でAnsibleはサイロ化の問題を解決してくれます。」と中島氏は明かす。
次のフェーズである「自動化 2.0」は、自動化 1.0で標準化された自動化の効果を、組織内で最大化するためのアプローチとなる。キーワードとなるのは「自動化のサービス化」だ。自動化 1.0では、Infrastructure as Codeと呼ばれるように、インフラ管理の現場で発生する実作業を自動化=コード化して、作業を効率化するのが主なテーマだった。自動化 2.0ではこれをさらに進めて、実作業の前の社内調整なども含めた、組織全般にわたるタスクまでを自動化する取り組みが含まれるのが大きな違いである。
ここで挙げたAnsibleの効果について、更に掘り下げていこう。
Ansibleで作業の自動化を
標準化&共有する「自動化 1.0」
自動化を成功させる最大のポイントは、自動化を「標準化」することだ。手始めに、自動化 1.0の悩みの種だったサイロ化を、Ansibleによって解消する具体的な手順を見ていこう。
Ansibleを使った標準化のカギが、「Playbook」と呼ばれるシンプルかつパワフルな言語だ。AnsibleではPlaybookを使ってYAML形式のテキストファイルに手順を列挙するだけで、サーバーやネットワーク、ストレージなどの操作対象をオペレーションできるからだ。まさに「一つのものをみんなで作る=標準化のためのプログラム」にはうってつけの言語なのである。
さらに重要なのは、Ansibleによる自動化は「チームで使える」点だと中島氏は指摘する。従来の自動化は標準化を考えていなかったために、サイロ化、属人化してしまい、部署全体や社内に共有されることがほとんどなかった。だが、Ansibleを使えばサーバーやネットワークなど対象にとらわれることなく、全員が共通の言語とアプローチで同じものを作り、共有できるようになるのだ。
「その結果、何を実現できるかというと、1回作られた自動化がいろいろな場所に使い回されて、最終的にプログラム自体の数はそれほど増やさずに、自動化の対象ノードを飛躍的に増やしていけるようになります。同じソースコードをどんどん横展開していき、自動化に対する投資効果が最大化される状況をAnsibleで作り出すことができるのです」。
言語が共通なので、他の人が作っているものを自分たちでも使えるかどうか判断しやすいし、使えるとなればきわめて容易に導入できる。こうした点がAnsibleによる自動化 2.0がもたらす最大のメリットだと中島氏は強調する。
劇的に作業を自動化&効率化する
「自動化 2.0」とは?
自動化 2.0では、現場作業にとどまらない、より広い範囲のインフラ管理に関連したタスクがその対象となる。「実はインフラ管理の作業は、実際にプログラムを作ったり実行したりするのは全体の10~40%に過ぎず、残りの60~90%は事前の打ち合わせや調整作業で占められています。つまり、自動化 1.0をいくら頑張っても、最大で全体の4割しか効率化できない。残りの6~9割を根本的に変えない限り、飛躍的な自動化=効率アップは不可能なのです」と中島氏は、自動化 2.0へのステップアップの必要性を語る。
では、自動化 2.0の実際例を見てみよう。あるWebアプリケーションのリリース作業だ。この作業の実行には、サーバー、アプリケーション、ネットワークの3つの担当チームが協業しなくてはならない。現場の作業では、リリース直前にネットワークチームがロードバランサーの閉塞を実行、作業終了後に再び解放する必要がある。
この「ロードバランサーの閉塞・解放」を、Ansible によってプログラム化する。しかもここで「Ansible Tower」を使うことによって、一連の実行プロセスを誰もが操作できる「ボタン化」できるようになるのが最大のポイントだと中島氏は言う。
「その都度ソースコードをロードして走らせて……ではなく、実行権限まで含めたサービスとしてパッケージして、誰もが押すだけで作業が完了できる『ボタン』を作ってしまうのです。そうなるとネットワークチームは、リリース作業関連の一切の打ち合わせや実行に参加する必要がなくなる。これは画期的な効率化であり、省力化です」。
その結果、これまでは作業前に3チーム間の調整が必要だったものが、2チーム間の調整で済み、調整量は単純計算で3分の1に削減される。最近はシステムの高機能化に比例して担当領域の分業化が進み、チーム間の調整がますます煩雑になってきている。本当の意味でインフラ管理作業を効率化するには、前段階の調整作業を含めてトータルに効率化できる自動化 2.0の視点が不可欠だと中島氏は語る。
レッドハットでは、個々の作業を「ボタン化」していくだけではなく、最終的にこういった小さな機能ボタンを連結して、大きな機能=人がほとんど介在しない大規模に自動化されたサービスを目指していく取り組みが必要であり、それが真の自動化 2.0の実現につながると考えている。
まずは自分の手で「小さな自動化」に
チャレンジする第一歩を!
ここまでの話で、Ansibleを活用した自動化への取り組みに関心を持った方も多いだろう。中島氏に、これから自動化 1.0/2.0にチャレンジするためのヒントを伺ってみたい。
「日本の技術者は非常に優秀なので、方法や目的を設定すれば、それを高いレベルで実現できる方も少なくありません。しかし技術的に優れているというのは、しばしば機能の自動化そのものが目標になりがちな側面もあります。それだと1.0までは行けるけれど、2.0は難しい。目線を一段上げて、社内の調整作業などプロジェクトに潜む見えない部分を変革してこそ、本当の自動化ができるということに気づいていただきたいですね」。
そのためにも、技術者自身がテクノロジーとビジネスの両方に目配りできる複眼的思考を持つことで、いろいろな課題や可能性が見えてくると中島氏は示唆する。
レッドハットでは、自動化 1.0に取り組もうと考えている技術者には、まずAnsibleを使ってみてその効果を実感してもらうことを推奨している。その方法として、Ansibleユーザーが情報交換をするAnsibleユーザー会でのもくもく会や、Katacodaにはウェブ上で気軽に演習ができる環境が無償で準備されている。これから試すという方はまずこちらから初めてはいかがだろうか。
また、今回の前編・後編に渡って紹介してきた自動化 2.0に取り組もうと考えている技術者を対象に、Ansible Towerの評価版を提供している。Ansible TowerはAnsibleの標準機能に加え、ダッシュボードやノードベースのアクセスコントロール(権限管理)、ジョブスケジューリングといったIT インフラの集中管理を行うために必要な機能を備えたツールだ。こちらはレッドハットへ直接問い合わせていただきたい。
「Ansibleの使いやすさやパワフルさは、自分で使ってみないとなかなか実感できません。どんなに小さい規模でも良いので、まずは評価版を使って自動化を試してみてください。そこで感じた可能性を、自社のチームに対する提案や支援に反映していく試みを続けるうちに、自社なりのインフラ管理の自動化が見えてくるはずです」。
マーケティング担当の中村氏も、「もし取り組みを進めていく上での疑問や不安があれば、レッドハットではさまざまなニーズに対応した支援サービスを用意しています。ぜひお気軽にご連絡ください」と呼びかける。インフラ管理の手間とコストにお悩みの方は、ぜひこの機会に「小さく始めて、大きく育てる自動化 2.0」にチャレンジしてみてはいかがだろう。
自動化のヒントが盛りだくさん!「Ansible Automates Tokyo 2019」を開催
働き方改革という言葉が提唱されてからはや数年。ITインフラの業務においてもあらゆる切り口でいままでも自動化に取り組んできたユーザが多数です。そのような中で、インフラの自動化やInfrastructure as Codeの実践において、Ansibleがデファクトスタンダードとして個々人の利用が加速度的に増えています。では、組織として取り組む自動化はどうでしょうか?おそらく多くのユーザーが自動化の取り組みにおいて、未だ個人での取り組みの枠を超えられていないのではないでしょうか。
Ansible Automatesは、個人の枠を超えて、組織で実践する自動化にフォーカスしたイベントです。今回のAnsible Automates Tokyoでは、組織で取り組むための自動化の概念である、「自動化 2.0」のご紹介から、お客様事例やパートナー様セッションまで参加者の方々が明日からはじめられる自動化へのヒントを提供いたします。
Ansibleではじめるチーム改革。
皆様のご参加をお待ちしております。
※同日同会場でデジタルトランスフォーメーションを支えるRHEL8及びコンテナプラットフォームOpenShiftのイベント「Red Hat DX & Open Hybrid Cloud Day Tokyo 2019」を開催中。両イベントへのご登録も可能です。ご興味のある同僚のみなさまにもぜひご紹介下さい。
- 日時:2019年6月20日(木) 12:30 受付〜 13:00セミナー開始
- 会場:ベルサール汐留
- 主催:レッドハット株式会社
- 定員:300 名
- 対象(対象の方を優先したご登録となります。予めご了承下さい)
- ユーザー企業情報システム部門
- 部門の現場リーダー・ご担当者様
- Ansibleを既に利用しており組織での自動化に取り組もうとしているお客様
(個人として利用しているがチームとしての利用を検討している/したい)
- 参加費:無料
- お問い合わせ:レッドハット株式会社 マーケティング本部セミナー運営事務局(event-jp@redhat.com)
- 登録サイト:https://red.ht/automates2019
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- ITインフラ管理の自動化を成功に導くAnsibleの実力と可能性を探る【前編】
- Ansible Towerによる権限の管理
- 構成管理ツールのAnsibleが目指す「Infrastructure as YAML」とは?
- Ansibleの機能を拡張するAnsible Tower
- Red HatのAnsibleのAPACリーダーにインタビュー。オートメーションのAI化とは?
- 構成管理ツールとしてAnsibleを選ぶべき理由
- Ansible Towerのクラウド連携機能による効率化を目指す
- 構成管理と自動化のツールAnsibleの最新バージョンと将来の姿
- Ansibleにおいてテストを行う理由
- SIの労働生産性を高めるIaCとは?ITエンジニアのためのコミュニティ「IaC活用研究会」キックオフイベントレポート