DevOps のアプローチがネットワーク運用に浸透するにつれ、新しい用語も登場します。 これらの口語表現は、これまで遭遇したことのない NetOps にとっては混乱を招く可能性があり、その方法論を採用するようプレッシャーをかけられている IT 幹部を困惑させる可能性があります。
その中には、コードとしてのインフラストラクチャの概念があります。 開発者の世界では、インフラストラクチャとは主に、アプリがデプロイされ、拡張されるプラットフォーム、サーバー、およびコンテナ システムを指します。 インフラストラクチャは主にコンピューティングです。
壁の向こう側には、コンピューティングに加えて、ストレージ、セキュリティ、ネットワークにまたがる、より広範で堅牢なインフラストラクチャ セットが存在します。 結局のところ、4 つのオペレーションがあり、継続的な展開を実現し、IT リーダーとビジネス リーダーがデジタル変革に求めているような最適化を実現するには、すべてが同期して動作している必要があります。 つまり、コードとしてのインフラストラクチャには、開発時よりも運用時のシステム、デバイス、サービスがはるかに広範囲に及ぶことになります。 通常、アプリの展開は、4 つのオペレーションのそれぞれのインフラストラクチャが何らかの形で影響を受けることを意味します。 これにより、運用環境でのインフラストラクチャ・アズ・コードが少し複雑になりますが、効率と速度にも大きな影響が及びます。
なぜなら、自動化により、特に手動プロセスが休暇や病欠、昼休みと重なる場合に、展開の非効率性の原因となることが多い引き継ぎ間の待機時間を排除できるからです。
Infrastructure as Code は直喩です。つまり、実際には (少なくとも現時点では) ネットワークやアプリケーション サービス システムを、構築してデプロイするコードに変換したくないということです。 これはほとんどの企業組織にとって大問題であり、企業ネットワークの安定性と信頼性を損なうことになります。 しかし、私たちは、構成とプロファイルを、それらが実行されているシステムから切り離すシステムの利点を活用したいと考えています。
つまり、構成、ポリシー、プロファイルを、それらが展開されるハードウェアまたはソフトウェアから分離することを意味します。
このコレクションは「デプロイメント成果物」と見なされ、コードと同じように扱うことができます。 つまり、リポジトリに保存して管理し、バージョン管理してレビューすることができます。 開発者がリポジトリ (Github など) からコードをプル、クローン、コミットするのと同じ方法で、プル、クローン、コミットできます。
「自動化アーティファクト」も含める必要があります。 これらは、選択した自動化ツールキットに付随する自動化タスクを記述するスクリプトと関連ファイルです。 それが Ansible なら、それはプレイブックです。 シェフならレシピです。 Puppet の場合はマニフェスト。 あるいは、単なる古い Python スクリプトである可能性もあります。
BIG-IP および増加しているネットワークホスト型システムの場合、より複雑な構成や標準化された構成をさらに記述できるテンプレート (iApp) も含まれます。 ここでテンプレートを使用すると、コア ツールセットでまだサポートされていない可能性のあるオプションやアプリケーション サービスをサポートできるため、有利になります。
デプロイメント アーティファクトとともに、自動化アーティファクトは「コードとしてのインフラストラクチャ」と呼ばれるコレクションを形成します。 システムをプロビジョニングし、その後、自動化プロセスを実行して、必要に応じて構成できることが前提となります。
ネットワークおよびアプリケーション サービスに対するアプリケーションごとのアプローチと組み合わせると、コードとしてのインフラストラクチャ アプローチにより、頻繁な展開のリスクを大幅に軽減できます。 構成を分離し、その影響を単一のシステムに限定することで、展開の失敗による影響は実質的に排除されます。 その結果、ビジネスのニーズとユーザーの要求により適合したアプリケーションごとのスケジュールが促進されます。
クラウド志向の組織では、インフラストラクチャをコードとして扱うアプローチを採用することで、データセンターからクラウドへ、またはクラウドからクラウドへの移行に伴う摩擦を軽減できます。 構成はシステムから分離されているため、他の同様のシステムに展開できる可能性があります。
インフラストラクチャをコードとして移行する取り組みを行うべき十分な理由は多数ありますが、そうしない十分な理由はほとんどありません。 Infrastructure as Code は、マルチクラウドのアプリ主導型デジタル経済で組織が成功するために必要な俊敏なネットワークを実現する最も有利な方法の 1 つです。