Done thanks Load balancer is one of the applications of a reverse proxy Reverse proxy sits between the client request and the server instances Reverse proxy can cache requests Don’t need to use ssl between the reverse proxy and your application instance because they are supposed to be behind a firewall, only the reverse proxy is accessible from public internet
Thanks for the summary! For the last point (no need to use SSL behind the reverse proxy, true if you are in a private network but its recommended if you are in cloud architecture)
But today’s network, lb or reverse proxy even firewall can do the same thing, software function will keep as the same, like iPhone vs android. Even kernel is different, but for user’s perspective, just the same. So lb vs reverse proxy Main thing is Lb is marketing defined word. Reverse proxy is technical word... Nothing fancy
Your passion comes through with your content, and ooh boy is it a blessing for all us clueless meandering junior devs. Thank you. I'm thoughrouly enjoying your explanations.
Just learning about these for the first time, and didn't find any resources that describes the relationship between these. Super helpful in 2021, thank you!
This is what I am looking for. The concept, the fundamental not just some random guys typing some randoms codes on youtube. Thank you for sharing Hussein.
Doesn’t caching web pages destroy the ability to count the number of visitors to a specific page or to gather the metrics from those visitors? Particularly in the case where the web-site owner doesn’t own all of the caching servers (ie ISP’s caching content regionally)
thanks for nice video ,i am a bit confused though: I think load balancer is also : 1. Single entry point like proxy and isolates internal traffic. 2. Canary deployment can also happens through this also,when it goes to a particular new app host So, except caching, which load balancer does implicitly supports, all other features are implicitly supported by load balancer,Am I correct?
Either I feel I would like to have more information and longer video OR I feel that video are too long... Regardless these videos are addictive haha 😂 Glory to the back end guru!!!
Saurabh Agrawal it is actually a great question, yes varnish is a reverse proxy. Check out my Varnish video where I discuss how Varnish is a reverse proxy Varnish - HTTP Accelerator Crash Course th-cam.com/video/-cWs6eoyaLg/w-d-xo.html
CodeBit good question this is a very difficult problem to solve. caching Reverse proxies solve this problem differently check out varnish for example th-cam.com/video/-cWs6eoyaLg/w-d-xo.html
google's website has a reverse proxy/load balancer server that distributes requests to different servers but there are millions of requests to "google.com" every second. One reverse proxy server wouldn't process so many requests, how is this load distributed? Are there a lot of reverse proxy servers under one URL?
Excellent video !!! I have a question though. At around 7:45, you mentioned Load Balancer does not give all the 6 benefits of the reverse proxy. I thought Load Balancer has all the features of Reverse Proxy, additionally, it has the capability to Balance the traffic. So which are the features(you mentioned) of the reverse proxy, Load Balancer does not provide?
Great question, That statement Is correct only if you have a software that is built purely as a load balancer and nothing else. the moment you implement that load balancer you give up certain features of reverse proxy such as Canary deployment, blue green deployment and layer 7 routing (if app1 go here if app2 go here) because its a just dumb balancer doesnt have rules That being said, most of the time you can almost never find a software that is just a load balancer, you get instead a proxy that can also be a reverse proxy that can also be configured as a load balancer (e.g. haproxy, nginx, envoy) check out the haproxy video I made Hope that helps!
Thank you Hussein, great material as always! One aspect though I have never seen being tackled is: how can we support redundancy at the reverse proxy level? E.g. what happens if the single reverse proxy of a given architecture fails (i.e. high availability support)? Also, what if we just want to increase the system throughput by having multiple reverse proxies at the front level and not just one? How can we map a single domain name to different ips - i.e. how the necessary routing can be supported? Regarding software-related solutions, is "Virtual Ip" the answer?
Virtual IP is one answer, DNS load balancer is another I talked about this here th-cam.com/video/d-Bfi5qywFo/w-d-xo.html th-cam.com/video/Zgy1miPsTNs/w-d-xo.html th-cam.com/video/NizRDkTvxZo/w-d-xo.html
Hassan Shamshir correct essentially the nodes in the diagrams are applications “processes” listening on ports. It is up to you to run those processes on a single “server” machine or multiple ones
In case of Django/flask, an application server would be Gunicorn/uWSGI/WSGI which is like a middleman between your Django app and the web server. I don't know much about these things, this is just what I think it means.
Santosh Kumar nice idea! I already made a dedicated video about PROXY architecture how it works and much more check it out! th-cam.com/video/x4E4mbobGEc/w-d-xo.html let me know if that answers your questions .. cheers and thanks for comment
Hy Tim very interesting question, here is the problem is you have many services that need to be authenticated. Each service written in a different language, so naturally your authentication logic also need to be in the same language so here you are maintaining multiple authentication libraries. Second each of service doing extra (duplicate) work instead of what its suppose to do The solution is put a reverse proxy that take all requests, does the authentication and forward the request to the backend service only if is ok. Still its not as simple as it looks, there are some work needs to be done buts thats a summary
Reverse Proxy and Load Balancer is a classic rectangle:square relationship. Thank you.
Bruno Bronosky well said! Wish I have thought of that haha
I've been in the biz for many years, but the best explanation of how a reverse proxy differs from a proxy is at 2:30.
Your 10 minutes of content saves lots of time . Hats off to this man.
Done thanks
Load balancer is one of the applications of a reverse proxy
Reverse proxy sits between the client request and the server instances
Reverse proxy can cache requests
Don’t need to use ssl between the reverse proxy and your application instance because they are supposed to be behind a firewall, only the reverse proxy is accessible from public internet
Thanks for the summary! For the last point (no need to use SSL behind the reverse proxy, true if you are in a private network but its recommended if you are in cloud architecture)
But today’s network, lb or reverse proxy even firewall can do the same thing, software function will keep as the same, like iPhone vs android.
Even kernel is different, but for user’s perspective, just the same.
So lb vs reverse proxy
Main thing is
Lb is marketing defined word.
Reverse proxy is technical word...
Nothing fancy
@Hussein Nasser you could make videos on Mutual TLS between the proxy and the servers
Your passion comes through with your content, and ooh boy is it a blessing for all us clueless meandering junior devs. Thank you. I'm thoughrouly enjoying your explanations.
Thank you Sid!! I am passionate about the content I make and so greatful for all or you guys watching and enjoying it 😍
Just learning about these for the first time, and didn't find any resources that describes the relationship between these. Super helpful in 2021, thank you!
This is what I am looking for. The concept, the fundamental not just some random guys typing some randoms codes on youtube. Thank you for sharing Hussein.
yogi winardhana thanks Yogi glad you enjoyed the content and found what your looking for!
Doesn’t caching web pages destroy the ability to count the number of visitors to a specific page or to gather the metrics from those visitors? Particularly in the case where the web-site owner doesn’t own all of the caching servers (ie ISP’s caching content regionally)
Dziękujemy.
thanks for nice video ,i am a bit confused though:
I think load balancer is also :
1. Single entry point like proxy and isolates internal traffic.
2. Canary deployment can also happens through this also,when it goes to a particular new app host
So, except caching, which load balancer does implicitly supports, all other features are implicitly supported by load balancer,Am I correct?
Excellent content as always. Thank you 👍
Either I feel I would like to have more information and longer video OR I feel that video are too long... Regardless these videos are addictive haha 😂 Glory to the back end guru!!!
This might be a stupid question, but is varnish used at reverse proxy level/ layer?(or redis?)
Saurabh Agrawal it is actually a great question, yes varnish is a reverse proxy. Check out my Varnish video where I discuss how Varnish is a reverse proxy Varnish - HTTP Accelerator Crash Course
th-cam.com/video/-cWs6eoyaLg/w-d-xo.html
thanks Hussein for the great video!
superb explaination . Keep doing this Thanks.
MANIKANDAN G thanks for the support! Will do! Stay awesome
many unnecessary words in the video, be brief and clear
Thanks good explains!
Actual content starts at 1:00
what's the different b/w LB and RV vs API gateway
Not sure what RV is, but API gateway and LB are both Reverse proxies
@@hnasr RV I meant to say reverse Proxy. How and where shall we add Authentication and Authorization logic?
Usually the authentication is added at the reverse proxy level.. so backend servers don’t have to worry about it..
If the reverse proxy caches the response, how will it know when the response is outdated?
Maybe the content in the database was updated for example.
CodeBit good question this is a very difficult problem to solve. caching Reverse proxies solve this problem differently check out varnish for example
th-cam.com/video/-cWs6eoyaLg/w-d-xo.html
great video again, really enjoy it
url rewriting - does it only one of the feature of Reverse Proxy ?
DNS - does it only one of the feature of Reverse Proxy ?
Thank you a lot for this amzing video! Could u plz do a video comparing about Load Balancer and API Gateway? Thx in advance :)
Done ✔️ thanks for knowledge 🙏
google's website has a reverse proxy/load balancer server that distributes requests to different servers but there are millions of requests to "google.com" every second. One reverse proxy server wouldn't process so many requests, how is this load distributed? Are there a lot of reverse proxy servers under one URL?
Can you move the browser a little bit to the left so that it's aligned :)
Thanks! Ill make sure to do that in the coming videos.. appreciate it
😂
Is Load balancer same like reverse proxy with load balancing feature.
Rahul Das correct , a load balancer is a reverse proxy but a reverse proxy is not necessarily a load balancer
@@hnasr Thanks Hussein 👍
When somebody uses gliffy, he knows his stuff
How i can load balance my reverse proxy
I don't think alb requires 2 servers min. It works with 1 server acting as reverse proxy.
Excellent video !!! I have a question though. At around 7:45, you mentioned Load Balancer does not give all the 6 benefits of the reverse proxy. I thought Load Balancer has all the features of Reverse Proxy, additionally, it has the capability to Balance the traffic. So which are the features(you mentioned) of the reverse proxy, Load Balancer does not provide?
Great question, That statement
Is correct only if you have a software that is built purely as a load balancer and nothing else. the moment you implement that load balancer you give up certain features of reverse proxy such as Canary deployment, blue green deployment and layer 7 routing (if app1 go here if app2 go here) because its a just dumb balancer doesnt have rules
That being said, most of the time you can almost never find a software that is just a load balancer, you get instead a proxy that can also be a reverse proxy that can also be configured as a load balancer (e.g. haproxy, nginx, envoy)
check out the haproxy video I made
Hope that helps!
Another Great Video ⬆️🔥⬆️ Thank You!
Thanks Gregorio !
Thank you Hussein, great material as always!
One aspect though I have never seen being tackled is: how can we support redundancy at the reverse proxy level? E.g. what happens if the single reverse proxy of a given architecture fails (i.e. high availability support)? Also, what if we just want to increase the system throughput by having multiple reverse proxies at the front level and not just one? How can we map a single domain name to different ips - i.e. how the necessary routing can be supported?
Regarding software-related solutions, is "Virtual Ip" the answer?
Virtual IP is one answer, DNS load balancer is another
I talked about this here
th-cam.com/video/d-Bfi5qywFo/w-d-xo.html
th-cam.com/video/Zgy1miPsTNs/w-d-xo.html
th-cam.com/video/NizRDkTvxZo/w-d-xo.html
@@hnasr Thank you so much!
Here what is meant by application server, But, in my case i am understanding it as server on which application are reside.
Hassan Shamshir correct essentially the nodes in the diagrams are applications “processes” listening on ports. It is up to you to run those processes on a single “server” machine or multiple ones
In case of Django/flask, an application server would be Gunicorn/uWSGI/WSGI which is like a middleman between your Django app and the web server.
I don't know much about these things, this is just what I think it means.
Please make a video on proxy architecture and how web access layer and web request layer work, why we see some weird responses of proxy with scenarios
Santosh Kumar nice idea! I already made a dedicated video about PROXY architecture how it works and much more check it out! th-cam.com/video/x4E4mbobGEc/w-d-xo.html let me know if that answers your questions .. cheers and thanks for comment
Thanks for sharing your knowledge
My pleasure Johan! Enjoy and thanks for your message
@@hnasr may i request about firewall deeply :) thanks
thank you my man
Appreciate your comment Mathias
So to summarise: load balancing is just a particular application of the reverse proxy
can you explain how to use reverse proxy for authentication?
Hy Tim very interesting question, here is the problem is you have many services that need to be authenticated. Each service written in a different language, so naturally your authentication logic also need to be in the same language so here you are maintaining multiple authentication libraries. Second each of service doing extra (duplicate) work instead of what its suppose to do
The solution is put a reverse proxy that take all requests, does the authentication and forward the request to the backend service only if is ok.
Still its not as simple as it looks, there are some work needs to be done buts thats a summary
Awesome video +++++++++++++ 🙂
Great work
Joakim Ragnmark thanka Joakim!
Thanks but had to put the speed on 1.5x to get to the point.
So what is the charactasterix of a load balancer 😋. Sir your videos are great, you explain things very well. Thankyou
Glad I could help!!
Brilliant!
Thanks 🙏 have a beautiful day
Bro my tees are crying
Watch at 1.25X . Thank me later.
You can have a load balancer in front of a single server too
bro😊🎉🎉😢😢😢