既存システムとクラウドネイティブを別々に自動化していませんか「守りの自動化」と「攻めの自動化」を融合

2020年9月14〜18日に開催された「ITmedia DX Summit Vol.5」のDay1「運用自動化・自律化・リモート」のセッションにNEC サービス&プラットフォームSI事業部 プロジェクトマネージャー 吉田功一氏が登壇。「システム構築・運用の自動化を効率化の手段から攻めの武器に繋げる方法」と題して、オンプレミスとクラウドという2つの領域で進められてきた自動化の取り組みを一つに融合、クラウドネイティブへの対応を加速させる手法を紹介した。

» 2020年10月12日 10時00分 公開
[PR/@IT]
PR

クラウドネイティブが進まない理由は「現行システムの運用負荷の高さ」

 デジタルトランスフォーメーション(DX)を推進していく上で重要なカギとなる技術がクラウドネイティブだ。クラウドネイティブは、コンテナやサービスメッシュ、イミュータブルインフラストラクチャ、宣言的APIなどさまざまな技術を活用しながら、モダンでダイナミックなIT活用を可能にする。

 従来型のITインフラがモノリシックで保守しにくいアプリケーションであるのとは異なり、クラウドネイティブアプリケーションはスケーラブルであることから、激しい環境変化にも柔軟、俊敏に対応できる。

NECの吉田功一氏

 もっとも既存システムを運用しながら、クラウドネイティブアプリケーションを開発することは簡単ではない。現状の多大な運用負荷が課題になる。既存システムでは、手動で環境を構築し、運用も手動に頼っているからだ。こうした現状についてNECの吉田功一氏(サービス&プラットフォームSI事業部 プロジェクトマネージャー)はこう説明する。

 「多くのエンジニアが運用現場に張り付かざるを得ず、エンジニア不足に拍車を掛けています。その結果、クラウドネイティブなシステムを提供できるエンジニアの不足につながっています。この問題を解決するためには、構築、運用を自動化、省力化し、張り付いているITエンジニアを解放することです。その上で、システムのクラウドネイティブ化を実現するエンジニアを確保します」(吉田氏)

 このアプローチを実践するためには、これまで別々に議論されてきた2つの領域の取り組みを融合させることがポイントになる、と吉田氏は指摘する。すなわち「守りの自動化」と「攻めの自動化」の融合だ。

ポイントは「守りの自動化」と「攻めの自動化」を融合させること

 吉田氏によると守りの自動化とは、モノリシックな現行システムに自動構築と自律運用を適用する取り組みだ。守りの自動化では、維持費(OPEX)の効率化を目的とすることが多い。

守りの自動化と攻めの自動化の目的(出典:NEC)

 一方、攻めの自動化とは、クラウドネイティブアプリケーションをスピーディーに構築、運用する取り組みだ。ブルーグリーンデプロイメント(イミュータブルインフラストラクチャ)などの手法を使って環境を再構築するなど、自動構築と自律運用が当然の前提となる。攻めの自動化の目的は、投資対効果(ROI)の引き上げにある。

 「これら2つの領域は別々に議論され、それぞれ異なる技術を使って自動化を進める傾向がありました。しかし、実際には、モノリシックとクラウドネイティブがハイブリッドな形で構築、運用されています。モノリシックなシステムの自動化とクラウドネイティブなシステムの自動化を、並行して推進することが重要です」(吉田氏)

 では、それぞれの領域について具体的にどのように取り組みを進めればよいのか。吉田氏はまず、守りの自動化で何が課題になっているのかを整理しながら、そのための道筋を解説した。守りの自動化を推進する上で最も大きな課題となっているのは、分散した情報を正確に伝えるために多くの時間を費やしていることだ。

 「システムに関する情報がばらばらで、デジタル化されていないものも数多く残っています。そこで、システム情報をデジタル化して、一元管理することが重要になってきます。作業手順や実際に作業する際の順序のデジタル化、各種パラメーターを管理する構成管理データベース(CMDB)の整備などです」(吉田氏)

あらゆる作業を例外なく自動化する

 一方、攻めの自動化については、クラウドネイティブのテクニックをより深く活用することがポイントとなる。攻めの自動化では「単位時間当たりの提供機能数(価値)向上」と「高速でスケーラブルな機能提供(リリース)」を実行する技術として、CI/CD(継続的インテグレーション/継続的デリバリー)やマイクロサービス、サービスメッシュ、ブルーグリーンデプロイメント、宣言的APIなどを利用できる。

 「中でも自動化と密接な関係があり、攻めの自動化に不可欠な要素が、ブルーグリーンデプロイメントと宣言的APIです。ブルーグリーンデプロイメントでは、部分的に新規構築を繰り返します。もし手作業で実施したとすれば作業量が爆発してしまいます。そこで新規構築が可能な部分を宣言的APIであるべき姿として定義します。加えて、ブルーグリーンデプロイメントでは、永続データなどを移行する作業が必要です。この移行作業については従来の手続き的なコードで自動化する必要があります」(吉田氏)

 すなわち、コンテナなどのクラウドリソースの新規構築には、「Kubernetes Manifest」などの宣言型IaC(Infrastructure as Code、インフラ運用のコード化)を、データなどのクラウドリソース以外の移行作業には「Ansible Playbook」などの命令型IaCをそれぞれ使って自動化を推進することになる。

