From my understanding you have:
Reverse Proxy: A device standing between internal servers and the internet. Some goals: SSL termination, caching, obfuscation, more freedom to change internal structure without affecting your clients
Load Balancer: One server can't handle all the traffic; get 10 servers, and have clients route through a load balancer to distribute the load to each server
Firewall: A device that filters out malicious traffic from the internet
In all three cases, you have a server that sits between the internet and your internal network. In real-world applications, can one device wear all these hats? Does this happen often? Why or why not?
And specifically, for very large scale systems, how would this design look?