What does this layer do ?
Balancing
hardware balancer (citrix netscaler)
Pros : simple
Cons : expensive
nginx/HAProxy
soft balancing strategy :
round robin/weight-based robin/least busy/sticky session or cookie
Pros: free
Cons: complex to config based on different situations
CDN
host static resource: image/js/css/html
pull/push
pull: in case when content missing or expired need to download latest from original server
Use Case :small amount of traffic/large storage
push: content auto pushed to client when there is change
Use Case: heavy traffic/small storage
DNS
Resolve host name
Could also be used as balancer
Api Gateway
Authorization
Reverse Proxy (inbound/outbound)
Cache (query/frontend api call)
SSL Termination
Rate limiting/Throttling
use token-bucket model
(Duplicate) Request filtering
Logging/Request Audit