概要
「インフラストラクチャの自動化」とも呼ばれる IT 自動化は、反復可能な命令とプロセスを作成するソフトウェアを使用することで、人間が IT システムを操作する必要を排除または削減するためのアプローチです。自動化ソフトウェアは、それらの命令、ツール、およびフレームワークの範囲内で機能してタスクを実行し、人間の介入をほとんどあるいはまったく必要としません。
自動化は、IT の最適化とデジタル・トランスフォーメーションの鍵となるものです。現在の動的な IT 環境は、極めて迅速に拡張できる必要があり、その実現のためには IT 自動化が不可欠です。
IT 自動化に含まれるもの
理論上は、あらゆる IT タスクをある程度自動化することができます。つまり自動化は、ネットワーク自動化から、インフラストラクチャやクラウドのプロビジョニング、標準運用環境 (SOE)、さらにはアプリケーションのデプロイメントと構成管理に至るまで、さまざまなものに統合して適用することができます。
さらに、自動化の機能とアプリケーションは、コンテナのようなテクノロジー、DevOps のような手法、クラウド、エッジコンピューティング、セキュリティ、テスト、監視/警告などの幅広い分野へと適用することができます。
自動化のメリットを、あらゆるものに。
包括的な IT 自動化の手法を取り入れることで、日々繰り返される手作業のプロセスに追われるスタッフの負担を取り除くことができる場合があります。すると、チームは生産性を高め、ミスを減らし、コラボレーションを改善することができるため、より深い思考を伴う、有意義な作業のために時間を割くことができます。
プロビジョニング
プロビジョニングは、ベアメタルにおいても、プライベート、ハイブリッド、パブリックの各クラウドにおいても、重労働であると言えます。ビジネスシステムを運用するには、インフラストラクチャが不可欠であり、インフラストラクチャのセットアップが必要です。従来は、データセンター内のラックやボックス、ケーブルを取り扱うものであった作業は、現在ではほとんどの場合において、仮想化されたアセット (ソフトウェア・デファインド・データセンター、ネットワーク、ストレージ、仮想マシンやコンテナなど) を取り扱う作業へと置き換わりました。
現在の作業は大半がソフトウェアで定義されています。そして、ソフトウェアへの移行により実現できることが増え、その規模も拡大しました。この流れによって、プロセスのコード化が可能となると同時に、不可欠となりました。プロセスのコード化は、コスト意識や時間的制約を意識しながらビジネス上のニーズを満たすための助けとなります。
ここで鍵となるのが自動化です。環境をセットアップするのに、手動でテンプレートを使用し、貴重な時間を費やす必要はありません。Infrastructure as Code によってコード化された作業には、作業を実行する際に従うテンプレートが存在します。そこで、そのルールに従う役割を、人間ではなく、自動化されたシステムに代行してもらいます。既存のインフラストラクチャや管理ツールと連携する自動化機能を使用してデータセンターへのデプロイを行うことで、今あるものを最大活用しながら、望む未来を実現しましょう。
構成管理
すべてのアプリケーションが同じように構築されているわけではありません。アプリケーションごとに、設定やファイルシステム、ポート、ユーザーなど、挙げればきりがないほど、ありとあらゆるものが異なります。プロビジョニングの自動化を行ったあとは、それらのリソースに実行すべきことを指示する必要があります。ドキュメントやスプレッドシート、テキストファイル、E メールなどに既存のアプリケーション環境の外観を残しておいても、アプリケーションをホストするための反復可能で堅牢な環境を実現するのには役立ちません。また、システムやインスタンスが増加し、複雑化していくにつれて、システムの効果的な管理を実現するためには、より優れた方法でシステムの状態を記録する必要があります。
これを実現するには、IT チームの全員が理解しやすい方法でインフラストラクチャ (ベアメタル、仮想化、クラウド、コンテナなど) を簡単に定義できる堅牢な構成管理ソリューションが必要です。システム管理のためのアドホックなスクリプトやプラクティスを自動化する作業が単純化されればされるほど、実際の作業が容易になります。
オーケストレーション
単一のマシンに単一のサービスが導入されているのみという状況は稀であり、大抵の IT 環境はそれよりも複雑です。複数のデータセンターおよびインフラストラクチャにわたって複数のアプリケーションを管理、保守する必要があるのです。もちろん、パブリック、プライベート、ハイブリッドクラウドの導入も含まれます。
IT システムが複雑になればなるほど、動作中の部分すべてを管理することも複雑になります。すると、自動化された複数のタスクとそれらの構成を、複数のシステムやマシンのグループ複数にわたって適用することの必要性が増します。つまり、「オーケストレーション」が重要となります。さらに、強力な自動化ソリューションを使用することで、これらのオーケストレーションを制御することもできます。そうすることで、すべてのオーケストレーションを追跡し、接続し、より高度かつ自律的なシステムを容易に実現することができます。
IT 移行
IT 移行とは、データやソフトウェアをあるシステムから別のシステムへと移行することです。IT 移行には、プロジェクトによって複数の移行 (データの移行、アプリケーションの移行、オペレーティングシステムの移行、クラウドの移行など) を伴うことがあります。
通常、IT 移行プロジェクトには各組織のニーズに固有の特殊な可動部分や要件が多く存在します。IT 移行において自動化は、プロジェクトの迅速かつ円滑な進行を支援し、反復的な手動プロセスから生じるエラーを削減します。
アプリケーションのデプロイ
従来型のアプローチでアプリケーションをデプロイする場合でも、継続的インテグレーションと継続的デプロイメント (CI/CD) のアプローチを使用する場合でも、開発パイプラインは、堅牢で自動化されたシステムを使用して、新たな期待に応えます。アプリケーションのデプロイを成功させるには、特にテスト段階において、タスクと機能の効率的な自動化が極めて重要となります。デプロイの自動化は、検証され、信頼され、コード化された方法によって、コミットからビルド、テスト、デプロイへと進むフローをサポートします。これにより、人為的ミスが発生する余地を減らし、効率とスループットを向上できます。
IT 自動化を行うと、すべての IT スタッフが理解できる共通かつ透明性の高いアプローチによって、確実にアプリケーションを導入し、必要なサービスを一から構成し、アプリケーションとその成果物を実行することができます。
セキュリティとコンプライアンス
セキュリティ、コンプライアンス、リスク管理のポリシーを定義し、適用し、問題を修正するために、インフラストラクチャ全体で自動化されたステップとしてポリシーを構築しましょう。セキュリティを IT プロセスの最前線に位置づけ、自動化の助けを借りて先回りした対応を実現します。
セキュリティプロセスとワークフローが標準化されると、コンプライアンスと監査にまつわる作業の労力を低減できます。すべてのポリシーの適用状況を把握し、その一貫性を検証することもできます。IT チーム全体で、新しいコンプライアンス要件を一貫的に実装することができます。
Automation as Code アプローチで IT を加速
Infrastructure as Code (IaC) という戦略的基盤の次の段階として、組織はその手法を運用ライフサイクルのあらゆる段階で IT プロセスを自動化するために使用し始めています。IaC はインフラストラクチャの構築、プロビジョニング、デプロイを標準化しますが、IT チームは Ops as Code (OaC) および Policy as Code (PaC) を導入することで、それと同様にデプロイ後のシステムの管理、保守およびガバナンスをコード化することができます。
IT 自動化 = ビジネス自動化?
そうではありません。ビジネス自動化は変わりつつあります。従来は、ビジネスプロセス (記録保持など) を自動化して、監視をより迅速かつ容易にすることに重点が置かれました。現代のビジネスは、大規模な破壊的デジタル革新に対応する必要があります。デジタル・トランスフォーメーションに役立つ自動化戦略を採用する必要があるのです。
たとえば、従来は保険会社の記録保持を自動化するだけで十分でした。しかし現在のビジネス自動化は、保険商品を販売するための新しい機会を開拓することを目的としています。これを実現するためには、ビジネスリーダーと IT リーダーが連携し、アプリケーション開発の先進的なアプローチをビジネスプロセスとすり合わせ、これらのモデルを体系化することで保守と配信を容易にします。
Ansible とは
IT 自動化には、個別の用途やユースケースが数多く存在します。ユースケースを組み合わせることによって、IT 自動化のメリットを最大限活用することができます。また、すべてのユースケースを組み合わせて 1 つのシステムに統合すれば、より一層優れたソリューションとなります。これが Red Hat® Ansible® Automation Platform の役割です。
Red Hat Ansible Automation Platform は、プロビジョニング、構成、管理、導入を自動化するための Red Hat 製ソフトウェアです。Ansible は、自動化にPlaybook (Ansible の指示と言語) を使用してこれらのアクティビティを実行します。
Playbook には、適用するポリシーの詳細や、一般的な IT プロセスにおいて実行すべきステップを記述できます。このソフトウェアの管理を担当する Ansible Inc. は、2015 年に Red Hat が買収しました。
Red Hat Ansible Automation Platform には 2 つのオープンソース・プロジェクトがあります。
Ansible
これは、すべての Ansible 製品を支える「頭脳」に当たる製品です。オープンソース・コミュニティ・プロジェクトの Ansible と同じ名前であり、基本的には同じものです。ただし Red Hat の公式サービスであるため、サポート、修復、詳細な資料など、さまざまなメリットが得られます。
AWX
AWX は、Ansible 用の使いやすいユーザー・インタフェース (UI) とダッシュボードを提供します。これによりユーザーは、複数のノードで発生しているイベントを確認したり、自動化を一元化したり、ロールベースのアクセスを許可したり、ジョブのスケジューリングを行ったりすることができます。また、Playbook の実行に関する情報をリアルタイムに提供し、クラウドのデプロイメントをネイティブにサポートします。
IT 自動化の未来
未来を知ることはもちろん不可能ですが、一体となって自動化に取り組むうちに見えてくるものがあります。たとえば、今後のシステムには、より高度な自律性と、その結果として高度化されたインテリジェンスが組み込まれていくことでしょう。そして、このようなインテリジェンスは、IT ソフトウェアスタックのより多くの部分を網羅するようになります。たとえば、ベアメタルからミドルウェア、アプリケーション、セキュリティ、更新、通知、フェイルオーバー、予測分析に至るまで自動化され、直接的な監視なしに意思決定を行うこともできるでしょう。
つまり、IT スタッフが寝ている間にも、セキュリティリスクが自動的に検出され、報告され、パッチが適用され、テストされ、デプロイされるのです。システムは自己修復し、関連情報を収集して攻撃元を特定し、適切な担当者に通知することができるでしょう。また、これらすべてをダウンタイムの発生なしに行うことができます。
これらの機能は、Red Hat Ansible Automation Platform で利用できるようになりました。