exam questions

Exam AWS Certified Solutions Architect - Professional SAP-C02 All Questions

View all questions & answers for the AWS Certified Solutions Architect - Professional SAP-C02 exam

Exam AWS Certified Solutions Architect - Professional SAP-C02 topic 1 question 45 discussion

A company hosts a Git repository in an on-premises data center. The company uses webhooks to invoke functionality that runs in the AWS Cloud. The company hosts the webhook logic on a set of Amazon EC2 instances in an Auto Scaling group that the company set as a target for an Application Load Balancer (ALB). The Git server calls the ALB for the configured webhooks. The company wants to move the solution to a serverless architecture.

Which solution will meet these requirements with the LEAST operational overhead?

  • A. For each webhook, create and configure an AWS Lambda function URL. Update the Git servers to call the individual Lambda function URLs.
  • B. Create an Amazon API Gateway HTTP API. Implement each webhook logic in a separate AWS Lambda function. Update the Git servers to call the API Gateway endpoint.
  • C. Deploy the webhook logic to AWS App Runner. Create an ALB, and set App Runner as the target. Update the Git servers to call the ALB endpoint.
  • D. Containerize the webhook logic. Create an Amazon Elastic Container Service (Amazon ECS) cluster, and run the webhook logic in AWS Fargate. Create an Amazon API Gateway REST API, and set Fargate as the target. Update the Git servers to call the API Gateway endpoint.
