10 Breakthrough Technologies 2020

Here is our annual list of technological advances that we believe will make a real difference in solving important problems. How do we pick? We avoid the one-off tricks, the overhyped new gadgets. Instead we look for those breakthroughs that will truly change how we live and work. Source: technologyreview

How to Avoid Cascading Failures in Distributed Systems

Cascading failures are failures that involve some kind of feedback mechanism. In distributed software systems they generally involve a feedback loop where some event causes either a reduction in capacity, an increase in latency, or a spike of errors. Laura Nolan explores them using public accounts of real production incidents. Source: infoq

High Resolution Performance Telemetry at Scale

Brian Martin explores the issues of resolution in performance monitoring, covers sources of performance telemetry including hardware performance and eBPF, and talks about some tricks for getting high resolution telemetry without high costs. Source: infoq

CNCF Survey 2019

Containers have become the norm, reaching 84% use in production this year, up from 23% in our first survey in 2016. Many new projects in serverless, service mesh, and storage are emerging as popular ways to manage or work in conjunction with containers. The use of cloud native projects in production continues to grow, with […]

Running Online Services at Riot

This article reflects on previous infrastructure solutions and describes a new deployment specification that enables us to collaborate with game shards operators around the world. What’s it like to be a part of Riot Tech? Explore everything from titles and personal development to tech challenges and philosophies. Welcome back to the Running Online Services series! […]

Kubernetes Canary deployment with Linkerd & Flagger

In this article i’m going to introduce you to one useful technique for delivering automatically web application serenely : the Canary deployment method. Canary is a type of deployment method that reduce the risk of introducing a new software version in production by gradually shifting traffic to the new version while measuring metrics like Http […]

Istio 1.5 introduces simpler architecture, improving operational experience

Istio 1.5 introduces the Istiod binary, which significantly simplifies Istio’s architecture, improving operational experience. One thing we’ve heard from the mesh administrators and operators who use Istio is that its complexity makes it hard to adopt and integrate with their current stack. I’ve been involved with the development of Istio since Istio 0.6, and I’ve […]

Introducing Piranha: An Open Source Tool to Automatically Delete Stale Code

Uber developed Piranha to seamlessly delete code related to obsolete feature flags, leading to improved developer productivity and a cleaner codebase. At Uber, we use feature flags to customize our mobile app execution, serving different features to different sets of users. These flags allow us to, for example, localize the user’s experience in different regions […]

Why We Leverage Multi-tenancy in Uber’s Microservice Architecture

Multi-tenancy lets Uber tag requests coming into our microservice architecture, giving us the flexibility to route requests to specific components, such as during testing scenarios. The performance of Uber’s services relies on our ability to quickly and stably launch new features on our platform, regardless of where the corresponding service lives in our tech stack. […]

An AWS Bill Analysis: Changelogs.md

He’s been remarkably transparent with changes he’s made to make running it more cost-efficient—and since he’s running this in a personal account, this is real money rather than AWS Credits (motto: “Like Bitcoin but less obnoxious”). The entire system is open-sourced and, after a bit of bargaining, he let me into his account to take […]