Our June theme for this month’s DOXSFO was focused around microservies. We had two speakers that talk about their experiences with microservices and what their expereinces were. Is this something that you should use? Check out the post below to see!

MICROSERVICES: WHY WE DID IT (AND SHOULD YOU?)
Mason Jones, Staff Software Engineer at Credit Karma

Mason will present a skeptical, humorous, and practical look at whether companies should consider microservices, and why/not. The story includes the reasons why Credit Karma did make the move, the approach we took, and shares some of our learnings so far.

THE SERVICE MESH: RESILENT COMMUNICATIONS FOR MICROSERVICES APPLICATIONS
Kevin Lingerfelt, Software Engineer at Buoyant, Inc.

Modern application architecture is shifting from monolith to microservices: componentized, containerized, and orchestrated with systems like Kubernetes, Mesos, and Docker Swarm. While this environment is resilient to many failures of both hardware and software, applications require more than this to be truly resilient. In this talk, we introduce the notion of a “service mesh”: a userspace infrastructure layer designed to manage service-to-service communication in microservice applications, including handling partial failures and unexpected load, while reducing tail latencies and degrading gracefully in the presence of component failure.

We describe how companies like Paypal, Ticketmaster, and Credit Karma have adopted this model to run their systems, and we present Linkerd, a lightweight, open-source service mesh implementation used in production today at banks, AI startups, government labs, and more. We detail Linkerd’s modern, multi-layered approach for handling failure (and its pernicious cousin, latency), including latency-aware load balancing, failure accrual, deadline propagation, retry budgets, and nacking. And we describe additional service mesh capabilities, such as ad-hoc staging clusters, blue-green deploys, and cross-datacenter failover.