Show Suggested Answer Hide Answer
Suggested Answer: B 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
masetromain
Highly Voted 2 years ago
Selected Answer: B
B. Create an Amazon API Gateway HTTP API. Implement each webhook logic in a separate AWS Lambda function. Update the Git servers to call the API Gateway endpoint. This solution will provide low operational overhead as it utilizes the serverless capabilities of AWS Lambda and API Gateway, which automatically scales and manages the underlying infrastructure and resources. It also allows for the webhook logic to be easily managed and updated through the API Gateway interface. The answer should be B because it is the best solution in terms of operational overhead.
upvoted 24 times
masetromain
2 years ago
Option A would require updating the Git servers to call individual Lambda function URLs for each webhook, which would be more complex and time-consuming than calling a single API Gateway endpoint. Option C would require deploying the webhook logic to AWS App Runner, which would also be more complex and time-consuming than using an API Gateway. Option D would also require containerizing the webhook logic and creating an ECS cluster and Fargate, which would also add complexity and operational overhead compared to using an API Gateway.
upvoted 8 times
hobokabobo
1 year, 11 months ago
I do agree with B. However on Git server side it does make no difference if one calls aws or do a rest call via gateway. Eg. if you use Python it makes no difference if you use boto(call Lambda) or request(rest api) module. If one implemets via shell it makes no difference if one uses aws-cli(invoke Lambda directly) or curl(do a rest call). Similar for other implementations.
upvoted 2 times
hobokabobo
1 year, 11 months ago
As addition why B is still better: it hides the implementation details and decouples by introducing a interface. With that a team for Aws may change what ever it needs to change to implement the interface. On the other hand on git side can use whatever deems necessary without caring about implementation details.
upvoted 2 times
...
...
...
...
ninomfr64
Highly Voted 1 year, 1 month ago
Selected Answer: A
I need help here: what's wrong with Lambda Function URL? With A I just need to handle my Lambda functions, updates go trough updating my aliases pointing to a new version. Here I am just missing all the capabilities provided by API Gateway that seems not to be requested (transformations, throttling, quotas, cache, api keys, auth, OpenAPI, ...). With B I still need to implement each webhook logic in a separate AWS Lambda function and update git server + I need to operates API Gateway. Any other option requires 2 or more services thus generating more operations, also: Not C as app runner is not a target for ALB (private IP, ECS, EC2 instance, Lambda) Not D as you cannot set Fargate as API Gateway target (while you can use ECS as target) Can you help me understand why B requires less operations overhead?
upvoted 6 times
Malcnorth59
8 months, 3 weeks ago
Option A requires that you update the webhooks for each lambda function. This will create a considerable operational overhead not just for the initial change but going forward as well. API Gateway (B) decouple the functions from the Webhooks.
upvoted 2 times
...
...
glf
Most Recent 2 weeks, 6 days ago
Selected Answer: A
B is plain wrong. With an HTTP API Gateway you're publishing your API on the Internet, which could be forbidden by security policy. Even if it is not, you at least need to setup authentication, with OAuth2 or custom Lambda authorizer. And in this case, you lose the advantage in terms of operational overhead.
upvoted 1 times
...
GabrielShiao
4 months, 1 week ago
Selected Answer: C
Deploy the web hook logic to the Apprunner which takes a minor effort to build and deploy the container image automatically without underlying infrastructure management.
upvoted 1 times
...
amministrazione
5 months, 1 week ago
B. Create an Amazon API Gateway HTTP API. Implement each webhook logic in a separate AWS Lambda function. Update the Git servers to call the API Gateway endpoint.
upvoted 1 times
...
subbupro
5 months, 2 weeks ago
C is the best one . Operational over head - exisiting web logic needs to be change into the lambda. But in C - just we can use the same logic just deployment activities. Please go with C
upvoted 1 times
...
Malcnorth59
8 months, 3 weeks ago
Selected Answer: B
A: large operational overhead B: Choice C: App runner doesn't use ALB D: Unnecessary complexity with containers
upvoted 2 times
...
Fu7ed
9 months ago
https://aws.amazon.com/ko/solutions/implementations/git-to-s3-using-webhooks/
upvoted 2 times
Fu7ed
9 months ago
choose B
upvoted 1 times
...
...
kz407
10 months, 3 weeks ago
Selected Answer: B
Given the current answers, I think B is the only possible option with least overhead. C would have been a better candidate over B, if it mentioned to include the App Runner in a Target Group TG and assign TG as the target for the API Gateway. As it stands now, C is not correct because App Runner app can't be directly assigned as a target for API Gateway.
upvoted 1 times
...
gofavad926
10 months, 3 weeks ago
Selected Answer: A
A, because is the solution with less operational overhead. Also option B also will create new lambda functions per webhook, and you have to define the specific path in the apigateway and integrate it with your specific lambda...
upvoted 5 times
...
bjexamprep
11 months ago
Selected Answer: B
Lambda function is the easiest way to implement the webhook logic. App Runner and ECS all requires more ops overhead. So the answer is between A and B. Someone argue that using A introduces ops overhead of mapping every Lambda function to the webhooks, but actually with B, users don’t need to map Lambda function in git webhooks, but move the Lambda function mapping ops to API gateway. The mapping need to be done, that’s an ops overhead that cannot be ignored. I’m guessing the question designer prefers to use API GW, because the description “Update the Git servers to call the individual Lambda function URLs.” doesn’t look good. While, in reality, the repo developers create the Lambda function, and they know the URL, it’s very easy to launch the Lambda function from the web hook. No additional API GW is required.
upvoted 1 times
...
master9
1 year ago
Selected Answer: C
You can set App Runner as a target for ALB. AWS App Runner can use your code. You can use AWS App Runner to create and manage services based on two fundamentally different service sources: source code and source image. App Runner starts, runs, scales, and balances your service regardless of the source type. You can use the CI/CD capability of App Runner to track changes to your source image or code. When App Runner discovers a change, it automatically builds (for source code) and deploys the new version to your App Runner service
upvoted 1 times
djeong95
11 months, 2 weeks ago
Looks like App Runner is built more for deploying web applications rather than hosting webhook logics.
upvoted 1 times
...
...
uas99
1 year, 1 month ago
A. is the right answer as no need to introduce gateway here
upvoted 2 times
...
subbupro
1 year, 2 months ago
Least operations is the key. App runner is a aws managed one and can deploy it easily, A and B we need to create lamda for each web hook it is very complex . So C would be correct
upvoted 1 times
jpa8300
1 year, 1 month ago
ninomfr64 says that App runner cannot be a target for ALB, so that's the reason you cannot select C.
upvoted 2 times
...
...
severlight
1 year, 2 months ago
Selected Answer: B
Don't see the exact reasons to not choose A for now, but B will work for sure.
upvoted 1 times
severlight
1 year, 2 months ago
UPD: Don't see the exact reasons why A won't work for now, but B will work for sure.
upvoted 1 times
...
...
whenthan
1 year, 3 months ago
Selected Answer: B
reducing operational overhead!
upvoted 1 times
...
Andy97229
1 year, 3 months ago
Selected Answer: C
B vs C. Looking at App Runner C makes more sense.
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago