API Gateway
Deep Dive into Envoy Deployment at Lyft
The idea of the "service mesh" is becoming very popular in microservice design circles. However, the mechanics of deploying one into an existing infrastructure are far from simple. In this talk we will cover the logistical details of how Envoy was developed and deployed incrementally at Lyft, focusing primarily on the evolution of service mesh configuration management. We will also discuss why high level systems such as Istio are likely to be the main mechanism by which most customers ultimately get access to service mesh technology.
July 27, 2017 | 4 min read
Telepresence
A guide to speeding up your development workflow on Kubernetes.
When you move to Kubernetes and enable a GitOps workflow, your inner development loop becomes more complicated. You want to move quickly and ship new features faster, but pushing changes to production without previewing them is dangerous and could cause outages for your end users.
How do you remain productive when hours of your day are consumed with waiting for CI to run?
June 13, 2017 | 5 min read
Microservices, API Gateway, Telepresence
3 Tools for Testing Microservices
Testing microservices can be tricky; in this post I’ll cover some tools that can help you do so. But first, how exactly should you test your microservices?
This is a special case of a broader question: how should you test your software? The answer I’ve come up with over the past few years is that there are four types of testing, and you need to use each one at different points in a product’s lifecycle:
May 31, 2017 | 4 min read
API Gateway
Since its release, we’ve been big fans of the Envoy Proxy for adding resilience and observability to microservice architectures. In a short period of time, Envoy has garnered impressive community momentum to go alongside its battle-tested functionality. However, Envoy, while powerful, is a complex piece of software that requires substantial supporting infrastructure to deploy at scale. While some of the simpler use cases can be addressed with documentation, realizing the true promise of Envoy as an infrastructure layer transparent to your developers yet configurable by operations requires substantial amount of additional engineering.
Until today.
Istio
May 24, 2017 | 2 min read
Telepresence, Kubernetes
Have you ever wanted to make a program behave differently without modifying the source code? On Linux and macOS (the operating system formerly known as OS X) you can do this with the LD_PRELOAD or DYLD_INSERT_LIBRARIES mechanisms respectively, which allow you to override the system and library calls from a particular process. While this may seem dangerous, it’s actually pretty easy to do and can be quite useful.
In this post I’ll discuss:
Why you might want to do this.
April 18, 2017 | 8 min read
Microservices
I want to share my slides and a summary of my talk “Move fast and s/break/make things (microservices are topologies of business logic) at the O’Reilly Software Architecture Conference
Summary
Microservices have been around for about 5 years now, and at this point it is widely accepted as a best practice. Despite this, microservices are still very poorly understood– lots of companies are struggling to adopt microservices and even those that “successfully” adopt microservices aren’t seeing all the benefits they expected.
April 7, 2017 | 2 min read