Blog

The latest posts and insights about Ambassador - our products, our ecosystem, as well as voices from across our community.

Kubernetes API Gateway

API Gateway vs Service Mesh

People ask a common question “should I use Edge Stack API Gateway if I’m using a service mesh (usually Istio)?” After all, both Ambassador and Istio are built on the Envoy Proxy. Moreover, Istio recently added support for explicitly managing ingress with the Gateway abstraction. So, do you need an API Gateway if you’re using a service mesh? Ambassador (and API Gateways in general) focus on north/south traffic, i.e., traffic into your data center. Istio (and other service meshes) handle east/west traffic, i.e., traffic between services in your data center. If your service mesh already manages L7 traffic, can you use it for managing north/south traffic? TL; DR

September 14, 2018 | 5 min read

Kubernetes API Gateway

Scaling Edge Operations at Onefootball with Edge Stack

Introduction: The Challenge of Scale OneFootball is a media company serving 10 million monthly active users and delivering over 10TB of daily content. With a workload peaking at 6,000 requests per second (rps), we needed a Kubernetes-based API Gateway and Ingress solution that was not only scalable and reliable but also cost-effective and easy to maintain.

September 6, 2018 | 7 min read

Telepresence

Guide to Setting Up Kubernetes with Minikube on Windows Home

Guide to setting up a local Kubernetes cluster on Windows Home to test applications easily. Containerized applications offer many advantages over traditional deployments, from ease of management to scalability and isolation. Hence, combining containerized applications with a proper orchestration engine is the best way to manage modern applications in staging and production environments. As Windows Developers, we need a proper Kubernetes environment to test our applications. Windows Home handles most computing needs; Windows Pro offers more networking options and is more suited to small and medium-sized businesses that need to manage multiple machines. If you’re a Windows Home user, you can still create the required environment to set up and use Kubernetes clusters.

August 24, 2018 | 8 min read

Kubernetes API Gateway

Distributed Tracing with Java “MicroDonuts”, Kubernetes and the Edge Stack API Gateway

Distributing tracing is increasingly seen as an essential component for observing microservice-based applications. As a result, many of the modern microservice language frameworks are being provided with support for tracing implementations such as Open Zipkin, Jaeger, OpenCensus, and LightStep xPM. Google was one of the first organisations to talk about their use of distributed tracing in a paper that described their Dapper implementation, and one of the requirements that they concluded essentially was the need for ubiquitous deployment of the tracing system: Ubiquity is important since the usefulness of a tracing infrastructure can be severely impacted if even small parts of the system are not being monitored As I’ve written about previously, many engineers beginning a greenfield project or exploring a migration based on the microservice architecture often start by deploying a front proxy or API gateway at the edge to route traffic to independent services dynamically. As every inbound request flows through this component, an edge gateway will naturally need to support distributed tracing, ideally using a well-established open protocol.

August 16, 2018 | 14 min read

Kubernetes API Gateway

Envoy vs NGINX vs HAProxy: Why the Edge Stack API Gateway chose Envoy

NGINX, HAProxy, and Envoy are all battle-tested L4 and L7 proxies. So why did we choose Envoy as the core proxy as we developed Edge Stack API Gateway for applications deployed into Kubernetes? It’s an L7 world In today’s cloud-centric world, business logic is commonly distributed into ephemeral microservices. These services need to communicate with each other over the network. The core network protocols that are used by these services are so-called “Layer 7” protocols, e.g., HTTP, HTTP/2, gRPC, Kafka, MongoDB, and so forth. These protocols build on top of your typical transport layer protocols such as TCP. Managing and observing L7 is crucial to any cloud application, since a large part of application semantics and resiliency are dependent on L7 traffic.

June 21, 2018 | 9 min read
Java Rate Limiting Service

Kubernetes API Gateway

Part 3: Implementing a Java Rate Limiting Service for Edge Stack API Gateway

The rate limiting functionality offered by the Kubernetes API Gateway, Edge Stack is fully customizable, allowing any service that implements a gRPC endpoint to decide whether a request should be limited or not. In this article, which builds on the previous part 2 and part 1, you will learn how to build and deploy a simple Java-based rate limiting service for Edge Stack how rate limiting works. Getting Setup: The Docker Java Shop In my previous tutorial, “Deploying Java Apps with Kubernetes and the Edge Stack API Gateway,” I demonstrated how to add the open-source Edge Stack API gateway to a series of Java-based services (Dropwizard and Spring Boot). These services were deployed on Kubernetes.

May 17, 2018 | 13 min read
1...4546
47
4849...53