<p>I would like to use a API gateway for a project but I'm bit confused, I'm working in a company where they would like to have envoy proxy as a gateway, 
but as I learned about ambassador I am thinking that ambassador would be better than envoy proxy as it's built on envoy proxy moreover it has consul integrated which acts as a service mesh and Ambassador is built mainly for cloud native applications.</p>

<p>After talking to a senior, he told me that ambassador is a licensed service whereas envoy proxy is free(can be made by ourselves).
Will there be any problem with ambassador because it is licensed?</p>

<p>Moreover, In my opinion, deploying ambassador is easy as compared to deploying envoy proxy.</p>

<p>So it all boils down to:</p>

<ul>
<li>What are the main key differences between ambassador and envoy proxy?</li>
<li>What should be preferred if we want to deploy the microservices on kubernetes?</li>
</ul>

Alohomora
<p>Ambassador Is open source software just like Envoy.</p>

<p><a href="https://github.com/datawire/ambassador/blob/master/LICENSE" rel="nofollow noreferrer">It's licensed under Apache-2.0</a>.<br>
It just so happens that this is the <a href="https://github.com/envoyproxy/envoy/blob/master/LICENSE" rel="nofollow noreferrer">same license used by Envoy</a>.</p>

<p>Ambassador does have a PRO version you can pay for to get a few more features.</p>

<blockquote>
  <p>Ambassador is a specialized control plane for Envoy Proxy.</p>
</blockquote>

<p>So yes, they can do a lot of the same things, but with ambassador on a higher level of abstraction you'll get more value out of it more quickly IMHO. Even if you don't pay for their PRO version.</p>

<p>Envoy is like a lego brick, ambassador is like a spaceship made of several bricks. Envoy can be deployed on servers. Ambasador is built to be K8S native, and really easy to deploy. I don't know your use case specifically, but if I wanted an API gateway running in Kubernetes I would look at Ambassador over Envoy.</p>
