This isn't a complicated architecture. It looks like a pretty small and simple cloud deployment. The EC2 looks a bit out of place, but I'm assuming there were technical reasons it couldn't be a lambda instead. Apart from EC2, all of the compute is consumption based so you're just paying for actual utilization. This is a far more efficient approach to building in the cloud than just throwing a monolith on a VM and calling it a day.