Avatar of Jorge Velasco

Jorge Velasco

Full Stack Developer at Fintual
Full Stack Developer at Fintual·

The most relevant part is the central architecture more than the specific backend. For me, it makes sense to go for an event-driven solution. In this case, an event is emitted on every new data, and one or more listeners react to it. In AWS, you can easily get this by storing your data in DynamoDB, which is pretty fast, and have as many lambdas working on the received data (here you can find more details). This way, you keep your worker(s) busy fetching data while others consolidate it. I wouldn't get too crazy on the lambdas, and I'd start with one as there will be only one client by your description. My only concern is how similar the APIs you're consuming are. Depending on that, it may be easier to have different lambdas by target API. My only note on the backend language is that if you want low latency, I'd discard Python and Ruby and choose Go (I know that is not in the list, but given that you're open to learning a new language, you could give it a try). It is easy to learn, has excellent performance, and is the only Lamdba runtime with an X (1.X) in the supported language, making it a great choice.

READ MORE
8 upvotes·1 comment·90.6K views
Carlos Garafulic
Carlos Garafulic
·
December 9th 2021 at 8:07PM

I am a business analyst with many years of experience. I agree with j-Velasco suggestion. I would add to the stack Apollo server so your API will get the benefits of GraphQL. Apollo server can be deployed with AWS Lambda.

·
Reply