Last I looked, envoy is fantastically hard to build. Have fun downloading, building and installing all these yourself: https://envoyproxy.github.io/envoy/install/requirements.html
... and then you're done. Of course, we have a CI server that builds our packages regularly, so it's likely you wouldn't even need to build from source (though you certainly could, if desired).
I am using docker swarm and I just use overlay network to communicate with other sevices and ngnix on the edge. I am trying to understand where this fits into the picture. Any thoughts ?
Envoy/Istio are designed to move logic out of your apps and into the middleware. For example, say your app A makes an HTTP request to app B and app B times out. Ordinarily app A has to build in retry logic (with expontential backoff to avoid dogpiling). Fine if you have a single app, but if you have a dozen microservices, that's a lot of duplicated code. The solution is to let a proxy handle it for you. Instead of A…
This was awesome explanation, I instantly got it. This should be on their homepage.
The docs are pretty light on the grpc web feature. Is there a sample project anywhere that demos how to do this from the browser?
I am converting my proto to typescript with https://github.com/improbable-eng/grpc-web and until recently also used their go server library. That meant my grpc servers were listening on 2 ports, gRPC and gRPC-web. I since replaced the gRPC-web part with envoy. Works fine together with the gRPC-web typescript.
The gist should give you an idea how to set up a small example.
https://gist.github.com/codesuki/f0514368a30b483058007f5fe38...
I am using docker swarm and I just use overlay network to communicate with other sevices and ngnix on the edge. I am trying to understand where this fits into the picture. Any thoughts ?
Envoy/Istio are designed to move logic out of your apps and into the middleware. For example, say your app A makes an HTTP request to app B and app B times out. Ordinarily app A has to build in retry logic (with expontential backoff to avoid dogpiling). Fine if you have a single app, but if you have a dozen microservices, that's a lot of duplicated code. The solution is to let a proxy handle it for you. Instead of A…
Thanks a lot, you have explained this very well. Being able to explain something this well and so understandably means you really understand what is going on too.