サーバーレスのアーキテクチャがアプリケーションに適しているかどうかを判断するには、考慮すべき点がたくさんあります。私は、この質問には「すべてが合う」という答えはないと思う。
サーブレットコンテナの代わりにラムダを使用すると、実際にセッションの永続性に関して少しの開発オーバーヘッドが発生します。しかし、サーバーレスのアーキテクチャーがアプリケーションに適しているかどうかを尋ねるときには、これは必ずプライマリであるとは思わないと思います。セッションが動作するように起こっているかを心配する前に、私は自分自身に尋ねたい:
- アムI喜ん及びそのアプローチが付属して、追加の運用と開発の複雑さを受け入れ、microservicesのコレクションとしてアプリケーションを書くことができますか?
- 私はUIにクライアント側のレンダリング手法を使用しますか?そうでない場合は、私が選択したサーバー側レンダリング技術がLambdaと簡単に統合できますか?
- 私は(安全に)クライアント側にどのくらいのビジネスロジックを埋め込むことができますか?
- 私のトラフィックパターンは何ですか(そして拡張性の必要性によって)?私の交通は安定していますか?スパイキー?私は休眠の長い期間を持っていますか?
- サーバレスでEC2経由でcost advantageになる可能性はありますか?
- ラムダのコールドスタートはあなたのUXにとってどれほど有害でしょうか?
- 最後に、セッションに関して、セッション中のデータの重要度はどれくらいですか? JWTをオプションとして使用する「ステートレス」セッションですか?
アプリケーションが本当にサーバーレスのアーキテクチャに適している場合、セッションを維持する方法を把握するオーバーヘッドは、おそらくディール・ブレーカーと同じくらい高価ではありません。
私の経験では、開発者(自分自身を含む)は、セッションの実装方法や持続方法の特徴よりも、マイクロサービスや(多くの場合)クライアント側のレンダリングへのパラダイムシフトには苦労しています。
ありがとうdashmug ..ステートフルなサービスとしてステートレスなサービスを行うための回避策はありませんか?既存の言語やフレームワークを使用して従来のWebアプリケーションを構築するよりも優れたソリューションですか? –
あなたが何を意味しているのか分かりません。明らかに、ステートレス+ステートフルステートフルです。これは定義によるもので、回避策ではありません。 – dashmug
言語はセッションのメンテナンスを行いません。フレームワークに関しては、どのようにセッションメンテナンスを実装すると思いますか?彼らはどのように状態を保つのですか? :-) – dashmug