Production App — How does it work?
Server - A computer that can handle requests (able to serve users)
From a Dev’s perspective, a simple app usually involves the following components: Building and deploying code, server, storage, load balancers, logging, metrics, alerts, etc.
A user would have to send requests to Server, and our API responds in some form of answers/ data
If we have alot of users keep requesting stuff from our server, we run into computing limitations (RAM, CPU, memory… etc) → Note we could always upgrade the server! (Vertical Scaling)
We can also do Horizontal scaling (Having multiple servers instead of one — Note in horizontal scaling, the servers are of the same size / capacity)
As a dev, we also have some external service which is used for logging (Stores all requests if they went thru, had an issue, etc)
Another external service is Metrics / Monitoring → How our application is running (Some metrics might come from logs)
We can use the metrics to set-up Alerts → This allows us when something is wrong! For example, if CPU reaches 95% capacity or about to be full.. Our Alerting service can automatically immediately let us know