AWS Architecture Basics

So I am early in my migration into the serverless world. Been on AWS for a wee while, getting up the curve on a few services and their interaction but its all a bit basic and disjointed. I am sure you have all been here before, but this isn’t a great strategy for getting my head round the best practices in this field.

So Q1 - any suggestions for good resources to understand architectures and development strategy ?

Q2 is melting my head. Probably for the lack of understanding on Q1…

I have a local service that I want to bring to AWS that takes a search list as a parameter through an api and calls a third party api to request data packets. Rate limit is 1200 in 5 minutes. The last run was for 15,000 records. Response time on average is 2s, so I am nowhere near my rate limit.

Lambda is an attractive approach as I can easily run parallel processes and more importantly automatically scale up slower processing functions to optimise the pipeline speed.

However I am confused as to what the architectural options are to optimally manage the requests functionality?? Rather than rabbit on about my thoughts, perhaps it is better if I leave it as an open question.

I have also been reading some other posts on here about splitting lambda functions or not. To balance the load I anticipate needing roughly 2 processing functions for every requests function, which seems like a good reason to split to me - so what intercedes between the two?

After processing the data needs to end up in DynamoDB and possibly in S3 in the form of a couple of different types of generated files.

Appreciate your thoughts…

Checkout GitHub - serverless/examples: Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more. and the community architecture examples GitHub - serverless/examples: Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more.

Maybe for your other question something like this:

Trigger Lambda function with map of the third party api call you need > Those fan out and invoke lambdas to make the requests > then they take the data and pipe to a queue that feeds into DynamoDB / S3

This plugin from trek10 might also be of interest to you GitHub - trek10inc/serverless-aws-lambda-fanout: Quickly add a fanout lambda with targets to a serverless project