Techreport blog

Engineering Insights & Guides

The best problem-solving writing in software engineering — databases, performance, security, frontend and distributed systems, in one feed.

11,845 articles
Engineering — Lemonade from Lemons: Tiny Desk Conference

Lemonade from Lemons: Tiny Desk Conference

In 2019, we began planning for Spotify’s second engineering conference set to take place in April 2020. It was expected to have about 1,500 attendees from a dozen different cities — seven separate tracks running for three days jam-packed with talks and, of course, social events, similar to the year before. The event was organized by 16 engineers from different parts of Spotify with added support f

EDErin Depew·September 1, 2020Engineering
Engineering — Listening Together, Miles Apart

Listening Together, Miles Apart

Every second more than 30,000 people around the world press play on the same song on Spotify. Imagine if you could somehow see these musical connections as they were happening and connecting us with people we’ve never met, miles apart.

GHGandalf Hernandez·September 1, 2020Engineering
Distributed — Managing Clouds from the Ground Up: Cost Engineering at Spotify

Managing Clouds from the Ground Up: Cost Engineering at Spotify

Like many of those in tech, we invest heavily in our cloud and data infrastructure. While seemingly routine, the ability to manage and scale our infrastructure to support our 299+ million listeners worldwide, 24/7, without missing a beat (or syllable) is crucial for the business and our brand.

JAJanisa Anandamohan·September 1, 2020Distributed
SRE & Ops — Containerizing ZooKeeper with Twine: Powering container orchestration from within

Containerizing ZooKeeper with Twine: Powering container orchestration from within

Hardware fails, networks partition, and humans break things. The job of our infrastructure engineers is to abstract these realities away and provide a reliable, stable production environment nonetheless. Two of the technologies we deploy in this pursuit are Twine, our internal container orchestrator, and Apache ZooKeeper. Twine maintains service availability by managing services in containers

MEMeta Engineering·August 31, 2020SRE & Ops
Performance — How To Do More With Vue Router — Smashing Magazine

How To Do More With Vue Router — Smashing Magazine

Vue Router is the official router for Vue that is mostly used for creating multiple pages living on different routes (`/home`, `/profile`) in your application but has some features that some people do not know about. In this tutorial, Timi Omoyeni is going to show you some amazing features the Vue Router has and how we can make use of them in our app. You can find all the code used in this article

TOTimi OmoyeniTimi Omoyeni·August 31, 2020Performance
Design & UX — September In All Its Facets (2020 Wallpapers Edition) — Smashing Magazine

September In All Its Facets (2020 Wallpapers Edition) — Smashing Magazine

New month, new wallpapers! In this post, Cosima Mielke brings you wallpaper designs for September 2020, created with love by the design community for the community. All of them are available in versions with and without a calendar and can be downloaded for free. A big thank-you to everyone who shared their artworks with us — we sincerely appreciate it!

CMCosima MielkeCosima Mielke·August 31, 2020Design & UX
SRE & Ops — August 30th 2020: Analysis of CenturyLink/Level(3) outage

August 30th 2020: Analysis of CenturyLink/Level(3) outage

Today CenturyLink/Level(3), a major ISP and Internet bandwidth provider, experienced a significant outage that impacted some of Cloudflare’s customers as well as a significant number of other services and providers across the Internet.

MPMatthew PrinceMatthew Prince·August 30, 2020SRE & Ops
Career & Teams — GitHub Action Hero: Eddie Jaoude

GitHub Action Hero: Eddie Jaoude

GitHub Actions gives you the power to automate your workflow. Connect with the tools you know and love. Have more freedom to innovate and be creative. Deploy to any cloud,…

MDMichelle DukeMichelle Duke·August 30, 2020Career & Teams
Networking — Tracing at Slack: Thinking in Causal Graphs

Tracing at Slack: Thinking in Causal Graphs

“Why is it slow?” is the hardest problem to debug in a complex distributed system like Slack. To diagnose a slow-loading channel with over a hundred thousand users, we’d need to look at client-side metrics, server-side metrics, and logs. It could be a client-side issue: a slow network connection or hardware. On the other hand,…

SKSuman Karumuri·August 28, 2020Networking
Engineering — Demystifying Django’s Magic — Smashing Magazine

Demystifying Django’s Magic — Smashing Magazine

In this article, Precious Ndubueze will be taking an in-depth look at what Django brings to the table by understanding what the generated files and folder do, this will give us a better understanding of the Django framework. It’s important to know that it will not be possible to take a look at everything happening inside of Django. For cases outside the scope of this tutorial, there will be links

PNPrecious NdubuezePrecious Ndubueze·August 28, 2020Engineering
Security — How Argo Tunnel engineering uses Argo Tunnel

How Argo Tunnel engineering uses Argo Tunnel

Argo Tunnel provides remote access to development environments by creating secure outbound-only connections to Cloudflare’s edge network from a resource exposing it to the Internet. That model helps protect servers and resources from being vulnerable to attack by an exposed IP address.

CTChung TingChung Ting·August 27, 2020Security
Languages — Deeper DX

Deeper DX

Shawn Wang thinks there are deeper, perhaps more uncomfortable, places to go with developer experience (DX) beyond the surface-level stuff that we recently

CCChris Coyier·August 27, 2020Languages