<p>I need to set up the Ambassador API gateway in front of all my services.
Ambassador will be performing multiple actions like rate limiting, logging, DDoS protection, etc.</p>
<p>Especially from DDoS protection point of view, is it best practice to host Ambassador API gateway outside main application Kubernetes cluster? OR to host in separate namespace and have quota limitations on it?</p>
<p>Hosting the API Gateway within same k8s cluster could lead of cluster being overwhelmed because of unwanted traffic but if I host the API gateway on separate k8s cluster application k8s cluster could be saved from such scenario.</p>
<p>Also, can Ambassador API gateway be deployed in non-k8s infra and in HA mode?</p>

<p>As much i know there is two thing</p>
<p><strong>Ambassador API gateway</strong> and <strong>Edge stack</strong></p>
<p>Ambassador is open source while edge stack is paid version.</p>
<p>You can install the edge stack on VM and linux but for API gateway only YAML and helm are available.</p>
<p>you can put rate-limiting for saving the DDos.</p>
<blockquote>
<p>Hosting the API Gateway within same k8s cluster could lead of cluster
being overwhelmed because of unwanted traffic but if I host the API
gateway on separate k8s cluster application k8s cluster could be saved
from such scenario.</p>
</blockquote>
<p>you are right in this case but if you are using the K8s you can use node affinity to fix the pods of API gateway on specific nodes or run it as <strong>daemon set</strong>. Setting up affinity and anti-affinity might help separating out the PODs or application and API gateway.</p>
