【Crosswork 超入門ガイド】~10分で分かるSP向けCisco自動化ソリューション~

# Cisco Advent Calendar
本記事はCiscoの有志による Cisco Systems Japan Advent Calendar 2022 ②の 9日目として投稿しています。
非常に興味深い内容で様々なトピックが投稿されていますのでぜひご覧下さい！

:calendar_spiral: 今年のカレンダーはこちら:calendar_spiral: 
[2022年①](https://qiita.com/advent-calendar/2022/cisco)　[2022年②](https://qiita.com/advent-calendar/2022/cisco)

:pencil: 過去のカレンダーはこちら:pencil: 
[2021年①](https://qiita.com/advent-calendar/2021/cisco) [2021年②](https://qiita.com/advent-calendar/2021/cisco2) [2020年①](https://qiita.com/advent-calendar/2020/cisco) [2020年②]( https://qiita.com/advent-calendar/2020/cisco2) [2019年](https://qiita.com/advent-calendar/2019/cisco) [2018年](https://qiita.com/advent-calendar/2018/cisco) [2017年](https://qiita.com/advent-calendar/2017/cisco)

# はじめに
こんにちは！2020年度にCisco Japanに新卒入社した @dnozaki と申します。
現在はCiscoのプリセールスエンジニアとして、主にサービスプロバイダ様への提案活動や技術的課題解決のサポートをしています。

「Automation・自動化」といったトピックについて、2022年になってお客様から「ネットワーク運用の自動化がしたい」「ネットワークの可視化がしたい」といった声を益々いただくようになりました。

注目度も高まり、実際にお客様の環境にご導入も進んでいるネットワーク自動化ソリューションですが、製品の数が多く難しくてよく分からないという人も多いはず。

今回はそのようなCiscoのサービスプロバイダ向けネットワーク自動化ソリューションをどこよりも分かりやすく解説しようと思います :pencil2: 

# 目次
今回の目次を簡単に説明いたします。

:::note info
**1. CiscoのSP向けネットワーク自動化ポートフォリオをざっくりと解説**
**2. 中核となるソリューション[Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) を解説**
**3. その他のSP向け自動化製品をざっくりと解説**
:::
このような流れでご説明していきます。

この記事を見れば CiscoのSP向けネットワーク自動化ポートフォリオ の全貌が何だったのか分かるだけでなく、今後も進化を続ける自動化ソリューションの動きも数倍分かりやすくなると思いますのでぜひご覧ください。

それでは行ってみましょう！:star2: 

# CiscoのSP向けネットワーク自動化ポートフォリオをざっくりと解説
まず最初に結論を一言で言いますと、
CiscoのSP向けネットワーク自動化ポートフォリオは「[Crosswork](https://www.cisco.com/c/ja_jp/products/cloud-systems-management/crosswork-network-automation/index.html)」という名前でまとめられた製品群です。

2018年より[Cisco Crosswork Network Automation](https://www.cisco.com/c/ja_jp/products/cloud-systems-management/crosswork-network-automation/index.html)の提供を発表し、そこからCrossworkアプリケーションを拡大しながら適用できるユースケースを広げてきました。
具体的には下記画像にまとめているアプリケーションがCrossworkのポートフォリオです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/91013bc4-ca5e-3a02-af7f-4c70a91ddd1a.png)

今回は「Crosswork 超入門ガイド」として絶対に知っておくべき3つの項目に絞ってお伝えいたします。

:::note info
1. **Corssworkは製品群の名称であり、ユースケースごとに個別のアプリケーションが存在すること**
2. **個別のアプリケーションを Crosswork Infrastructure というプラットフォームから統合的に運用できること**
3. **IPトランスポートのSDNコントローラの名称は [Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) であること**
:::
それぞれ簡単に見ていきましょう :runner: 

### 1. Corssworkは製品群の名称であり、ユースケースごとに個別のアプリケーションが存在すること
上記の画像にまとまっている通り、Crossworkという一つの製品が存在するわけではなく、「Crosswork〇〇」等の名前がついた個別のアプリケーションが集合してCrossworkという製品群を形成しています。

例を挙げると下記のようなアプリケーションがあります :computer: 

|アプリケーション名  |ユースケース  |
|:--|:--|
|Crosswork Data Gateway (CDG)  |テレメトリ等のメトリックを一元的に収集するコレクター  |
|Crosswork Optimization Engine (COE)  |遅延・帯域などの状況に応じたパス計算とリアルタイム最適化を行うアプリケーション  |
|Crosswork Active Topology (CAT)  |リアルタイムなトポロジとサービスの可視化を行うアプリケーション  |

### 2. 個別のアプリケーションを Crosswork Infrastructure というプラットフォームから統合的に運用できること
実際にCrosswork製品をご使用される際には、Crosswork Infrastructure という共通のGUIから複数のアプリケーションに跨って運用することが可能です。

分かりやすいように実際のCrosswork Infrastructure プラットフォームの画像（Crosswork Network Controller (CNC)のGUI画面）をお見せすると下記のようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/b6b4979c-e970-415d-9ce5-4b068e4d2345.png)

こちらは、Crosswork Infrastructure上に複数のアプリケーションがインストールされていることを表しています。
こちらのように、1つのGUI画面上から複数のCrossworkアプリケーションの操作ができることがCrossworkの特徴です :point_left_tone1: 

### 3. IPトランスポートのSDNコントローラの名称は [Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) であること
Crosswork製品群の中でも中核となるソリューションとして、[Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) があります。
[Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) は IPトランスポート の SDNコントローラ であり、自動化において最もニーズの高い下記機能を備えています。
- **マルチベンダーネットワーク環境でのネットワークサービスのプロビジョニング**
- **ネットワーク環境のモニタリング**
- **最適化プロセスの簡素化および自動化**

次のセクションでは、この[Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) について、分かりやすく解説いたします。

# [Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) を解説
ここではCrossworkの中核となるソリューションである [Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html) について解説いたします。

まずは抑えるべき全体的なポイントをざっくりと解説します。

:::note info
全体的なポイント 
- CNCは **SRベースの トランスポート ネットワーク向け SDN コントローラ**
- CNCは **5つの製品コンポーネントの総称**
- CNCは **3つの機能を持つ**
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/5f7c98f3-35b0-a31f-2231-b2149541bcae.png)
お伝えする内容を1枚にまとめた画像がこちらです。

:point_down_tone1: それでは詳細を解説いたします :point_down_tone1: 

:::note warn
以下、Crosswork Network Controller は CNC と記載します。
また、今回の情報は、2022年12月までの CNC バージョン 3.x の情報となります。
:::

### 1. CNCは SRベースの トランスポート ネットワーク向け SDN コントローラである
「CNCとは何か」について、まず最初に結論を一言で言いますと、
**CNCは SRベースの トランスポート ネットワーク向け SDN コントローラ** です :computer: 

:::note info
ポイントは下記の2つです。
- **SR（Segment Routing）ベースであること**
- **IPトランスポート SDNコントローラであること**
:::
#### SR（Segment Routing）ベースであること
まず、CNCはSR（Segment Routing）ベースのネットワークで動作します。
各社5G時代のネットワーク要件を見据えSRへの置き換えを進めておりますが、CNCもそういった次世代の要件を加味して設計されています。

#### IPトランスポート SDNコントローラであること
さらに、そういった次世代のネットワークの要件として、ネットワーク使用率を最適化する迅速なインテントベースのサービスの提供と、帯域幅と遅延の需要変動にリアルタイムで対応できる機能が不可欠になっています。
ソフトウェア定義型ネットワーク（SDN）への移行と運用タスクの自動化は、効率性と競争力を高めるのに最適な方法であり、CNCはまさにそれらの要件を満たすSDNコントローラとして登場しました。

### 2. CNCは 5つの製品コンポーネントの総称
Crossworkは製品群の名称だとお伝えしましたが、CNCもそれと同様に複数の個別製品のコンポーネントから成り立っています。
具体的には、下記5つの製品からCNCというSDNコントローラが作られています。

|アプリケーション  |機能  |
|:--|:--|
|Crosswork Data Gateway (CDG)  |テレメトリ等のメトリックを一元的に収集するコレクター  |
|Crosswork Optimization Engine (COE)  |遅延・帯域などの状況に応じたパス計算とリアルタイム最適化  |
|Crosswork Active Topology (CAT)  |リアルタイムなトポロジとサービスの可視化  |
|Network Services Orchestrator (NSO)  |単一コントローラによるネットワーク一元管理  |
|Segment Routing Path Computation Element (SR-PCE)  |SRトラフィックの計測  |

上記の5つ以外にもCrosswork系の個別の製品は多数存在していますが、SDNコントローラとしての機能を目指し、分かりやすい単一のパッケージで提供されている製品がCNCです。
CNCというコントローラが5つのコンポーネントで成り立っていることを知っていると、後述するCNCの機能の理解が進むと思います。（CNCの各機能は個別の製品の機能が担っているため。）

:::note warn
**名称のまとめ**
:warning: 複数の名前が出てきて混乱しやすいので、ここで一旦Crosswork製品の概念を復習としてまとめます。
- [Crosswork](https://www.cisco.com/c/ja_jp/products/cloud-systems-management/crosswork-network-automation/index.html)：CiscoのSP向けネットワーク自動化ポートフォリオの製品群の名前
- [CNC（Crosswork Network Controller）](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html)：IPトランスポート向け SDNコントローラ。5つの個別コンポーネントから成る。
- CDG/COE/CAT,etc...：Crosswork ポートフォリオの個別製品。ユースケースによってアプリケーションを使い分ける。

上位から順に、「抽象度の高い”ポートフォリオ全体の名前”→具体的な”製品の名前”」と階層になっていると考えて頂ければ理解しやすいです。
:::

それでは次に、その上記5つのコンポーネントを持つCNCの具体的な機能を見ていきましょう。

### 3. CNCは 3つの主要機能を持つ
こちらもまず最初に結論を言いますと、
CNCは **「高度な SLA 要求のある VPN Services の設定/運用の簡素化」** を目指して設計されています。

そして、そのための機能として、下記の3つの主要機能を持っています。

:::note info
**CNCの3つの主要機能**
1. **ネットワーク可視化機能** :eye: 
1. **プロビジョニング機能** :pen_ballpoint:
1. **リアルタイムのパス制御機能** :clock1: 
:::
それぞれについて、ざっくりと解説いたします。

#### 1. ネットワーク可視化機能 :eye: 
CNCはネットワークを可視化する機能を持っています。
SR ネットワークのサービス提供・運用に必要なさまざまなビューを提供し、SR ネットワークが保有するリアルタイムの情報の抽出と可視化を行います。

可視化機能により、具体的には下記のサービスを実現します。
- IGP トポロジーの自動検出
- 複数レイヤの可視化を提供（VPN 論理構成の可視化、SR-TE パスのリアルタイム可視化、IGP パスのリアルタイム可視化 など）
- トポロジの表示と帯域・遅延等の品質表示

実際の画面を例としてお見せします。

下記は「Topology」Viewという画面で、SR ネットワークの IGP トポロジーを把握できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/be4b89c2-45d2-ae6b-c8a7-1f2b915df1b7.png)
こちらはSR-PCE から取得したリアルタイムの IGP トポロジ情報と、ユーザが入力する地図情報（緯度・経度）からマップ上にトポロジを可視化しています。
ノード・リンク障害時は IGP トポロジ上にDownの表示が反映され、リアルタイムで認識可能です。
また、リンク利用率はリンクの色、ステータスはアイコンで表示され状態を一目で確認できます。

続いて、「Traffic Engineering」Viewのご紹介です。
こちらの画面より、ユーザに提供している低遅延パスをリアルタイムで把握できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/c8894ac6-e043-1cdb-dfba-b157b73970dc.png)
現在ネットワーク上に設定済みの SR-TE の一覧が右側にリスト表示されています。
確認したいパスを選択すると、リアルタイムの SR-TE パスをマップ上に表示可能です。
そして、IGP 障害、遅延情報の更新等によりパスが変更になった場合はリアルタイムで表示が変更されます。

