CodeZine(コードジン)

特集ページ一覧

ネットワークのDevOps? シスコのpyATSとCMLを駆使すればネットワークの可能性は大いに広がる

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/05/12 12:00

目次

ネットワーク機器を仮想環境でシミュレートできるCML

 ネットワークを扱うにあたり、pyATSと並んで覚えておきたいのが「Cisco Modeling Labs(CML)」、仮想的にネットワーク環境を構成するソフトウェアプラットフォームだ。かつてはVIRLと呼ばれていた。CMLは仮想環境でネットワーク機器のソフトウェアを実際に起動し、自由にトポロジーが構築できる。生田氏は「昔からシミュレーターはありましたが、操作練習用に環境を擬似的に模したようなものが中心でした。CMLはエミュレーターなので、いわば本物です。シスコジャパンのブログではCML(VIRL)記事のアクセス数は常に多く、いいねがつく割合も高くて好評です」とCMLを強く推す。

 CMLは研修でも役立っている。研修で実機演習しようとすると、企業研修でもハードウェアを用意できる範囲は限られてしまう。ところがCMLを使えばその制限は払拭できてしまう。芳氏は「これまでは3台を2人で共有するなどしていましたが、CMLがあれば1人に10~20台を使う環境でもすぐに構築できます。どこでも質の高いトレーニングができます」と話す。

 芳氏が構築した研修プラットフォームでは、受講者のアカウントを結びつけるとCMLが使えるように構築した。研修コンテンツには従来のスライド形式や動画形式に加えて、テスト形式で達成度や理解度の成果測定もできるようになっているという。受講生はテキストや動画を見ながら、CMLを使いコマンドを打つこともできる。かなり実践的でスキル習得に役立ちそうだ。

 なおこの研修プラットフォームはコロナ禍前に構築したそうだ。自宅待機要請で研修もオンライン化が必須となったため、芳氏は「コロナ禍前に構築できてよかったです。タイムリーでした」と胸をなで下ろしている。何よりもハードウェアを用意する初期コストが抑えられることは大きい。

NetDevOpsが目指すものとは? 実現の鍵となりそうなのがpyATSやCML

 生粋のネットワークエンジニアではなく、「ネットワークは詳しくないけど、ちょっと興味ある」と考えているアプリケーション開発者に向けて生田氏は次のようにアドバイスする。「CMLは外部のネットワークともつなぐことができますので、自分のネットワークやサーバーとつなげることで、ネットワークとアプリケーションをいろんな視点で見たり、組み合わせてデモを作り込んだりすることもできますよ」

 アプリケーション開発者にとってネットワークはレイヤが違うものと考えがちだが、ネットワークの存在なしにアプリケーションを動かすことはできない。今では「DevOps」が浸透してきたが、これからはネットワークも加わり「NetDevOps」が注目されつつある。アプリケーション開発者とインフラの運用者が連携するDevOpsにネットワーク技術を加え、さらなる最適化や高度化へと進んでいる。

 小堀氏は「昔、先輩から『運用者が楽になるようなネットワーク構築をするように』と教わっていました。DevOpsの運用(Ops)サイクルには、ネットワーク構築も含まれます。NetDevOpsはすぐには実践できないとしても、目指すものとして意識すべきだと思います。現場で作業するネットワークエンジニアは事前に仮想環境で確認できることは仮想環境ですませたほうが現場での不安は少なくなります」と話す。

 NetDevOpsを実現するにあたり、欠かせないのがpyATSやCMLとなるだろう。生田氏は「pyATSやCMLは単体でも価値がありますが、真骨頂は組みあわせることです」と話す。ネットワーク構築は最終的には物理環境と向き合うことが必要になるものの、事前シミュレーションではCMLが大いに役に立つ。CMLで実環境をシミュレーションし、pyATSでのテストがOKであれば、物理環境に各種ツールでデプロイするといったこともできる。これはアプリケーション開発のCI/CDをネットワーク構築でやっているような感覚といえよう。

 そしてpyATSやCMLはネットワークエンジニアにとってそんなに難しいものではない。日本の大学生が3カ月のインターン期間にpyATS、CML、GitLabを組みあわせたプロトタイプを構築したという。とてもよくできていたので後にグローバルイベントで発表したそうだ。敷居はそんなに高くはない。ネットワークの知識があるネットワークエンジニアなら、学んでおいて決して無駄にはならないはずだ。東村氏は「まだネットワーク自動化は成熟していないのが実状です。CMLのバーチャルルーターとpyATSを組み合わせれば自動化を進めていくことができます」と期待を語る。

 ネットワークエンジニアが実際に作業する現場は複雑だ。事前にシミュレーションをしたとしても、現場ではいろんなことが起こるだろう。だからこそ、シミュレーションで分かる範囲のことは把握しておいて、自動化も進めておいたほうが安心だ。まだいろんなツールが進化する過程でもあるので生田氏は「技術者はフラットに評価し、現場作業で足りない穴を埋められるように適材適所でツールを取捨選択してくといいと思います」と実直に語った。

関連リンク



  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • 加山 恵美(カヤマ エミ)

    フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレータ...

バックナンバー

連載:「Cisco DevNet」でアプリ開発者もネットワークを学ぼう!

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5