Infrastructure as Code
Infrastructure as Codeとは
IaCにより、データセンターの物理ハードウェアから仮想化、コンテナ、クラウドコンピューティングにインフラストラクチャ管理を移行できます。IaCでは、ネットワーク、仮想マシン、ロードバランサー、接続トポロジが高水準言語を使用してコード化されることにより、アプリケーション開発で使用される環境が標準化されます。いったんコード化されると、DevOpsでは需要の変動に応じて、インフラストラクチャのスピンアップ、テアダウン、スケーリングができます。このアジリティによりソフトウェア開発、テスト、展開が短期間で簡単に行えます。
インフラストラクチャ仕様を含む構成ファイルが作成されるため、毎回同じ環境を一貫してプロビジョニングすることを保証しながら、構成を編集し配布することが簡単になります。IaCを利用すると、プログラマはサンドボックス環境を作成できます。つまり稼働環境から分離した状態で各アプリケーションを構築できます。QAプロフェッショナルは同じインフラストラクチャのコピーを入手して、アプリケーションが正常に動作することを確認するためのテストを実行します。最終段階では、インフラストラクチャとコードの別のコピーを展開用に本番稼働させます。
変更可能 (mutable) IaCと変更不能 (immutable) IaCの比較
簡単に言うと、変更可能インフラストラクチャは簡単に変更できる一方で、変更不能インフラストラクチャは変更できません。
IaCがITベストプラクティスの新標準になっているため、インフラストラクチャは従来の運用モードから変更不能なものに移行しています。これが、IT部門がDevOpsプロセスに組み込まれたバージョン化と自動テストを利用して、継続的デリバリに向けて奮闘している理由です。ここでの目標は、ITがパッケージとその依存要素を整合性を維持して展開し、毎回同一の環境にすることです。
変更可能IaC
変更可能IaCは、ビジネスニーズの進化に継続して合わせるため常に更新する必要があります。ITプロフェッショナルは、各サーバーと各スイッチに個別に対応する必要がありますが、これには問題を特定して解決策を生み出すための長時間作業が伴います。
変更不能IaC
変更不能IaCは簡素化した将来像を表しています。各コンポーネントは変動なしでまったく同じ仕様に従う必要があります。変更が必要になると、インフラストラクチャは新しい要件に従ってプロビジョニングされ、古いIaCが置き換えられます。ベースとなるインフラストラクチャの整合性が維持されるため、アプリケーションの作成と展開が短縮され、安定性が確保されます。
Infrastructure as Code (IaC) のメリット
自動化プロセスにより、IaCでは各企業がITインフラストラクチャのニーズを複数の方法で管理できます。次にIaC展開でのメリットを示します。
- 整合性: IaCにより整合性を高め、手動で構成する場合によく起こるエラーを削減できます。また手動プロセスで起きる可能性がある構成のブレもありません。構成仕様をコード化しドキュメント化することにより、IaCではドキュメントのない、その場しのぎの構成の変更を回避できます。
- 費用削減: IaCにより仮想マシンをプログラムで管理することが可能になり、ハードウェアの構成や更新を手動で行う必要がなくなります。1人のオペレーターが同じコードセットを使用して、1台のマシンでも1,000台のマシンでも同じように展開して管理することが可能になります。つまり必要な人員が減り、新規ハードウェアの購入も不要になり、費用が大幅に減ります。
- 効率性: インフラストラクチャをコード化すると、プロビジョニング用テンプレートが得られ、システム構成、メンテナンス、管理が簡素化されます。再現可能でスケーラブルな弾力的インフラストラクチャが作成されます。つまり、DevOpsでソフトウェア開発の各段階を短縮でき、リリースされるアプリケーションを日単位で増やせることにつながります。
- 速度: IaCではインフラストラクチャを利用できるようにするため、デベロッパーにとって時間のかかるプロビジョニング作業をシンプルなスクリプト実行に変換します。結果として、アプリケーション配備ではインフラストラクチャを待機する必要がなくなり、新規ソフトウェアをすばやくリリースできます。
- リスク削減: IaCではバージョン管理もサポートし、構成ファイルは他のソフトウェアソースコードファイルと同様にソースコントロールできます。このようにして、リスクを軽減します。
IaCの宣言的 (declarative) アプローチと最小限 (imperative) アプローチとは
Infrastructure as Codeのアプローチには2種類あります。多くのIaCツールでは両方のアプローチを利用できますが、どちらを使用するのかは実際のタスクで決まります。たとえば、一度に大量のコードを書くのか、高度なインフラストラクチャを構築するのかといった条件によります。
宣言的アプローチ
機能的アプローチでもある宣言的アプローチでは、システムの必要な状態を定義します。このとき、その状態を達成する方法は定義しません。このアプローチでは、必要なプロパティとともに、希望するリソースの種類を定義します。IaCソフトウェアは必要なインフラストラクチャを自動でプロビジョニングし、変更があるたびに、宣言的IaCツールが自動的に変更を適用します。宣言的IaCでは、人間が介入しないで、同じ結果を何回も実行できます。
最小限アプローチ
比較すると、最小限アプローチでは、インフラストラクチャが構成される状態だけではなく、その状態を達成するための正確な方法も定義します。手順的アプローチとしても知られる、最小限アプローチでは特定の構成を実現するために必要なコマンドを定義します。これらのコマンドは、適切な順序で、一度に1ステップを実行する必要があります。明示的な指示を使用し、更新が考慮されていない、柔軟性に欠けるアプローチです。変更が必要な場合、最小限IaCツールでは、オペレーターが変更を適用する方法を解読する必要があります。
Infrastructure as Codeの使用方法
多くの組織では、整合性のあるプロビジョニングとオーケストレーションでアプリケーションパフォーマンスを高めることを目指しています。
たとえば、公共電力会社、通信、樹木管理顧客向けグローバル設備およびサービスプロバイダーは、単一制御ポイントのシステムで、革新的なサービスおよびリソースを迅速に展開することを考えていました。同社は、単一のソフトウェア デファインド データセンター制御ポイントがある動的インフラストラクチャソリューションを見つけました。これによりビジネスモデルが変革されました。展開後、組織はすばやくビジネスチャンスに対応できるようになります。
ヘルスケア分野では、オランダ最大級のサービスプロバイダーが、ビジネスを柔軟かつアジャイルで顧客に個別対応できるように変革しました。ソフトウェア デファインドアーキテクチャーでは、infrastructure as codeを管理し、社内ITチームに対する要求を削減できます。ITで効率を最大化することにより、ライセンスコストとサーバーの台数を削減しました。これにより、資金を新たなサービスに割り当てることができます。新しい効率化によりパフォーマンスの向上が200%まで進みました。
ある中央政府は、コンポーザブルインフラストラクチャを200の政府機関におけるデータ共有に使用しました。これらの機関は、土地記録の管理、健康福祉サービスの監督、インフラストラクチャの保守、教育機会の拡充、など市民サービスを担当していました。この機能強化され一元管理されたインフラストラクチャにより、各機関では、新しいアプリケーションおよびサービスの開発をかつてないほどの効率で合理化しました。
世界でトップレベルのタイヤメーカーは、世界各地にある20の製造工場でインフラストラクチャの管理と開発を簡素化し統合することを目指しました。同社は、信頼性に優れたITインフラストラクチャの運用と、管理に必要な時間と費用の削減を実現する、ソフトウェア デファインドコンポーザブルインフラストラクチャを実装しました。可変的リソースプールを備えた単一のインフラストラクチャは、以前のITシステムより簡単に、すばやく効率化できます。設備投資を削減し、パフォーマンスを82%高め、製造業向けサービスの展開を加速しました。
HPE Infrastructure as Code (IaC) のソリューション
強力なテクノロジーにおけるイノベーターとして、HPEは複雑なプロセスを簡単にする方法を理解しています。このことはIaCソリューションにも当てはまり、HPEは、お客様がインフラストラクチャを自動管理し、アプリケーション開発で期間を短縮して高度な自動化を達成できるよう支援します。
コンポーザブルインフラストラクチャでは、再現可能なテンプレートを使用することでプロビジョニングを簡素化でき、アプリケーション開発、テスト、リリースでの信頼性と整合性を保証します。コンポーザブルインフラストラクチャでは、コンピュートリソース、ストレージリソース、ネットワーキングリソースがソフトウェアプラットフォームで抽象化され、管理されます。このようなインフラストラクチャにより、価値の創造と、さらなるビジネスの成長を加速できます。
HPE Synergyは、コンポーザビリティのために設計された初めてのプラットフォームです。このコンポーザブルインフラストラクチャプラットフォームを使用すると、従来およびクラウドネイティブのどのアプリケーションも実行できます。これによりデータセンターで柔軟性と効率性が得られ、あらゆるアプリケーションの物理および仮想コンピュート、ストレージ、ファブリックプールに対してすばやく構成できます。必要に応じたリソース割り当てを実行でき、インフラストラクチャのオーバープロビジョニングを回避し、プロビジョニングやメンテナンスにかかる時間を削減します。HPEのプラットフォームで、インフラストラクチャはHPE OneView管理プラットフォームと完全に統合され、展開が簡単で高速になります。
HPE OneViewでは、効率的なワークフロー自動化機能、先進的なダッシュボード、および包括的なパートナーエコシステムを利用してITインフラストラクチャを管理できます。テンプレートベースのアプローチで、コンピュート、ストレージ、ネットワークインフラストラクチャの展開、プロビジョニング、更新、統合を行います。このITインフラストラクチャの自動化ソリューションにより、ITオペレーションの簡素化、スタッフの生産性向上、新規テクノロジーとアプリケーションのデリバリの高速化、ダウンタイム、規制リスクおよび費用の削減を実現します。