最後に、「VPN Services」Viewのご紹介です。
ユーザが利用している VPN の論理構成、VPN に所属しているルータインターフェイスを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/2c6012d4-177f-a55c-1e49-7a01ebc57428.png)
現在プロビされている VPN サービス (L2VPN, L3VPN) の一覧が右側に表示されています。
必要に応じて、 VPN サービスパラメータの詳細を コンフィグの階層型で表示可能です。

#### 2. プロビジョニング機能 :pen_ballpoint: 
CNCはネットワークに設定を自動投入する機能を持っています。
具体的には、 L2/L3 VPN, SR-TE サービスのプロビジョニングを実現できます。

こちらはCNCのコンポーネントである [NSO (Cisco Crosswork Network Services Orchestrator)](https://www.cisco.com/c/en/us/products/cloud-systems-management/network-services-orchestrator/index.html) がプロビジョニングエンジンとしてバックエンドで動作しており、NSOの利点（Dry-Run機能やマルチベンダ対応など）をそのまま享受できます。

下記にCNCでプロビジョニングを行なっている画面の例をお見せします。
こちらはSR-TEの設定をGUIで実行している画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/03dd3343-f82b-af8f-44c2-6f0b648c3c60.png)
ご覧の通り、右側のGUI上でSR-TEに必要なパラメータをフォームから入力することで簡単に設定投入が可能です。
SR-TEの他にも、L2/L3VPN設定も行うことができ、迅速かつ簡単にサービス提供が実現できます。

