てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible] AnsibleFest 2023 のキーノートで気になったポイント(Ansible Ligthspeed、Event-Driven Ansible)

はじめに

2023/05/23-25(現地時間)、ボストンで Red Hat Summit 2023 と AnsibleFest 2023 が開催されました。今年からこの 2つのイベントが合同開催の扱いになったようです。

私は現地には行っていませんが、3つのキーノートが YouTube Live で見れました。2023/05/29 現在、すでに YouTube では閲覧できなくなっていますが、イベント登録すると同じタイトルのものが閲覧できます(日本語字幕も!)ので、リンクも張っておきます。

(2023/06/01 追記 YouTube でも再度見れるようになりましたので、YouTube へのリンクも併記します)

  1. Red Hat Summit 2023: Innovation doesn’t rely on your IT budget (YouTube
  2. Red Hat Summit 2023: Optimize to innovate at scale (YouTube
  3. AnsibleFest 2023: The automation moment—and beyond (YouTube

Ansible の話は主に 1. と 3. で触れられていました。大きなトピックは、AI で Playbook 作成を支援してくれる「Ansible Lightspeed」と、イベント駆動による自動化を実現する「Event-Driven Ansible」です。

いずれも、去年の AnsibleFest 2022 で発表されたものの続報といった内容でした。

この記事では、キーノートのうち AnsibleFest 2023: The automation moment—and beyondで私が気になったポイントとをまとめていきます。

なお、イベント登録すると、キーノート以外のセッションも含むセッションが、オンデマンドで閲覧できるようになっています(一部オンデマンド対象外もあるかもしれません)。11月ごろまでの期限付き公開だったと思うので、見れるときに見たほうがよさそうです。関連のプレスリリースは RED HAT NEWSROOM Red Hat Summit 2023 にまとまっていますので、文字の公式情報はプレスリリースを参照してください。


■ Ansible Lightspeed: AIによるPlaybook作成支援

動画は 16:13 頃からです。

Ansible Lightspeed (Ansible Ligthspeed with IBM Watson Code Assistant)は、AI によって Playbook の作成を支援する仕組みです。去年の AnsibleFest 2022 では、Project Wisdom と呼ばれていたものが元となっているようです。

コンテクストに沿ってくれる

操作感としては、Visual Studio Code (以降 VSCode)で Playbook を書く際に、タスクの name自然言語で書くと、それに沿ったモジュールやパラメーターを生成してくれる、といった流れです。

デモ動画は 26:54 頃から見れます。

注目したのは、タスク一個一個ではなく、Context(コンテクスト、文脈)を呼んだうえでタスクを生成している点です。

デモの中では、15行目からのタスクの nameCreate VM using vm_confg var と指定すると、auzre.azcollection.azure_rm_virtualmashine モジュールを利用したタスクが生成されました。仮想マシン名を指定する name オプションには、vm_config.name が指定されています。この vm_config は、プレイ変数として上部に定義済みのものです。おそらく namevm_vonfig を使って、という指示をしているため、このように気を利かせてくれるのだと思います。

そういえば、VM とは指示していますが、Azure であることは指示していません。vm_config.vm_size に指定した Stanrad_DS2_v2 から推測しているのでしょうか・・?

VM 構築後の、待機やパッケージインストール、ファイルの配置、サービス開始のタスクについても name で指定した自然言語によって中々のスピードでタスクが生成されていました。

他にも、31:00 頃からの AWS の EC2 インスタンスを作成するPlaybookの作成デモでは、module_defaults の指定の有無によって、生成する内容を変えたりといったことも起きていました。

TRAINING MATCHES の表示

32:22 頃からは、生成されたタスクの元ネタ(もっと適切な表現があると思いますが)を表示させる機能が紹介されていました。今回の community.aws.ec2_vpc_vpn モジュールの場合は、どうモジュールの integration test のファイルでした。

品質

キーノートで強調されていたのは「Quolity(品質)」です。最近は生成系AIは非常に盛り上がっていますが、Ansible Lightspeed は、汎用 AI ではなく Domain-Specific AI (ドメイン特化AI)と位置づけられているようです。

どこから学習しているのかについては、あまり追えていませんが、少なくともAnsiuble Galaxy には以下の記述があります。

Your roles and collections may be used as training data for a machine learning model that provides Ansible automation content recommendations.

2023年6月(または後半?)からパブリックプレビュー予定

先日気が付いたのですが、VS CodeAnsible という拡張には、Lightspeed 関連の設定項目がありました。クローズドベータのようなものに申し込みをして待っていました。

別のキーノートでは、来月(2023年6月)からパブリックプレビュー(will be available next month as a public preview)と案内されていましたので、こちらの方が先かもしれません。プレスリリースでは "availability later this year" という表現でした。

おそらく、Ansible 公式ブログや、Red Hat newsroom あたりで続報が出てくるのではないかなと思います。楽しみです。

■ Event-Driven Ansible

動画 は 42:18 頃からです。

Event-Driven Ansibleは、監視システムなどをイベントの発生源として、その条件によって Playbook を実行する仕組みです。人ではなくイベントがキックします。個人的には、StackStorm や IFTTT の Ansible 版のように解釈しています。主なユースケースは、障害発生からの自動修復やチケット起票あたりかと思います。

Event-Driven Ansible を実現するツールとしては ansible-rulebook があります。AnsibleFest 2022でも発表があったものの続報です。このブログでも去年ためしてみた記事を投稿しました。

[Ansible] Playbook ならぬ Rulebook、イベントドリブンな ansible-rulebook を試してみた - てくなべ (tekunabe)

なお、Event-Driven Ansible はそれぞれの頭文字をとって EDA と省略して呼ばれることがあります。

Event-Driven Ansible が解決する課題の例

50:51 頃からは、ストーリーを交えて、何を解決できるのか説明されていました。

「Ansiblebulls」という架空の野球チームが登場し、試合を配信するビデオプラットフォームにまつわる問題を Event-Driven Ansible で解決していくというものでした。

オブザーバビリティと自動化の橋渡しとして、Dynatrace でシステム監視し、問題があれば Ansible が情報を受け取り、その情報に基づいて対応するシステムの自動修復し、ServiceNow への記票もするという流れでした。

他にも、チャットツールとの連携もされていました。

AAP にはどう組み込まれる?

一番気になったのは、Event-Driven Ansible がツールとして AAP の中にどのように組み込まれるのか、です。

54:43 頃からは Automation Controller に似た画面が表示されますが、よく見ると別物で、「Rulebook Activations」といった Event-Driven Ansible 的な用語が並んでいます。 Automation Controller の UI に組み込まれるのでしょうか。それとも別物なのでしょうか。また、イベントの待ち受けは Automation Controller が担うのでしょうか。それとも別物が担うのでしょうか。このあたりはまだうまく理解できませんでした。

もしかしたら eda-server でしょうか。

公式ブログ記事「Event-Driven Ansible is Here」の「New features and enhancements 」に AAP との統合の説明がありますが、もっと詳しく知りたいので今後の情報を待ちたいと思います。

[2023/06/23]

EDA Controller というものが、Event-Driven Ansible を司るようです。パブリックなリポジトリで試せるものがあったので、ためしました。

リリース予定のコレクション

今回のタイミングに合わせて、Asnible 公式ブログで以下の記事が投稿されました。

上記の記事では、Cisco ThousandEyes、CrowdStrike、Dynatrace、F5、Palo Alto Networks、Zabbix などのコレクションがリリース予定として紹介されています。

これまでは、イベントソースとしては、ansible.eda コレクションに含まれるものしか知りませんでしたが、これからどんどん連携できるものが増えてきそうで楽しみです。

そのほかの関連ブログ

他にも以下の関連記事が投稿されました。

2023年6月提供開始

プレスリリースによると、AAP 2.4 のユーザー向けに2023年6月に提供開始されるとのことです。

Event-Driven Ansible はアイディア次第という面が強い気がしています。提供開始をきっかけにして、さまざまな活用アイディアも出てくるかもしれません。


おわりに

少々気が早いですが、来年の Red Hat Summit 2024 は 2024/5/6 - 9 にコロラドで開催されるそうです。

参考URL

公式情報を中心に関連情報のURLをまとめます。

全般

Ansible Lightspeed

Event-Driven Ansible