Amazon Web Services ブログ
いかにして、Ryanair社は、S3 Object Lambda を使って COVID-19 ウオレット をリリースしたか?
ヨーロッパ最大の航空会社グループであるRyanair Holdings plcは、Buzz社、Lauda社、Malta Air社、Ryanair社の親会社です。80以上の拠点から毎日2,500便以上のフライトで、Covid-19以前では、1億4,900万人のゲストを輸送していました。グループ内では、37か国、225以上の目的地を450機で結びます。更に210機のボーイング737 を発注しました。これは、今後5年間でRyanairグループの運賃の値下げ及び運輸量を2億人に成長させることに繋がります。Ryanair社には、16,000人を超える高度なスキルを持つ航空専門家のチームがあり、ヨーロッパでNo.1の定時運航と、業界をリードする35年の安全基準を提供しています。Ryanair社は、ヨーロッパで最も環境に配慮した最もクリーンな航空会社グループであり、Ryanair社に乗り換えている顧客は、他のヨーロッパの4大主要航空会社と比較してCO2排出量を最大50%削減できます。
2021年3月10日、Ryanair社は、新しいCOVID-19 Travel ウォレットを開始しました。これはモバイルアプリケーションから入手できます。Ryanair社のお客様は、Covid-19 Travel ウォレットを使用して、PCRテストの陰性結果、Covidワクチン接種証明書、およびEU旅行に必要になるその他のCovid関連の文書をアップロードできます。顧客がアップロードしたドキュメントは、AmazonS3 に安全に保存されます。
1つのポイントで、すべてのCovid-19関連の文書を保存し、搭乗券に関連付けることができます。また、空港内を移動中にハードコピーを紛失した場合でも安心です。この新機能には、搭乗券内にあり、スタッフが、ゲートで、デジタル版またはハードコピーのドキュメントを確認することが出来ます。
S3 Object Lambda と Ryanair社の COVID-19 モバイル ウオレット
Amazon S3 にデータを保存すると、複数のアプリケーションでデータを簡単にシェアすることが出来ます。しかしながら、アプリケーション毎に独自の要件があり、異なるビューのデータが必要になる場合もあります。例えば、電子商取引アプリケーションによって作成されたデータセットには、必要のない個人識別情報(PII)が含まれる場合がありますが、分析のために処理される場合は必要ではありません。反対に、同じデータセットをマーケティングキャンペーンに使用する場合、顧客ロイヤルティデータベースから追加で詳細データを加える必要がある場合があります。
S3 Object Lambda を使用すると、S3 GET リクエストに、独自コードを追加して、データを変更および処理して、アプリケーションに戻すことができます。これにより、開発者は AWS Lambda 関数を使用して、標準の S3 GET リクエストによって返されるデータを変更して、行のフィルタリング、イメージの動的なサイズ変更、機密データの編集などを行うことができます。
Ryanair社 の場合、この新機能により、モバイルアプリに多大な開発労力を費やすのではなく、AWS のバックエンドに開発作業をシフトすることができました。これにより、モバイルアプリのお客様は、すべてのCOVID-19関連の旅行文書をアプリケーション内の一元的な場所に保存できます。
S3 からドキュメントをダウンロードする場合、モバイルアプリケーション内で標準化された画像形式を確保するために、S3-GET リクエストで PDF ファイルタイプの変換が行われます。
お客様がモバイルアプリケーション内で搭乗券をリクエストすると、リクエストが Amazon API Gateway に送信され、関連付けられた AWS Lambda 関数が、リクエストを検証してプロセスを承認します。搭乗券は S3 public URL と関連付けられた TTL(time to live) で生成されます。アプリは、搭乗ゲートと入出国管理に表示されるすべての画像をダウンロードします。
Ryanair Labs社 の Head of Mobile Developmentを率いる、Joaquim Oliveira氏 は以下のように述べています。「早期導入者として、この方法は、単独の開発者でも数時間でスムーズに導入出来たと感じました。」「特定のユースケースについては、サーバーレスソリューションに、便利な追加レイヤーを提供します」
モバイルウォレットのアーキテクチャ図 S3 Object Lambda を使用した Ryanair社 COVID-19 モバイルウオレット
Ryanair社 COVID-19 と S3 Object Lambda アーキテクチャの説明
- モバイルアプリは予約の情報を要求します。
- API Gateway は、提供された情報を使用して AWS Lambda をトリガーします。
- Lambdaは、搭乗券とPDFのCOVID文書用のS3 URLを生成します。
- アプリは、返却されたS3 アクセスポイント URL を使用して COVID ドキュメントをリクエストします。
- S3 Object Lambda は、PDF が既に変換されているかどうかをチェックします。変換されている場合は、応答します。
- PDF が、まだ画像に変換されていない場合、Lambda は、画像を変換し保存してから応答します。
開発作業を削減するために
このロジックを AWS に移行し、S3 Object Lambda を活用することで、Ryanair社 は 3 日で、アプリを変更することなく PDF ファイルを含めることができました。お客様は、モバイルアプリを使用して、素早く予約をすることができます。Ryanairチームは当初、S3 イベント通知を評価して Lambda 関数を呼び出しましたが、ユーザーが Covid-19 ウォレットドキュメントをアップロードして、 COVID ドキュメントをリクエストするまでの時間が、呼び出し完了するのに十分ではなく、エラーが発生する可能性がありました。これにより、セッション時間が大多数のユーザーでは機能しないため複雑になります。変換されたドキュメントが、指定された形式で利用可能になり、ドキュメントがダウンロードされるまで、Ryanair社のアプリは、リクエストを、再試行し続ける必要があります。追加作業に加えて、サービス全体でリクエスト数とコストが増加します。S3 Object Lambda を使用して、Ryanair社 は、エンドユーザーに対する遅延を生じることなく、これらのドキュメントをリアルタイムで変換し、データをオフラインで使用できるようにすると同時に、ランニングコストを低く抑えることができます。
結論
この記事では、Ryanair社 が S3 Object Lambda を活用して迅速に重要な機能を 3 日間で提供し、顧客をサポートする方法を紹介しました。彼らの顧客は目的地の国への到着時に必要な書類をすべて手元で入手できます。
Oliveira氏は、以下のように述べています「S3 Object Lambdaは、S3にとって優れた新機能であり、Lambdaを、S3リクエストに持ち込みます」「Covid-19 ウォレットの開発のタイミングに適切でした」これにより、モバイルアプリケーションの新機能の開発に集中し、顧客にとってシームレスな方法で、手間のかかる作業は、AWSに残しました。
S3 Object Lambda の詳細については、機能ページ、ユーザーガイド、紹介ブログ、または次のビデオをご覧ください。
著者について
Joaquim Oliveira
Joaquim Oliveira は、アイルランドのダブリンに拠点を置くモバイル開発責任者です。彼のチームは、パイロット、客室乗務員、地上オペレーション、エンジニアが使用するRyanairの顧客および社内アプリケーションのすべてのモバイルアプリケーションを担当しています。Joaquim は 18 年以上のソフトウェア開発経験があります。空き時間には、ヨーロッパを旅したり、白黒写真を楽しんだり、ホラー小説を読んだりしています。
Ronan Prenty
Ronan Prenty は、アイルランドのダブリンに拠点を置くソリューションアーキテクトです。彼はアイルランドのあらゆる規模の企業と協力して、最新のテクノロジーを使用してクラウドでイノベーションを起こしています。彼は旅行とホスピタリティのドメインでいくつかのリファレンスアーキテクチャを発表しています。Ronan は、AWS サポートチームで、当時からサーバーレスドメインに関する専門知識を持っています。彼はDundalk ITからコンピューティングの学位を取得しています。空き時間には、ボクシングや、アウトドアを楽しんでいます。
翻訳はソリューションアーキテクトの齋藤が担当しました。原文はこちらです。