#### 3. リアルタイムのパス制御機能 :clock1: 
最後に、リアルタイムのパス制御機能のご紹介です。
一言で言うと、**遅延や帯域を条件としたSR-TEパスの計算を行い、自動でのリアルタイム最適化を行う機能**です。

具体的には、SR-PCE と COE（Optimization Engine） が SLA 要求に基づく SR Policy を計算し、SLA ターゲットと制約条件を満たすような最適なパスにアップデートしています。

例として、Bandwidth on Demand の設定画面をお見せします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/715a45fc-3274-80b3-3c15-3ad99d6a996f.png)
こちらの画面から、Link Utilization（帯域使用率）の閾値を設定することが可能です。
継続的に SR-TE ポリシーのパスをモニタリングし、もし現在のパスが設定した閾値を超えた場合には、閾値を下回るようにパスの最適化 (Re-optimization) が実行されます。

#### :star2: CNC 3つの主要機能 まとめ :star2:
以上のご説明がCNCの主要機能です。
そのCNCの主要機能とは、下記の3つでした。

:::note info
**CNCの3つの主要機能**
1. ネットワーク可視化機能 :eye: 
1. プロビジョニング機能 :pen_ballpoint:
1. リアルタイムのパス制御機能 :clock1: 
:::
これら以外の機能も用意されており、将来的な拡張や活用方法を踏まえるとまだ数多くの機能がありますが、まずは核となる機能を把握すると理解が進むと思います。

