DevAx::connect シーズン1 「イベント駆動」が始まってます

インフラ担当の柴田です。

社内では事前に紹介していたのですがAWSが「DevAx::connect」というセミナーをやっているので少し紹介をしたいと思います。

DevAx::connect

Developer Acceleration (DevAx)という名称にあるように、開発者向けに一つのテーマで複数回のセミナーを行っています。

『AWS DevAx::connect』 とは、AWS がお届けする開発者のための開発者による Web セミナーシリーズです。複数回のセッションを通じて一つのテーマを掘り下げ、実践的な情報の提供や QA などを通じた参加者の皆様とディスカッションにより理解を深めていくことを目的としています。

https://pages.awscloud.com/DevAxconnect_Season1.html

シーズン1のテーマは「イベント駆動」です。

イベント駆動と言えば非同期処理?ということでそれなりの規模で処理をする時は重要なポイントかなと思います。

第1回 イベント駆動アーキテクチャ入門  〜基本となる考え方から実装パターンまで〜

このブログを書いている時点で既に第1回めのイベントは終了しているので、少し紹介します。 (時間の都合で最後まで参加できなかったので最初の方だけですが。)

セミナーの流れ

最初に簡単なストーリーが紹介され、ストーリーの課題を解決するためにイベント駆動などのキーワードを調べていくという流れで始まります。

今回のストーリはマイクロサービスアーキテクチャを採用した旅行サイトを開発・運営する中でサービス間が密結合になり、結果開発やサービスに影響がでるようになるという良くある課題を抱えている所から始まります。 これらの課題を解決しアジリティ高く開発したり障害を極小化する方法を考えたなかで、イベント駆動や非同期というキーワードが出てきたのでそれらについて考えていこうというストーリーです。

感想

最初に「イベント駆動とは何か?」が話されるのですが、イベント駆動の歴史やメッセージングサービス等の紹介から始まり、何故かドメイン駆動設計の話になります。 「なぜドメイン駆動?」と思いながら聞いているとコンテキストの境界からパブリッシュ/サブクラブの話になりイベントへつながり「なるほど」となった所が面白かったです。

他にも「イベントとは観察可能なもので、コマンドではない」というというのが、「スケールできる」というのを分かり易く説明していると思いました。 コマンドの場合商品が購入されたら、請求書を発行するなど全ての作業を把握してコマンドを投げていかないといけません。 一方イベントを観察する場合、商品が注文されたというイベントを観測して各々が請求書を発行したりセルフレポートに追加したりできます。 コマンドを待たず処理を開始できるということは、他の処理(例えば荷物の発送準備)も追加しやすくスケールもしやすいというのが分かります。

イベントは観察可能であり、指示ではない
AWS DevAx::connect資料から引用

1回目を受けてみて思うのは、あるあるなストーリーに対してこういう構成でこう言うことができるよというのが紹介されているので試してみようってなる人が多そうでした。

最後に

DevAx::connect シーズン1は全8回で本ブログ公開時点で既に第1回は終わっていますが、全てのセミナーに参加しなければいけないタイプのイベントでは無いのと、各セミナーの資料と動画が後日公開されるようになっているので次回から参加しても問題無くついていけると思います。 申込みはAWSのサイト(https://pages.awscloud.com/DevAxconnect_Season1.html)からできます。

無理に参加する必要はないのですが、質問タイムが用意されていてインタラクティブに進められるので時間の都合がつく人は是非リアルタイムで参加して、質問などされると理解が進んで良いかと思います。

私の書き方だとなかなか良さが伝わらないと思うので、Twitterでハッシュタグ「#devaxconnect」で検索していただくと当日の雰囲気が何となく感じられるかもしれまん。