If you liked these deep dives into proxies and other backend tech hit that like button and subscribe for more. Do suggest what should I discuss next 👇🏽
@germwire904 жыл бұрын
Do you have a video on how you created the cert for your noip domain?
@subhadippahari12443 жыл бұрын
make more videos on Envoy-filters ... those are really hard to understand
@eyad880 Жыл бұрын
@hussein json is a valid yaml syntax btw.. yea it blew my mind too
@AmanKumar-l1i1b Жыл бұрын
I am getting this error "upstream connect error or disconnect/reset before headers. reset reason: remote connection failure, transport failure reason: delayed connect error: 61 envoy" can you please help me? Also on making some changes most of the time I am getting "No healthy upstream" error. Can anyone help?
@cramhead2 жыл бұрын
I love how approachable your demo was. Great video, thanks for sharing
@rihanpereira58124 жыл бұрын
This is great! Keeping going Hussein, we are your fanbase!
@hnasr4 жыл бұрын
rihan pereira 😍😍
@zahraghandi13613 ай бұрын
i wish i could like it more than once. you're a real life saver!
@ChristofferLilja3 жыл бұрын
You are hilarious :-D No boring voice here, just a happy guy who want's to spread knowledge and does it great!
@sammyj292 жыл бұрын
I didn't even realize and more than an hour has passed watching this video. Learnt a lot!
@dimitrivasilev29052 жыл бұрын
Happy unless it comes to yaml
@vincentnonnenmacher93523 жыл бұрын
Looking you fuming on Yaml (which by the way is very pleasing to see you fighting vocally against :-)) I would suggest (see you on Mac with brew) to look at ‘babashka’ and ‘jet’. Jet could allow you to convert between json , yaml and a very nice format called ‘edn’ that is VERY simple to tackle and then you will be able to edit your edn (or json) and convert it back and forth to yaml without pain. Detrimental to us as you we could not anymore enjoy you ranting about it :-)
@rajranjan82914 жыл бұрын
Hey I like the way you are cribbing about the yaml syntax and still doing it. Too much funny man
@hnasr4 жыл бұрын
YAML is painful but It won't beat me!
@phillipguzman90713 жыл бұрын
No you dont ssh into the container, you can customize by creating a new dockerfile and build or use runtime env files. You should look at containers.
@ravi115ranjan Жыл бұрын
quite an informative session. very funny style to explain the things.. really enjoyed watching this.
@helloworld73133 жыл бұрын
In my company, we write python scripts to generate yaml configs which're eventually used by nginx/envoy, this is much more enjoyable to write and less error-prone
@hnasr3 жыл бұрын
I like this
@Stephendenham2 жыл бұрын
What language do you use to generate the Python to ensure its indented correctly? ;)
@andreykarayvansky95493 жыл бұрын
I haven’t watched till the end yet, but so far “I lufv it”!
@2sourcerer2 жыл бұрын
Well it's two years ago. But copy and paste from the beginning of the line in YAML can help. Thanks for this video it is very helpful.
@jjames72064 жыл бұрын
Awsome Hussein! Man I'd love your PLAN!!!!
@hnasr4 жыл бұрын
J James 👍👍
@jackma60835 ай бұрын
Very interesting tutorial, very humorous teacher
@abessesmahi48884 жыл бұрын
ما شاء الله لا قوة الا بالله مدهش! بارك الله فيك أخي حسين
@hnasr4 жыл бұрын
Abesse Smahi الله يبارك فيك عزيزي شكر جزيلا 🙏
@Eminemmc0074 жыл бұрын
Hi Hussein, could you also make a video on Consul service mesh and how to handle its sidecar proxy?
@hnasr4 жыл бұрын
Nice idea almost forgot about Consul
@bofletcher4442 жыл бұрын
Really good video. You are also very entertaining to listen to.
@teunohooijer67883 жыл бұрын
Personally I collapse the yml I don't need. It gives me more clarity. Maby that helps.
@dimtass3 жыл бұрын
Thanks for the time you spend on this video. Although, I lost the count of how many puppies you've killed.
@ibraheemalsaady32162 жыл бұрын
Very fun video man, amazing job
@priteshthakkar48022 жыл бұрын
I am new to envoy and now think have good understanding of it. Thank you for doing it step by step, it was very interesting. I am trying to install / configure envoy and work with consul for service discovery. Please let me know if you have any document / video about it.
@codersworld25984 жыл бұрын
Hey Hussein, my brother you're amazing!
@sagamp3 Жыл бұрын
Hey ! Hope you like a bit more Yaml now than 2 years ago. something great with yaml are anchor and reference to not duplicate everything all the time. If you hate yaml... JSON is 100% Yaml compatible so you can write it as JSON and load it as yaml
@AbhishekPandey-ud3fe2 жыл бұрын
Hi Hussein , It was a great learning from this video. I have a request for you to create or share any demo for rate limit using Envoy
@michaelmwebaze73102 жыл бұрын
Awesome...awesome... thanks a lot!
@lachieyoung13742 жыл бұрын
Would love to see a video on Hashicorp Consul!
@piyushranjan53272 жыл бұрын
Loved it... Saved my day ++subscribe
@AmanKumar-l1i1b Жыл бұрын
I am getting this error "upstream connect error or disconnect/reset before headers. reset reason: remote connection failure, transport failure reason: delayed connect error: 61 envoy" can you please help me? Also on making some changes most of the time I am getting "No healthy upstream" error. Can anyone help?
@kidistabraham49 Жыл бұрын
How do you configure TLS on the cluster service
@kitkarson42262 жыл бұрын
man you are very funny! I have seen some yaml haters. I never understood that. after seeing envoy config, I hate yaml myself now.
@javedalishaikh4472 Жыл бұрын
This was really helpful, and agree with good documentation but really sucks in samples. Could you please do a video of Envoy Redis Proxy and Redis Cluster support.
@m0aravindkarthik6 ай бұрын
Is it possible to setup 2 listeners, one for http and another for https on same envoy?
@68naveeng11 ай бұрын
Hi, I have crl(certificate revocation list) cert in envoy /etc/ssl/crl/crl.pem. Its size is too big around 100MB. that's why not not using as secret (max secret size is 1 MB). every two day crl.pem refresh and I have to upload new crl.pem in envoy and restart envoy pod to activate new envoy configuration. Is there a way to reload crl without restart envoy pod? plz guide me I tries SDS, but not working
@MrZerged4 жыл бұрын
This was very deep and a really great introduction for beginners thank you for putting it together. 2 questions, what would a general architecture look like with Envoy if you were using this as an internal load balancer for Microservices that receive heavy internal load (I.e. from other services) and 2) when are you going to do a live stream?!!
@hnasr4 жыл бұрын
MrZerged thanks !! 1) assuming HTTP services one suggestion could be as L7 HTTP proxy However envoy performs better win the backend is H2 so having those services on H2 could be better (didn’t test it) 2) haha it might be soon I have been thinking about it
@a_k__3 жыл бұрын
As always very useful! It would be a good next step if you can make a video about Linkerd
@sagartyagi24503 жыл бұрын
Quick question: Why didn't we saw the Thread issue(not being able to load balance properly) in Layer7, did we just got lucky?
@Cobe299 Жыл бұрын
great and funny thing to watch, thank you
@ClearlyCero3 жыл бұрын
Reverse prox-ies gotta catch em all!
@can9 Жыл бұрын
If you think about the word "Cloud", the way Envoy uses downstream/upstream terminology makes sense. Just think like your packet goes to a server in a cloud.
@ChristianAltamiranoAyala3 жыл бұрын
Man this video is sooo awesomeeeee.... Thanks so much...
@hnasr3 жыл бұрын
Glad it helped!
@ChristianAltamiranoAyala3 жыл бұрын
@@hnasr why does envoy throw error when the cluster upstream is localhost?
@vitornesello4 жыл бұрын
Man, what about copying the whole line, including the whitespace. Then paste it on the first column, so you are sure to keep the same number of spaces. Great video btw
@vitornesello4 жыл бұрын
😂😂😂 just after I wrote the comment you did exactly this at kzbin.info/www/bejne/amHKfK1-hryahpI
@pollathajeeva23 Жыл бұрын
@hnasr I got some confusion around APIGatway vs DataMesh and Data plane vs control plane and so Envoy vs Consul. Please provide some insight about the same. Thanks!
@sadeghhosseini63813 жыл бұрын
Since yaml is a superset of json you could have also written the configs in json
@jithutube Жыл бұрын
Hi, thanks for the wonderful explanations. Can you give an example of how to use a listener filter per cluster?.. For ex, I'm trying to use original_Src filter, so that Envoy generates the upstream request packet with the actual downstream client IP. Is it possible to configure this per cluster/route ?
@uberwebd9824 Жыл бұрын
We have 2500 lines of envoy config in yaml 😢 tell me about it
@sadeghhosseini63813 жыл бұрын
Nice job. Is it possible to break down the envoy.yaml to multiple separate files for the sake of keeping the config clean and maintainable?
@saikrishna33742 жыл бұрын
can implement envoy with docker swarm, will it work or not
@thisis-zu5bo Жыл бұрын
regarding downstream vs upstream terminology confusion water flows from top of the mountain downhill so similarly in computing data flows from upstreams to downstreams #copied from internet
@khssky3213 жыл бұрын
I wanted to use envoy in case of outbound. just for forwarding. but envoy replied "no healthy upstream". I don't know how to make it.. I want to use envoy just for proxy to outbound(variable address, not static like inbound). anyone help me plz!! I already made inbound Architecture with lb. but outbound is not yet....
@MartinsTalbergs3 жыл бұрын
FYI any JSON is perfeclty valid YAML (according to latest YAML specification)
@vbs2734 жыл бұрын
hahaha Ash ketchum. Awesome video thanks
@chengdongliao98754 жыл бұрын
Hi Hussein, Thanks for the awesome demo! I have little knowledge about proxy settings, so a bit confused by your infra setting, 1. are you running envoy and app server both on your Mac? Because I see you run certbot locally...and 2. do you configure your browser and curl to use envoy as a proxy, otherwise how do they be aware of it? Thanks!
@hnasr4 жыл бұрын
Chengdong Liao hey Thanks for your message ! Yes envoy and the services are both running locally on my mac (husseinmac) 2) no I have not setup proxy settings since I am using envoy as a revese proxy .. that is why the target destination is husseinmac:8080 which is envoy reverse proxy Proxy setup is completely different and this is not what I am presenting in this demo
@chengdongliao98754 жыл бұрын
@@hnasr Thanks for clarity!
@chengdongliao98754 жыл бұрын
Another question I have is how do you use no-ip hostname to access the service running locally in a private network where your laptop is running (192.168.0.x)? I guess you have somehow configured a public IP to access your laptop? 😂
@milad99002 жыл бұрын
hussein plz add a comparison video between envoy , krakend and kong
@wsh4and3 жыл бұрын
Is this part of the Udemy course? Great job btw, I kind of need this.
@alexinflux3 жыл бұрын
Awesome! Very helpful
@hnasr3 жыл бұрын
Glad it was helpful!
@rbsrafa3 жыл бұрын
Great video!
@nicoladellino81243 жыл бұрын
Nice video bro, tnx 👏 👏 👏
@jimbo-dev2 жыл бұрын
Upstream = "up in the cloud", quite good terminology I think
@rashmikhandelwal25972 жыл бұрын
How to route on basis of http header in envoy proxy? I am sending an http request with below header. Header = {"InstanceId" : "1"} How to route to an cluster(endpoint) using this header value i.e. 1 What i actually want to do in envoy.yaml : If (header. InstanceId == 1) Route to cluster A Else If (header. InstanceId == 2) Route to cluster B Can someone please help me out. Thanks in advance.
@68naveeng4 жыл бұрын
Hi ,Could you please put video or any link, how to use envoy mysql proxy (select command go to read DB and rest of all liek insert,delete etc etc go to RW DB). Thanks in Advance
@Jayadeepkm3 жыл бұрын
Fyi, a valid json is also a valid yaml file. Yaml is designed like that. So you can just create your config in json.
@hnasr3 жыл бұрын
Didn’t know that thanks!
@germwire904 жыл бұрын
Do you have a video on how you created the cert for your noip domain?
@hnasr4 жыл бұрын
Its using lets encrypt certbot , I show it here kzbin.info/www/bejne/eanEnnuEmJiIaqM
@aneyashasarkar2014 жыл бұрын
Do we need to download envoy..if yes can u share the link?
@hnasr4 жыл бұрын
Yes here is the link www.getenvoy.io/install/envoy/macos/
@aneyashasarkar2014 жыл бұрын
How can I install envoy in windows?
@brijchavda3 жыл бұрын
super like and subscribed.
@AshutoshKumar-ue3dr4 жыл бұрын
Hussein bro, could you make a video explaining the deep differences between Layer 4 and Layer 7 Proxy? I have read the general stuff but I want to know how exactly they effects an application in production.
@hnasr4 жыл бұрын
Ashutosh Kumar hey! I actually made a detailed video here check it out Layer 4 vs Layer 7 Proxying In Details Explained with Examples kzbin.info/www/bejne/r53OcpZvrNJ-nsU
@AshutoshKumar-ue3dr4 жыл бұрын
@@hnasr Thanks.
@Pic14Kk4 жыл бұрын
How about envoy proxy integration with other software ?
@princekumar52354 жыл бұрын
Sir, how to create our own custom filter and integrate it with envoy?
@hnasr4 жыл бұрын
Here is an example will have to write c++ based filter and link it github.com/envoyproxy/envoy-filter-example
@princekumar52354 жыл бұрын
@@hnasr thank you sir
@stshenyan4 жыл бұрын
LUA too. maybe we could have WASM some day.
@evans82454 жыл бұрын
AYYEEEE RATE THESE in term of ease of learning, & developer experience 0(worst) - 10(best) envoy - traefik - HA Proxy - NGINX -
@hnasr4 жыл бұрын
DELT Envoy: 6 Traefik: 2 HAPROXY 9 NGINX 7
@evans82454 жыл бұрын
@@hnasr yas ! thanks for the video mate !
@YunikMaharjan4 жыл бұрын
@@hnasr i agree with traefik's 2 point , i have spent countless hours trying to figure out how to get my docker container service working. There is multiple ways of doing the same thing with docker labels and dynamic config file and for me that's confusing, I mostly blame the docs for this PS: I still haven't been able to auto-reload dynamic config on file changes
@rumanHuq3 жыл бұрын
Turn on caption, go at 21:34, "beautiful, beautiful ......* "
@dplameras3 жыл бұрын
I'm trying to understand what you mean about the threading model and its not truely load balanced? If its useing native threads or LWP in Linux it still uses multiple cores if available. In fact its more efficent then forking which has to copy the stack, heap. With LWP you can share the same memory space but create a seperate execution thread. Perhaps your thinking about Pythons threading model which is Green Threads and not Native threads? Green threads are not the same as OS threads. Green threads are managed in userspace and not at the OS level. Ruby, Python have a GiL which is why they will proably be never have native threads. Thats why its more desireable to Fork then Thread in those languages. A C++ program with native threads will beat a forked Python, Ruby script any day.
@hnasr3 жыл бұрын
This is what I was referring to, nothing to do with the thread itself but the lack of coordination between the load balancer and the siloed threads www.envoyproxy.io/docs/envoy/latest/faq/load_balancing/concurrency_lb
@srk-techblog6272 жыл бұрын
its not one thread per connection model. its multiple connections per thread. Please make correction in your video and slides.
@hnasr2 жыл бұрын
From the doc “Once a connection is accepted by a listener, the connection spends the rest of its lifetime bound to a single worker thread. “ www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/intro/threading_model
@srk-techblog6272 жыл бұрын
@@hnasr connection always is tied to that single thread, but then that thread is NOT tied to that single connection. its not 1-1 relation from both sides.
@dejfcold3 жыл бұрын
for A+ in ssllabs you probably need HSTS.
@eddiegangware6710 Жыл бұрын
OMG 36 minutes in you spelled listeners wrong!
@stiqsify3 жыл бұрын
ctrl-a to go to start of line on shell prompt
@hnasr3 жыл бұрын
Nice tip! Thanks
@robot07633 жыл бұрын
the issue with copy and past is that your editor tries to be smart and fix the indention for what you past. This is messing it up.
@prs3143 жыл бұрын
sudo !!
@kirkhutchinson3643 жыл бұрын
Your voice volume starts a sentence at one volume, but by the end is much quieter. That works fine in a 1x1 conversation but not so well for a training video.
@AdriaPrado03 жыл бұрын
"Traefik's documentation is atrocious" - couldn't agree more
@remusprimus23922 жыл бұрын
yeah YAML indentation sux....
@jjames72064 жыл бұрын
YAML for docker and kubernetes it's very readable, but use for configuration like envoy.............man! really like be tortured!
@hnasr4 жыл бұрын
It was torture 😅
@SweetHomeSydney8 ай бұрын
Poor Commentary quality, doesn't keep audience engaged. Down vote.
@elysweyr79872 жыл бұрын
Can’t relate to your yaml pain.
@notnull01 Жыл бұрын
This config type is so ugly
@youtubegarbage4u3 жыл бұрын
if you were to deploy a $10k/month revenue production app today, what proxy server will you use Hussein?
@hnasr3 жыл бұрын
haproxy
@michaszajbe6829 Жыл бұрын
Ever heard of rivers? Downstream is the direction that the water in a river flows, upstream is towards the original source, where the river begins. Here, the original source is the backend node - the upstream. And the data flows downstream towards the client.
@Hi_Chew4 жыл бұрын
awesome video!
@krzysztofkaminski64744 жыл бұрын
Great job. Going through proxies one by one gives us cool overview of the landscape. Caddy2 video would be awesome ;)
@kentogisu43824 жыл бұрын
This was a great watch. Your enjoyment and attitude towards this made it really refreshing. You made the concepts easy to understand and follow. Looking forward to your next videos.
@hnasr4 жыл бұрын
kent thank you Kent I appreciate your comment 😊 I am happy you enjoyed the video despite it being long
@venkateswaran87524 жыл бұрын
awsome Hussein bro
@sephiros98833 жыл бұрын
This config file is out of control!! why are they making this so complicated! Also YAML is the devil incarnate. Every time I use Ansible i want to choke the guy who thought "YAML IS GREAT FOR THIS". HCL is 1000x better....
@MimKhan-t2f18 күн бұрын
Garcia Brenda Gonzalez Mark Lee Maria
@veeramm7 ай бұрын
Lively video.. great presentation
@cabc743 жыл бұрын
I used to hate yaml until I spent one hour learning it. It's everywhere so better learn it.
@fardinhakimi2 жыл бұрын
How long to cook new york streak medium rate haha
@nsmkhn3 жыл бұрын
dude, you are cool! :)
@romangalochkin25644 жыл бұрын
Thanks for the knowledge transfer videos, it is really useful.
@hnasr4 жыл бұрын
Roman Galochkin my pleasure 😇
@kenhan168 Жыл бұрын
This is a great video! Thanks so much for your sharing!
@DavidHawlin2 жыл бұрын
Hussein, great videos! Anyone run envoy with allbackend.yaml and get "no healthy upstream"? you are lucky to have a Mac, with Windoze you have to install WSL 2 (Windows LINUX subsystem), i chose the Debian frontend. Not sure if this is a side effect of that? The upstream in envoy is the cluster allbackend_cluster correct? When i hear cluster, in this case I think Kubernetis. Do i need to install kubernetis inside the Debian linux created using WSL 2? I also did this the way you said was difficult running Kubernetis and Docker, from Docker Desktop, then running the envoy from Dockerhub. In this case I'm wondering how to get the envoy inside the Docker container to use a different config file, envoy is PID 1, if you kill envoy the Container crashes using the envoyproxy/proxy-dev from Docker Hub. I know, I know RTFM but the answer might help others.
@shyirtt Жыл бұрын
One and only best video available about envoy. Thank you. I have one question. I am not able to understand Why l7 proxying was doing the load balancing between endpoints. I know that we got lucky but what is special about l7 proxying which gives this behavior vs l4?
@hinome54062 жыл бұрын
Hey! Nice video but I got a question. Is it possible to split X and Y (my backend) and access to them but with only one port? But not like in the video; I mean, not with the prefix (/x or /y) but with the URL like service_name with Nginx.