Join us on February 27th: The Future of Telepresence: Blackbird & Beyond – Introducing Cluster Commands. Register now

Blog

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

Cloud Native Workflows

Kubernetes API Gateway

Cloud Native Workflows, GitOps, and Kubernetes

The biggest change when adopting Kubernetes Much of the discussion about Kubernetes and microservices focuses on the changes in architecture: gRPC vs HTTP, service mesh (or not), observability, and so on. The official CNCF Cloud-Native definition echoes this bias: Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

September 7, 2017 | 9 min read
Deploying Envoy at Lyft

Kubernetes API Gateway

The Mechanics of Deploying Envoy at Lyft

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
Cloud Native Apps

Telepresence

Faster Development for Cloud Native Applications

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
Tools for Testing Microservices

Telepresence

3 Tools for Testing Microservices

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
Istio, Lyft Envoy, and Microservices

Kubernetes API Gateway

Istio, Lyft Envoy, and Microservices

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
Code Injection

Telepresence

Code Injection on Linux and macOS with LD_PRELOAD

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