Before looking at reverse proxy, lets look at what a proxy is*
The webster definition for proxy is "authority or power to act for another". Simply put, a proxy is a server representing another entity. The entity can be a user or a server.
Kinds of proxies
There are two kinds of proxies, forward and reverse. Forward proxies are the proxies installed in the end users machine/ network. Reverse proxy sits in front of a server. Forward proxies proxy the client and Reverse proxies proxy the server.
Why use a Reverse proxy?
One of the benefits of reverse proxy is the ability to serve sub directories of your site form a different server. For example your site n hosted in www.example.com and you want to host ww.example.com/blog from a different server. Reverse proxy can let you serve /blog sub directory from a different server.
What are the common Reverse Proxies?
The commonly used reverse proxies are Nginx and Apache.
With static content served via CDN servers sitting closer to the end users, and with no round trip to application server (or) database for most of the site, websites can be delivered to the end users, insanely fast. Faster sites offer better user experience and improved user retention. Static generation frameworks like GatsbyJS applies most of the performance best practices out of the box (Ex: Route based code splitting, inlining of critical css, optimized images, pre fetching, pre rendering etc).
What are a common reverse proxy servers?
Faster site improves the SEO score and brings more customers to the site due to better positioned search results and in turn increases the company's top line growth.
Disadvantage of using a reverse proxy
Most of the site(except the APIs) will be served as static via CDN, that means there will NOT be any application servers or databases in production to serve your site. This will lead to immense cost saving as your customer base increases.