# その他のSP向け自動化製品をざっくりと解説
最後に、CNC 以外のSP向け自動化製品についてもざっくりと解説いたします。
これらを知ることでCrossworkの全体像や、CNCのポジションの理解も深まると思いますのでざっとご覧ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/c7c3708a-6b32-fdf2-15b4-03f82c88641c.png)

|アプリケーション名  |ユースケース・機能  |
|:--|:--|
|[Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html)  |IPトランスポート SDNコントローラ  |
|Crosswork Data Gateway (CDG)  |テレメトリ等のメトリックを一元的に収集するコレクター  |
|Crosswork Optimization Engine (COE)  |遅延・帯域などの状況に応じたパス計算とリアルタイム最適化  |
|Crosswork Active Topology (CAT)  |リアルタイムなトポロジとサービスの可視化  |
|Network Services Orchestrator (NSO)  |単一コントローラによるネットワーク一元管理  |
|Segment Routing Path Computation Element (SR-PCE)  |SRトラフィックの計測  |
|Crosswork Health Insights (CHI) |ネットワークデバイスから収集したデータの可視化、分析、アラート発出、修復用 Playbook との関連付け |
|Crosswork Change Automation (CCA) |問題修復アクション定義とワークフロー実行 / CHIとの連携でClosed-Loopを実現 |
|Crosswork Service Health |サービスヘルス機能（CNC v4.1 から CNC のコンポーネントの一部） |
|Crosswork Zero–Touch Provisioning  |ゼロタッチ・プロビジョニング用アプリケーション  |
|[WAN Automation Engine (WAE)](https://www.cisco.com/c/ja_jp/products/collateral/routers/wan-automation-engine/cisco-wan-automation-engine-ds.html) |キャパシティ・プランニングツールとのシームレスな連携 |
|[Evolved Programmable Network Manager (EPNM)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/evolved-programmable-network-epn-manager/datasheet-c78-733928.html) |Cisco NCS を対象とした統合パッケージ |
|[Crosswork Hierarchical Controller (HCO)]((https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-hierarchical-controller/solution-overview-c22-744695.html))  |IP・光伝送統合 階層型コントローラ  |

ざっくりとアプリケーションと概要機能をまとめてみましたが、大まかなイメージが掴んでいただければ幸いです。

上記以外にもモニタリングツールとして、[ThousandEyes](https://www.thousandeyes.com/ja/)や、[Accedian Skylight](https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/crosswork-network-automation/accedian-skylight-so.html)を提供していたり、[Cisco CX](https://www.cisco.com/site/jp/ja/services/index.html#tabs-f39bde6171-item-9f12830e36-tab)のソリューションとして自動化製品を提供していたりします。
ご興味のある方はぜひこちらの Cisco Automation のページをご参照ください！
- [x] [Cisco Automation ネットワーク自動化ソリューション](https://www.cisco.com/c/ja_jp/solutions/automation/network-automation.html)

# 終わりに
今回はCiscoのSP向けネットワーク自動化ポートフォリオをざっくりと解説させていただきました。

:::note info
今回の内容とポイントを簡単にまとめます :pencil: 
- **CiscoのSP向けネットワーク自動化ポートフォリオは「[Cisco Crosswork Network Automation](https://www.cisco.com/c/ja_jp/products/cloud-systems-management/crosswork-network-automation/index.html)」**
- **Corssworkは製品群の名称であり、ユースケースごとに個別のアプリケーションが存在する**
- **個別のアプリケーションを Crosswork Infrastructure というプラットフォームから統合的に運用できる**
- **IPトランスポートのSDNコントローラの名称は [Crosswork Network Controller (CNC)](https://www.cisco.com/c/ja_jp/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-743456.html)**
- **CNCは 1.ネットワーク可視化機能、 2.プロビジョニング機能、 3.リアルタイムのパス制御機能 という3つの主要機能を持つ**
:::

今回の内容が、自動化製品の情報をお探し方のご参考になれば幸いです。

最後までお読みいただき、ありがとうございました。
またどこかの記事でお会いするのを楽しみにしています！:star2: 

# 免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。