Even if you want to deploy just one instance of your server, it might be a good idea to add yet another service in front of it instead of the load balancer—a reverse proxy. While a proxy usually acts on behalf of the client sending some requests, a reverse proxy acts on behalf of the servers handling those requests, hence the name.
Why use it, you ask? There are several reasons and uses for such a proxy:
- Security: The address of your server is now hidden, and the server can be protected by the proxy's DDoS prevention capabilities.
- Flexibility and scalability: You can modify the infrastructure hidden behind the proxy in any way you want and when you want.
- Caching: Why bother the server if you already know what answer it will give?
- Compression: Compressing data will reduce the bandwidth needed, which may be especially useful for mobile users with poor connectivity. It can also lower your networking costs (but will likely cost you compute power).
- SSL termination...