What is the MOST operationally efficient solution that meets these requirements?
Deploy the application as AWS Lambda functions. Set up Amazon API Gateway REST API endpoints for the application. Create a Lambda function, and configure a Lambda authorizer.
Deploy the application in AWS AppSync, and configure AWS Lambda resolvers. Set up an Amazon Cognito user pool, and configure AWS AppSync to use the user pool for authorization.
Deploy the application as AWS Lambda functions. Set up Amazon API Gateway REST API endpoints for the application. Set up an Amazon Cognito user pool, and configure an Amazon Cognito authorizer.
Deploy the application in Amazon Elastic Kubernetes Service (Amazon EKS) clusters. Set up an Application Load Balancer for the EKS pods. Set up an Amazon Cognito user pool and service pod for authentication.
Explanations:
While deploying the application as AWS Lambda functions and using API Gateway is a serverless approach, a Lambda authorizer would require additional management for authorization, making it less operationally efficient than using a fully managed service like Amazon Cognito.
AWS AppSync is a great service for GraphQL APIs but doesn’t align with the requirement for a REST API application. It introduces unnecessary complexity since the team specifically wants a REST API solution.
This option leverages AWS Lambda for serverless execution, Amazon API Gateway for REST API management, and Amazon Cognito for user authentication, providing a fully managed solution that minimizes operational overhead and does not require server maintenance.
Deploying the application in Amazon EKS introduces infrastructure management overhead and operational complexity, as the IT team does not want to maintain any servers. While it can be used with Amazon Cognito, the requirement for a serverless architecture is not met.