3 ms·
This is how Amazon works internally, and by choice, because unnecessary complexity is the enemy. > How do you do load balancing? With dedicated load balancers
by ex_amazon_sde 6y ago
This is how Amazon works internally, and by choice, because unnecessary complexity is the enemy.
> How do you do load balancing?
With dedicated load balancers. They are even cheaper than servers because they are optimized for doing one thing.
> How do you scale up and down?
With pretty trivial automation than trigger deployments when load is too high.
> How do you update your app without downtime?
(app?!) A package manager pulls updated packages, deploys them and restarts the services. The LB does the flipping.
> How do you roll back easily if something goes wrong?
The package manager does that quite easily
> How do you ensure all your servers are running the same version of dependencies?
> How do you update those dependencies?
Package managers support versioning on dependencies.
> How do you replicate your environment if you want to add a new server to your cluster?
You install MyStuff version 1.2.3 and everything goes in.
> If your app has microservices how do services discover each other?
Thankfully Amazon uses services that are not micro. DNS does the trick.
> How do you update configuration?
It's in the packages.
> How do you automatically restart failed applications?
OSes do that since decades.
> How do you monitor if your applications are working?
LBs check the endpoints, monitoring tools do the rest.
Essentially you can build all of this with the technology that existed 15 years ago. It works reliably and it takes much less learning.