宣言型IaCと命令型IaCの使いどころ(出典:NEC)

 「攻めの自動化では、短いインターバルで何度も新規構築を繰り返します。そのため、あらゆる作業を例外なく自動化し、作業量に糸目をつけないことが重要です。なお、宣言型IaCだけでは全ての作業を自動化できません。クラウドネイティブでも命令型IaCが必要になることを覚えておいてください」(吉田氏)

NECが提供するOSSツール「Exastro IT Automation」

 攻めの自動化と守りの自動化を推進する上で役立つのが、NECが公開しているOSS(オープンソースソフトウェア)「Exastro IT Automation」だ。Exastro IT Automationは、システム情報をデジタル管理するためのフレームワークであり、設計や開発、設定、運用といったシステムライフサイクルのデジタル化や自動化、省力化を推進できる。

Exastro IT Automationの概要(出典:NEC)

 「守りの自動化で必要になる作業手順や作業順序のデジタル化、CMDBの整備などをExastro IT Automationで実現できます。設計情報の管理を一元化でき、情報の伝達など時間のかかっていた作業を削減できます。一方で、攻めの自動化では環境構築や移行作業のためのIaCをモジュールとして管理できるようにして、AnsibleやTerraformといった自動化ソフトウェアと連携することで、作業の自動化を推進します。このように設計フェーズから作業フェーズまで一貫した自動化が可能になるのです」(吉田氏)

 Exastro IT Automationの特徴は7つある。

  • マルチインタフェースとRBAC(ロールベースアクセス制御)
  • パラメーターをグルーピング/履歴管理する
  • IaCを解析して変数を刈り取る
  • IaCをモジュール管理して再利用性を高める
  • 複数の自動化ソフトウェアをつなげて実行する
  • 自動化を止めない切り札「Pioneerモード」
  • 実行状況をリアルタイムで監視する

 これらの特徴については、ソースコードが公開されているGitHubで確認できる。セミナーでは特徴のうち「IaCをモジュール管理して再利用性を高める」と「複数の自動化ソフトウェアをつなげて実行する」について詳しく解説した。

AWS環境の払い出しに適用し、ガバナンスを確保した事例も

 「IaCをモジュール管理して再利用性を高める」というのは、IaCを「一発モノ」で終わらせず、再利用し続けられるように、モジュール化して作業時に組み立てる仕組みのことだ。例えば、「監視エージェントのインストール」「HTTPサーバのインストール」「クラスタ製品のインストール」「DBMSのインストール」という作業をそれぞれモジュールとして作成する。

 その上で「Webサーバ構築」の場合には「監視エージェントのインストール」と「HTTPサーバのインストール」というモジュールを組み合わせて手順を作成する。「DBサーバ構築」の場合は「監視エージェントのインストール」と「クラスタ製品のインストール」「DBMSのインストール」というモジュールを組み合わせて、手順を作成するといった具合だ。

 「複数の自動化ソフトウェアをつなげて実行する」は、文字通り複数の自動化ソフトウェアをつなげて一本の作業フローを定義したり、自動化ソフトウェアの動作に必要な投入データを自動生成したりする仕組みのことだ。例えば、Ansibleの場合、必要なPlaybookを集めてつなげ、ノードごとにパラメーターからファイル(host_vars)を作成できる。

 Exastro IT Automationの適用事例は幅広い。大規模システムの運用監視設定の作業を自動化した事例や、大規模イベント向けに3万台の機器を自動キッティングした事例、システム構成管理を活用して機器停止のサービス影響を予測した事例などがある。Amazon Web Services(AWS)などのクラウド環境でも利用できるため、「AWS CloudFormationテンプレート」を使って、部門ごとにガバナンスを適用させたAWS環境の払い出しの仕組みを構築した事例や、オートスケールが設定された稼働中のAmazon Elastic Compute Cloud(Amazon EC2)に緊急パッチを適用するといった事例を紹介した。

 吉田氏は「Exastro IT Automationを利用することで、モノリシック/クラウドネイティブを別々ではなく、システム全体で情報の一元管理が可能になります」と強調、攻めの自動化と守りの自動化によって、DXの取り組みを支援していくと訴えた。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:NEC
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2020年11月11日

関連リンク

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。