Serverless Architecture
こんばんは。ものレボの古澤です。
今回はサーバーレスアーキテクチャについて、記載しようと思います。
ものレボではAWSのAPIGateway、Lambdaによるサーバーレスアーキテクチャを使用しています。
サーバーレスアーキテクチャを採用した理由としては、色々ありますが、結局は、サーバーの運用が楽というのが、1番大きな理由です。
開発者の人数が少ない中で、日々のインフラメンテナンス、トラブルに割く時間は大きなデメリットになり、他の開発が遅れてしまうため、サーバーレスアーキテクチャを使用しています。
サーバーレスアーキテクチャを使っている中で困ったことや苦労したことなどはないのか?と言われると、私自身初の試みだったため、色々詰まるところがあったので、ご紹介したいと思います。
API Gatewayの癖が強い
oas3を使用してAPIGatewayの定義を行っていますが、標準仕様では許可されているものが、AWSでは定義されておらず、エラーになることもありました。
開発環境が構築しにくい
凝ったことをしない内は問題がなかったのですが、少し凝ったことを始めると、samコマンドでapiがローカルで立ち上がらなくなったりしたため、開発環境という点では難を感じます。まぁ、マネージドサービスを多用しているという点も困難を助長しているのですが。。。
コールドスタンバイからの立ち上がりがめちゃくちゃ遅い遅い
最近はプロビジョニングができるようになっているので大丈夫ですが、なかったときは立ち上がりに1秒近くかかったりするため、アプリケーションの実行時間に対して、極端に遅くなっていました。
上記のように色々と問題は出ていましたが、他のサーバーがインフラの老朽化などで止まる中、サーバーレス環境は粛々と動き続けており、メンテナンスも殆ど必要がないため、今後も使って行きたいと考えています。