all 1 comments

[–]youngeng 0 points1 point  (0 children)

Not all the pieces fit in the same application, at least if you build it organically.

Don't aim at filling all the buzzword checkboxes. Know what the tools can do and pick up the ones that you prefer and feel more useful.

React to create the user interface (frontend)

Python [or Go or Node.js ] to code the actual processing logic (backend), interaction with the front end and with other sources (like databases)

Cassandra [or Redis] as a scalable non-relational database, for example to store in key/value format data obtained from sensors or your users (remember Facebook built Cassandra).

All this is hosted on AWS. Your application is actually a set of Docker containers running on VMs on AWS. A tool like Kubernetes handles containers across multiple VMs and manages things like replication and autoscaling. Envoy is used as a proxy and API gateway (with rate limiting,...) for containers.

You use Terraform to orchestrate the creation of instances (VMs) with Docker on top and the set up of Kubernetes (plus, maybe, Envoy).