サーバレスアプリケーション開発においても、アプリケーション面のエラーなどは開発者が責任を負う必要がある。そこで重要になるのがエラーハンドリングだが、実際にはエラーハンドリングの実装が検討されなかったり、エラーケースが一部見落とされたりするなど、不十分な状態で開発が進むケースが散見される。
そもそもエラーのパターンには、アプリケーション内で発生するもの、外で発生するもの、例外的にアプリケーションをまたがるものがあり、それぞれエラーハンドリングの方法が異なる。サーバレスで特に重要となるのは、イベントにより生成されるメッセージ関連の対策検討だ。この場合のエラーハンドリング方法としては、リトライ、メッセージキューイング(配信・順序セマンティクス)、メッセージ破棄/退避などがある。
本資料では、このようなエラーハンドリングの手法を解説するとともに、Amazon Web Servicesのサーバレスサービスを利用したベストプラクティスも紹介している。サーバレスによってユーザーの責任領域は小さくなったが、依然として重要性は高い。本資料でサーバレスアプリケーションのエラーハンドリングへの理解を深めてほしい。