はじめに
サーバーレス大好きなエンジニアです!
AWS SUMMIT 2024に行ってきて、たくさんのことを学んできました!
特に「サーバーレス開発のベストプラクティス」の内容が面白かったのでシェアしたいと思います。
サーバーレスとは
サーバーやインフラの管理を気にすることなくアプリケーションを実行することができる最高の技術です。細かい設定を気にすることなく、すぐに価値を提供できることが魅力です。
Lambdaのベストプラクティス
ここからAWS SUMMIT 2024の内容に触れていきます。
TransportではなくTransform
まず、ハッとさせられたのは以下のことです。
Transport (転送)ではなくTransform(変換)に使⽤する。
今までLambdaをどれだけ転送機能として使ってきたかを考えさせられました。
何でもかんでもLambdaに任せるのではなく、特定の変換処理を行うことに専念させると、より効果的に使うことができます。
繋げるLambdaを減らす
複数のLambdaを繋げるのではなく、できるだけシンプルに、独自の処理を行うためにLambdaを使うのが理想です。
Lambdaを経由せずそのままアプリケーションを繋げることでエラー確率を減らすことができます。
単一責務の原則
Lambda関数に単一責務を持たせることが重要です。
一つのAPIをすべてのLambdaに集約させると、ロールの権限管理が複雑になり、わかりにくくなります。
一方で、一つのAPIごとにLambdaを持たせると数が増えすぎてしまいます。そこで、関連するAPIをグループ化するのがベストです。
ConfigurationとしてのAWSサービス
独自のコードを書くのではなく、CONFIGURATIONとして組み込むことを考えると効率的です。例えば、AWS Step FunctionsやAmazon EventBridgeを使うことで、複雑なフローも簡単に管理できます。
AWS Step Functionsのメリット
Step Functionsを使うと、異なるAWSサービスを連携させたワークフローを簡単に構築できます。視覚的にフローを確認できるので、デバッグも楽に行うことができます!
まとめ
サーバーレスをより効率的により賢く使いこなすためには以下のことが重要です。
- Lambdaの役割を理解して使う
- Step functionを使用し、拡張性のあるさサーバーレスアーキテクチャを構築する
LambdaやStep Functionsを上手に活用して、アプリケーションをより良いものにしていきましょう。
皆さんの参考になれば幸いです!