Build & maintain complex distributed systems
October 1–2, 2017: Training
October 2–4, 2017: Tutorials & Conference
New York, NY

Developing resilient microservices with Kubernetes and Envoy

Phil Lombardi (Datawire), Rafael Schloming (Datawire), Richard Li (Datawire)
1:30pm5:00pm Monday, October 2, 2017

Who is this presentation for?

  • Developers and operations people who are deploying microservices on Kubernetes
  • Platform engineers who are customizing Kubernetes for their microservices-centered use cases

Prerequisite knowledge

  • Programming experience and familiarity with the command line
  • A basic understanding of development workflow concepts (source control, continuous integration, etc.) and modern database-backed web applications (useful but not required)

Materials or downloads needed in advance

  • A laptop (macOS, Linux, or a Windows laptop running a Linux VM) with access to a development Kubernetes cluster (You can use Minikube if you have a beefy laptop (16+ GB RAM); Google Container Engine is a good option for cloud-hosted providers.)

Additional instructions:

  • Install the latest version of Docker
  • Create a Docker account
  • Download the following images locally:
    1. docker pull datawire/shopbox
    2. docker pull datawire/ambassador-envoy
    3. docker pull prom/prometheus
    4. docker pull python:3-alpine

What you'll learn

  • Understand a development workflow for microservices on Kubernetes
  • Learn why resilience and monitoring are important for microservices and how to implement them

Description

Microservices are an increasingly popular approach to building cloud-native applications, and dozens of new technologies that streamline adopting microservices development, such as Docker, Kubernetes, and Envoy, have been released over the past few years. Phil Lombardi, Rafael Schloming, and Richard Li walk you through actually using these technologies to develop, deploy, and run microservices. Along the way, they discuss the evolution of the microservices stack, key things to keep in mind when adopting microservices, and how to tune and evolve your microservices architecture.

Outline

Essentials: Development and deployment

  • How to get a microservice running in your Kubernetes cluster quickly
  • How to set up a development environment for your microservice, including testing and fast iteration cycles

Resilience and monitoring

  • Advanced deployment: Blue-green, canary deployments in Kubernetes
  • How to deploy Lyft Envoy with your service to add observability and resilience

Adapting these techniques to your organization

Photo of Phil Lombardi

Phil Lombardi

Datawire

Phil Lombardi is a senior platform engineer at Datawire, where he is building the cloud services for Datawire.io’s resilient microservices framework. Phil has extensive experience building and operating distributed systems and continuous delivery pipelines in both the internet of things and web services spaces.

Photo of Rafael Schloming

Rafael Schloming

Datawire

Rafael Schloming is the CTO of Datawire. Rafael is a coauthor of the Advanced Message Queuing Protocol (AMQP) specification and the primary architect of the open source Apache Qpid Proton project. Previously, he was a principal software engineer at Red Hat, where he worked on messaging technologies.

Photo of Richard Li

Richard Li

Datawire

Richard Li is cofounder and CEO of Datawire. Datawire supports several popular open source tools for Kubernetes, including Telepresence (a local development on Kubernetes) and the Ambassador API Gateway. Richard is a veteran of multiple technology startups including Duo Security, Rapid7, and Red Hat. He is a recognized Kubernetes and microservices expert and has spoken at numerous conferences including ApacheCon, the Microservices Practitioner Summit, and O’Reilly Velocity. He holds both a BS and MEng in computer science from MIT.