AWS Summit Japan2024の体験ブース「Serverlesspresso」で苦手なコーヒーを飲んだ話

2024年6月20日、21日の2日間。幕張メッセで開催されたAWS Summit Japanへ参加してきた。今年のAWS Summitは、生成AIの話題が非常に多かった。そんな中、多くの来場者が「Serverlesspresso」というAWSブースで足を止めていた。私も気になり体験してきたので皆さんにも本記事で共有したい。

どんな人におすすめの記事なのか?

AWS Summit Japan2024に現地参加できなかった
どんなブースがあったか知りたい
サーバーレスで何ができるか知りたい

この記事を読むと学べるこ

Serverlesspressoでコーヒーを飲んだ話
Serverlesspressoを実現するサーバーレス構成
AWSサーバーレスについて

「Serverlesspresso」ってなに

AWSのサーバーレスサービスで構築された注文受付システムを利用し、無料でコーヒーを来場者へ配るAWS体験ブースである。注文は以下の流れであった。

  1. 頭上のモニターには、5 分ごとに変わる QR コードが表示されます。お客様はスマートフォンを使用してこの QR コードをスキャンして注文します。 QR コードは 5 分間で 10 杯まで利用でき、ドリンクがなくなると画面から消えます。これにより、バリスタが注文に忙殺されるのを防ぐことができます。
  2. お客様は、QR コードによって読み込まれた スマートフォンのブラウザ上で注文を行います。バックエンドは注文を検証し、注文番号を作成して、バリスタがそれを利用できるようにします。
  3. バリスタは、注文がバリスタ側のアプリに表示されるのを確認します。注文のステータスを変更して、いま作成中か、いつ完了したか、または注文をキャンセルされたかをお客様に表示することができます。
  4. お客様はスマートフォンですべてのバリスタによる注文状態の更新を確認できます。現地には大型のディスプレイが設置されており、現在注文されているオーダーや完成したコーヒーのステータスが表示されます。

引用:Serverlesspresso バリスタの舞台裏~Happy Coffee, Happy Coding !

決められた時間ごとにQRコードが変わり、さらに一度に注文できる数が10杯までと決まっているため、ブースに設置された大型ディスプレイにQRコードが表示される数十秒前から皆一斉にスマホを掲げ、コード読み取りの準備を始める。その光景はなんだか面白かった。例に漏れず私もカメラをQRコードに向け、表示されるのを待った。2回目のチャレンジで無事にコーヒーを注文でき、受け取ることができた。(1回目は電話番号を登録する画面が表示され、注文に間に合わなかった)

普段、全くコーヒーを飲まない。とにかく「Serverlesspresso」を体験してみたかった。早く注文せねばと何も考えず、AMERICANOとESPRESSOの2種類のうち、ESPRESSOを選択したのだが、提供されたカップを持って驚いた。めちゃめちゃ軽い!これはお試しだからと一瞬思ったが、そんなはずはない。ただ、それがESPRESSOだからというオチであった。

AWSのサーバーレスサービスって一体なに?

AWS はサーバーを管理することなく、コードの実行、データの管理、アプリケーションの統合を行うための技術を提供します。サーバーレス技術には、オートスケーリング、ビルトインの高可用性、使用量に応じた課金モデルなどの特徴があり、俊敏性の向上とコストの最適化を実現します。また、これらの技術により、キャパシティプロビジョニングやパッチ適用などのインフラストラクチャ管理タスクが不要になるため、お客様に役立つコードの作成に集中することができます。

引用:AWSでのサーバーレス

通常、アプリケーションを構築するには、そのアプリケーションを支えるインフラ、つまりサーバーが必要となる。そのため、サーバーを稼働させるために必要なリソースを準備し、OSをインストールしたり、セキュリティ設定を行ったりと、さまざまな点でそのサーバーを管理することが必要である。サーバーレスの場合、これらの管理をサービスプロバイダー(例えばAWS)に任せることで、開発者はサーバー管理を意識することなく、アプリケーションの開発に集中することが可能になり、サービスプロバイダーがインフラのプロビジョニング、スケーリング、メンテナンスを自動的に行うため、開発者はコードの作成とデプロイに専念できるようになる。

「Serverlesspresso」はワークフローアーキテクチャ / イベント駆動アーキテクチャ

「Serverlesspresso」で利用されている注文受付システムのアーキテクチャーが公開されている。実際の検証処理や注文処理は、AWS Lambdaのコンピュートで処理されているわけではないようだ。それぞれのマイクロサービス(Order Manager serviceなど)はEventBridge Event busへイベントを送信するまでが仕事であり、このアーキテクチャーの肝はEventBridgeから受け取ったイベントに応じて、AWS Step Functions がそれぞれの処理ロジックとなるワークフローの実行を担っているということである。

引用:Serverlesspresso バリスタの舞台裏~Happy Coffee, Happy Coding !

AWSサーバーレスサービスで構築された「Serverlesspresso」を実際に現地で体験することで、サーバーレスへの興味が湧き、関心を持った来場者も多いことだろう。また、「Serverlesspresso」で利用されているStep FunctionsやEventBridgeでアプリケーションを迅速に構築することも可能である。「Serverlesspresso: ☕︎イベント駆動型アプリケーションをゼロから構築する」では、ハンズオン形式で実際にアプリケーションを構築していくことができる。興味のある方は是非トライしてみてほしい。