ある調査では、Enterprise Management Associatesによると、77%の組織がネットワーク自動化を最優先事項と考えています。ネットワーク運用と開発運用に対する新たな考え方が生まれつつあり、DevOpsが、開発チームとネットワーク運用チームを別々のサイロに置く従来の考え方に取って代わろうとしています。
あらゆるITプロフェッショナルの目標は、IT環境に効率性と安定性をもたらすことです。しかし、組織のITインフラが複雑になるにつれ、高い効率性を維持しながら変化するテクノロジートレンドに対応し続けることは、ITプロフェッショナルにとってますます難しくなっています。ここで役立つのがNetOpsです。プロセスの自動化とネットワークのさまざまなコンポーネント間のスムーズな統合に重点を置くことで、ユーザーが求める完全性と信頼性を維持できます。
NetOpsとは?
ネットワーク運用(NetOps)とは、ネットワーク管理、パフォーマンスの最適化、セキュリティに関わる活動を総称するIT部門の用語です。NetOpsでは通常、ボトルネックや障害の監視、問題や停止が発生した際の解決、パッチやアップデートを適時適用して営業時間中の稼働率を確保すること、レポート作成を目的としたネットワーク統計の収集などを行います。
DevOpsとは?
DevOpsとは、ソフトウェア開発に自動化されたアプローチを取り入れようとする運動を指します。具体的には、運用タスク(システム管理者が担当)と開発タスク(開発者が担当)の間にある障壁を取り除くことに重点を置きます。これにより、システム管理者は開発者と協力しながら、ダウンタイムやサービス中断なしに変更をデプロイできます。
関連記事: 調査:デジタルトランスフォーメーションがNetOpsの成長を促進
NetOpsとDevOpsの違い?
NetOpsとDevOpsの最初の違いは、その定義にあります。NetOpsはネットワーク運用を指し、ネットワークエンジニアとその活動に焦点を当てます。一方、DevOps(Development Operations)はIT運用をより広く捉えたもので、アプリケーション開発者をはじめとするさまざまなITプロフェッショナルが関わることが多いのが特徴です。
自動化に注力:
NetOpsとDevOpsの主な違いの1つは、NetOpsが日々のネットワーク運用の自動化に重点を置くのに対し、DevOpsはアプリケーションの提供に関わるあらゆる側面の自動化に重点を置く点です。DevOpsはアプリケーション開発に運用(Ops)を統合します。
ツール:
前述のとおり、NetOpsとDevOpsの双方にとって自動化は重要です。ただし、NetOpsでは、IT分野における構成管理、アプリケーションのデプロイ、ソフトウェアのプロビジョニングなどに使われるオープンソースの自動化ツール、Ansibleを利用する傾向があります。一方、DevOpsでは、手作業ではなくコードを記述することでインフラを自動化、テスト、デプロイする構成管理ツールのChefや、構成管理を一元化・自動化できるオープンソースの構成管理ソリューションPuppetを利用します。
アプリケーションの運用面からの見方:
NetOpsとDevOpsのもう1つの違いは、運用面からの見方にあります。DevOpsでは複数のアプリケーションにまたがるリリースを計画できますが、最初から最後までのすべてを1つのグループが担うわけではないため、その範囲は限られます。NetOpsの担当範囲はより小さいものの、ほかの誰もそこに触れないため、その範囲のどの部分にも、いつでも影響を与えられます。
デプロイへのアプローチ:
DevOpsとNetOpsでは、デプロイへのアプローチにも重要な違いがあります。NetOpsは、従来のモノリシックな環境ほど多くの構成管理を必要としない、マイクロデプロイを好む傾向があります。
業務範囲:
NetOpsは、ネットワークハードウェアの構成と管理を担います。スイッチ、ルーター、ファイアウォールなどを管理します。一方、DevOpsエンジニアは開発チームと連携し、開発環境が迅速にプロビジョニングされるようにすることに注力します。
関連記事: 2021年版・DevOpsのベストツール&ソフトウェア
NetOpsとDevOpsのチームを連携させる:
多くのネットワークやIT部門では、チームがサイロ化しています。ネットワーク管理者が組織の一方で働く一方、開発者は別の場所で働いているのです。その結果、どちらのチームにも、タスクの完了に何が必要なのかを理解している人がいないため、特定のタスクが実行されないことがあります。最終的に、チームの潜在能力を最大限に引き出し、業務をより効率的に進めたいのであれば、DevOpsチームとNetOpsチームを連携させる方法を見つける必要があります。ここでは、それを実現するための3つの重要な戦略を紹介します。
NetOpsをInfrastructure as Codeに参加させる:
Infrastructure as Codeとは基本的に、サーバーのプロビジョニングやネットワークの作成といったシステム管理タスクに自動化を適用することです。これにより、新しいシステムや既存システム内の追加リソースをより迅速にデプロイできます。ネットワーク管理者をInfrastructure as Codeに参加させるには、手作業ではなく自動化によって環境を構築することで、どれだけ時間と労力を節約できるかを伝えればよいのです。さらに、開発者向けツールを使ってNetOpsチームが自分たちの目標を達成する方法も示しましょう。これにより、テスト中やその他の需要が高い状況で手作業の完了を待つ時間のないアプリケーションエンジニアの作業を、NetOpsのプロセスが遅らせることを防げます。
Devチームを運用コミュニケーションに参加させる:
どの企業でも緊急事態は発生します。こうした状況に直面したとき、双方のチームが互いを理解できるようにすることが重要です。また、危機への対応においてNetOpsとDevOpsの担当者が互いの役割を明確に理解していなければなりません。共通の問題について継続的に話し合うことは、この2つのグループ間に強固な協力関係を築くうえでも役立ちます。
Opsが開発者をより適切に支援できるようにする:
開発運用チーム間の連携が深まれば、組織全体が恩恵を受けます。各グループがバグ修正やアップグレードなどへの対応に費やす時間が減れば、ビジネスニーズへの対応により多くの時間を充てられます。反復的なシステムタスクを自動化して開発者の負荷を軽減し、より優れたアプリケーションの構築に集中できる機会を探しましょう。
企業におけるNetOpsとDevOpsの影響:
今日のデータセンターでは依存関係と複雑性が増しているため、多くの組織がサイロ化したチームから、NetOpsとDevOpsによるより協力的なチーム体制へ移行しています。451 Researchの調査によると、NetOpsとDevOpsを統合したチームを構築する主な理由の1つが自動化です。しかし、それは日々の業務にどのような意味を持つのでしょうか。開発運用の担当者同士をより緊密に連携させれば、彼らの効率も、あなたの効率も大幅に向上します。
- コスト削減。自動化によって複数のプラットフォーム間でコードを継続的に再利用できるため、コストを低く抑えられます。
- 市場投入までの時間短縮。継続的インテグレーション/継続的デリバリー(CI/CD)により、ネットワーク運用チームは、顧客からのフィードバックや指標に基づく自動チェックを活用して、製品を継続的に改善できます。
- インフラ管理の改善。CI/CDと自動化ツールを使えば、開発・運用担当者は手作業で設定や変更を行う必要がなくなります。何かが変わったからといってすべてを変更するのではなく、変更が必要なものに集中できるのです。
- インフラ利用率の向上。ITキャパシティは、サーバーや仮想マシン(VM)などのコンピューティングリソースを最適化することだけを意味しません。スイッチ、ポート、ルーター、ファイアウォールなどのネットワークに加え、ストレージも含まれます。
- 顧客満足度の向上。効果的な監視機能とNetOps/DevOpsのプロセスを組み合わせてアプリケーションを提供すれば、顧客の変化する要件を予測する能力が高まります。これは顧客満足度を高めるだけでなく、将来のパートナーシップや新たな収益源につながる機会も生み出します。
NetOpsとDevOpsを統合するには?
NetOpsとDevOpsが統合されているかどうかは、組織がプロセスをどれだけ効果的に自動化しているかを示す多くの指標の1つです。NetOpsとDevOpsがシームレスに連携するほど、組織内で実現できる自動化のレベルは高まります。ネットワークへのすべての変更を中央のコントロールパネルから行える状態を実現すれば、構成エラーとネットワーク全体のダウンタイムを大幅に削減できます。
ここで、両方の運用担当の役割を自動化された環境に統合する際に、どの領域に注意すべきかを考える必要があります。まずは、現在ネットワークで何が起きているのか(DevOps)と、これまでに何が起きたのか(NetOps)を可視化することから始めるべきです。次に、Puppet、Ansible、Chefなどの自動化ツールを使って両グループ間の関係を構築し、プロセスを合理化し、サービスを共有する必要があります。これらのツールは、システム間の構成を管理することで、再現可能なパターンの実現を支援します。
導入後は、ネットワーク上で実際に稼働しているものと、当初プロビジョニングされたものとの違いを把握できるようになります。単に特定のツールを一度使うだけでなく、そのツールを中心としたプロセスを確立するには、当初ある程度の労力が必要です。しかし、時間が経つにつれて大きなメリットが得られます。人的ミス、コミュニケーション不足、知識の喪失によって手作業の手順が業務を遅らせることもなくなります。
ネットワークに自動化をもたらす:
NetOpsは歴史的にネットワークの監視と運用に注力してきた一方、DevOpsは主に新機能やアプリケーションの構築に関わってきました。しかし、この2つのグループには、業務を可能な限り自動化し、運用コストを削減しながら顧客体験とサービスレベルの改善に集中するという共通の目標があります。その目標を達成するには、ネットワークに自動化をもたらすため、タスクを自動化する最善の方法について両グループが協力する必要があります。
次の記事:AIOps時代のネットワーク管理の未来