はじめに
2023/05/23-25(現地時間)、ボストンで Red Hat Summit 2023 と AnsibleFest 2023 が開催されました。今年からこの 2つのイベントが合同開催の扱いになったようです。
私は現地には行っていませんが、3つのキーノートが YouTube Live で見れました。2023/05/29 現在、すでに YouTube では閲覧できなくなっていますが、イベント登録すると同じタイトルのものが閲覧できます(日本語字幕も!)ので、リンクも張っておきます。
(2023/06/01 追記 YouTube でも再度見れるようになりましたので、YouTube へのリンクも併記します)
- Red Hat Summit 2023: Innovation doesn’t rely on your IT budget (YouTube)
- Red Hat Summit 2023: Optimize to innovate at scale (YouTube)
- 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行目からのタスクの name
に Create VM using vm_confg var
と指定すると、auzre.azcollection.azure_rm_virtualmashine
モジュールを利用したタスクが生成されました。仮想マシン名を指定する name
オプションには、vm_config.name
が指定されています。この vm_config
は、プレイ変数として上部に定義済みのものです。おそらく name
で vm_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 Code の Ansible という拡張には、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 を司るようです。パブリックなリポジトリで試せるものがあったので、ためしました。
- [Ansible] EDA (Evnet-Driven Ansible) Controller / eda-server を docker compose でデプロイして画面を探索してみる - てくなべ (tekunabe)
- tekunabe.hatenablog.jp
リリース予定のコレクション
今回のタイミングに合わせて、Asnible 公式ブログで以下の記事が投稿されました。
上記の記事では、Cisco ThousandEyes、CrowdStrike、Dynatrace、F5、Palo Alto Networks、Zabbix などのコレクションがリリース予定として紹介されています。
これまでは、イベントソースとしては、ansible.eda
コレクションに含まれるものしか知りませんでしたが、これからどんどん連携できるものが増えてきそうで楽しみです。
そのほかの関連ブログ
他にも以下の関連記事が投稿されました。
- Event-Driven Ansible is Here
- https://www.ansible.com/blog/event-driven-ansible-driving-innovations-at-the-edgetitle
2023年6月提供開始
プレスリリースによると、AAP 2.4 のユーザー向けに2023年6月に提供開始されるとのことです。
Event-Driven Ansible はアイディア次第という面が強い気がしています。提供開始をきっかけにして、さまざまな活用アイディアも出てくるかもしれません。
おわりに
少々気が早いですが、来年の Red Hat Summit 2024 は 2024/5/6 - 9 にコロラドで開催されるそうです。
参考URL
公式情報を中心に関連情報のURLをまとめます。
全般
Ansible Lightspeed
- 関連プレスリリース
- プロダクトページ
- 関連セッション