API Gateway
What is Canary Deployment?
Canary deployments are a popular technique for incrementally testing changes on real-world traffic. In a traditional application, canary deployments occur on the granularity of the entire application. This limits the utility of canary deployments, as a single feature cannot be tested against real-world traffic.
With a microservices architecture, this is no longer the case. A single service team is able to test their updates with real-world users.
February 22, 2018 | 5 min read
Telepresence
A guide to setting up shared development environments for teams on Kubernetes.
Is Minikube melting your laptop? Are your local integration tests suffering because you can’t run dependencies on your development machine?
As organizations adopt Kubernetes and cloud native architectures, development teams will often run into resource constraints as their architectures get more complex. Additionally, Kubernetes presents new challenges for configuring local development environments in comparison with legacy monolithic applications.
January 18, 2018 | 5 min read
Telepresence
Docker released a beta version of Docker that includes Kubernetes support. I was excited to try it out on my Mac. Here are my notes and observations from experimenting with Docker for Mac with Kubernetes.
Installation
The Docker folks usually do a great job with a simple user experience, and installation was no exception. I downloaded the edge installer for Docker, which uninstalled my stable version of Docker. In the preferences pane, I enabled Kubernetes, and shortly thereafter, I had a working Kubernetes cluster.
January 10, 2018 | 3 min read
Kubernetes API Gateway
In the first post in this series, Getting Started with Lyft Envoy for microservice resilience, we explored Envoy a bit, dug into how it worked and deployed an application using Kubernetes, Postgres, Flask, and Envoy.
The Application
In this tutorial, we will deploy a straightforward REST-based user service: it can create users, read information about a user, and process simple logins. Obviously, this isn’t terribly interesting by itself, but it brings several real-world concerns together:
December 15, 2017 | 17 min read
API Gateway
An API Gateway is a façade that sits between the consumers and producers of an API. Cross-cutting functionality such as authentication, monitoring, and traffic management is implemented in your API Gateway so that your services can remain unaware of these details. In addition, when multiple services are responsible for different APIs (e.g., in a microservices architecture), an API Gateway hides this abstraction detail from the consumer.
There are dozens of different options for API Gateways, depending on your requirements. The Amazon API Gateway is a hosted Gateway that runs in Amazon. You could build your own on top of a Layer 7 proxy such as Traefik, NGINX, HAProxy, or Envoy. These all have their various strengths and weaknesses.
In general, though, you want to pick an API gateway that can accelerate your development workflow. Traditional API gateways focus on the challenges of API management, so using an Kubernetes API gateway that enables rapid development of services is essential.
November 8, 2017 | 8 min read
API Gateway
Using microservices to solve real-world problems always involves more than simply writing the code. You need to test your services. You need to figure out how to do continuous deployment. You need to work out clean, elegant, resilient ways for them to talk to each other.
A really interesting tool that can help with the “talk to each other” bit is the Envoy Proxy from Lyft.
Envoy Proxy Overview
October 17, 2017 | 14 min read