<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Microservices on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/microservices/</link>
        <description>Recent content in Microservices on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 25 Sep 2025 15:28:48 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/microservices/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>istio</title>
        <link>https://producthunt.programnotes.cn/en/p/istio/</link>
        <pubDate>Thu, 25 Sep 2025 15:28:48 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/istio/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1590083948592-a5a1f0310d0e?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTg3ODUyNzd8&amp;ixlib=rb-4.1.0" alt="Featured image of post istio" /&gt;&lt;h1 id=&#34;istioistio&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/istio&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio/istio&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;istio&#34;&gt;Istio
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://bestpractices.coreinfrastructure.org/projects/1395&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://bestpractices.coreinfrastructure.org/projects/1395/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CII Best Practices&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://goreportcard.com/report/github.com/istio/istio&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://goreportcard.com/badge/github.com/istio/istio&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Go Report Card&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://godoc.org/istio.io/istio&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://godoc.org/istio.io/istio?status.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GoDoc&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href=&#34;https://istio.io/&#34;&gt;
    &lt;picture&gt;
      &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://raw.githubusercontent.com/cncf/artwork/refs/heads/main/projects/istio/icon/color/istio-icon-color.svg&#34;&gt;
      &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://github.com/istio/istio/raw/master/logo/istio-bluelogo-whitebackground-unframed.svg&#34;&gt;
      &lt;img title=&#34;Istio&#34; height=&#34;100&#34; width=&#34;100&#34; alt=&#34;Istio logo&#34; src=&#34;https://github.com/istio/istio/raw/master/logo/istio-bluelogo-whitebackground-unframed.svg&#34;&gt;
    &lt;/picture&gt;
&lt;/a&gt;
&lt;hr&gt;
&lt;p&gt;Istio is an open source service mesh that layers transparently onto existing distributed applications. Istio’s powerful features provide a uniform and more efficient way to secure, connect, and monitor services. Istio is the path to load balancing, service-to-service authentication, and monitoring – with few or no service code changes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For in-depth information about how to use Istio, visit &lt;a class=&#34;link&#34; href=&#34;https://istio.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To ask questions and get assistance from our community, visit &lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/istio/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Github Discussions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To learn how to participate in our overall community, visit &lt;a class=&#34;link&#34; href=&#34;https://istio.io/about/community&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;our community page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this README:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#introduction&#34; &gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#repositories&#34; &gt;Repositories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#issue-management&#34; &gt;Issue management&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, here are some other documents you may wish to read:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/community#istio-community&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Istio Community&lt;/a&gt; - describes how to get involved and contribute to the Istio project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/istio/wiki/Preparing-for-Development&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Istio Developer&amp;rsquo;s Guide&lt;/a&gt; - explains how to set up and use an Istio development environment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/istio/wiki/Development-Conventions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Project Conventions&lt;/a&gt; - describes the conventions we use within the code base&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/istio/wiki/Writing-Fast-and-Lean-Code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Creating Fast and Lean Code&lt;/a&gt; - performance-oriented advice and guidelines for the code base&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&amp;rsquo;ll find many other useful documents on our &lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/istio/wiki&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wiki&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://istio.io/latest/docs/concepts/what-is-istio/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Istio&lt;/a&gt; is an open platform for providing a uniform way to &lt;a class=&#34;link&#34; href=&#34;https://istio.io/latest/docs/examples/microservices-istio/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;integrate
microservices&lt;/a&gt;, manage &lt;a class=&#34;link&#34; href=&#34;https://istio.io/latest/docs/concepts/traffic-management/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;traffic flow&lt;/a&gt; across microservices, enforce policies
and aggregate telemetry data. Istio&amp;rsquo;s control plane provides an abstraction
layer over the underlying cluster management platform, such as Kubernetes.&lt;/p&gt;
&lt;p&gt;Istio is composed of these components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Envoy&lt;/strong&gt; - Sidecar proxies per microservice to handle ingress/egress traffic
between services in the cluster and from a service to external
services. The proxies form a &lt;em&gt;secure microservice mesh&lt;/em&gt; providing a rich
set of functions like discovery, rich layer-7 routing, circuit breakers,
policy enforcement and telemetry recording/reporting
functions.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: The service mesh is not an overlay network. It
simplifies and enhances how microservices in an application talk to each
other over the network provided by the underlying platform.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Istiod&lt;/strong&gt; - The Istio control plane. It provides service discovery, configuration and certificate management. It consists of the following sub-components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Pilot&lt;/strong&gt; - Responsible for configuring the proxies at runtime.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Citadel&lt;/strong&gt; - Responsible for certificate issuance and rotation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Galley&lt;/strong&gt; - Responsible for validating, ingesting, aggregating, transforming and distributing config within Istio.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Operator&lt;/strong&gt; - The component provides user friendly options to operate the Istio service mesh.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;repositories&#34;&gt;Repositories
&lt;/h2&gt;&lt;p&gt;The Istio project is divided across a few GitHub repositories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/api&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio/api&lt;/a&gt;. This repository defines
component-level APIs and common configuration formats for the Istio platform.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/community&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio/community&lt;/a&gt;. This repository contains
information on the Istio community, including the various documents that govern
the Istio open source project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;README.md&#34; &gt;istio/istio&lt;/a&gt;. This is the main code repository. It hosts Istio&amp;rsquo;s
core components, install artifacts, and sample programs. It includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;istioctl/&#34; &gt;istioctl&lt;/a&gt;. This directory contains code for the
&lt;a class=&#34;link&#34; href=&#34;https://istio.io/latest/docs/reference/commands/istioctl/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;em&gt;istioctl&lt;/em&gt;&lt;/a&gt; command line utility.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;pilot/&#34; &gt;pilot&lt;/a&gt;. This directory
contains platform-specific code to populate the
&lt;a class=&#34;link&#34; href=&#34;https://istio.io/docs/concepts/traffic-management/#pilot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;abstract service model&lt;/a&gt;, dynamically reconfigure the proxies
when the application topology changes, as well as translate
&lt;a class=&#34;link&#34; href=&#34;https://istio.io/latest/docs/reference/config/networking/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;routing rules&lt;/a&gt; into proxy specific configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;security/&#34; &gt;security&lt;/a&gt;. This directory contains &lt;a class=&#34;link&#34; href=&#34;https://istio.io/latest/docs/concepts/security/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;security&lt;/a&gt; related code,
including Citadel (acting as Certificate Authority), citadel agent, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/proxy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio/proxy&lt;/a&gt;. The Istio proxy contains
extensions to the &lt;a class=&#34;link&#34; href=&#34;https://github.com/envoyproxy/envoy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Envoy proxy&lt;/a&gt; (in the form of
Envoy filters) that support authentication, authorization, and telemetry collection.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/ztunnel&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio/ztunnel&lt;/a&gt;. The repository contains the Rust implementation of the ztunnel
component of Ambient mesh.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/istio/client-go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;istio/client-go&lt;/a&gt;. This repository defines
auto-generated Kubernetes clients for interacting with Istio resources programmatically.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
Only the &lt;code&gt;istio/api&lt;/code&gt; and &lt;code&gt;istio/client-go&lt;/code&gt; repositories expose stable interfaces intended for direct usage as libraries.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;issue-management&#34;&gt;Issue management
&lt;/h2&gt;&lt;p&gt;We use GitHub to track all of our bugs and feature requests. Each issue we track has a variety of metadata:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Epic&lt;/strong&gt;. An epic represents a feature area for Istio as a whole. Epics are fairly broad in scope and are basically product-level things.
Each issue is ultimately part of an epic.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Milestone&lt;/strong&gt;. Each issue is assigned a milestone. This is 0.1, 0.2, &amp;hellip;, or &amp;lsquo;Nebulous Future&amp;rsquo;. The milestone indicates when we
think the issue should get addressed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Priority&lt;/strong&gt;. Each issue has a priority which is represented by the column in the &lt;a class=&#34;link&#34; href=&#34;https://github.com/orgs/istio/projects/6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Prioritization&lt;/a&gt; project. Priority can be one of
P0, P1, P2, or &amp;gt;P2. The priority indicates how important it is to address the issue within the milestone. P0 says that the
milestone cannot be considered achieved if the issue isn&amp;rsquo;t resolved.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;div align=&#34;center&#34;&gt;
    &lt;picture&gt;
      &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://raw.githubusercontent.com/cncf/artwork/refs/heads/main/other/cncf/horizontal/color-whitetext/cncf-color-whitetext.svg&#34;&gt;
      &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://raw.githubusercontent.com/cncf/artwork/master/other/cncf/horizontal/color/cncf-color.svg&#34;&gt;
      &lt;img width=&#34;300&#34; alt=&#34;Cloud Native Computing Foundation logo&#34; src=&#34;https://raw.githubusercontent.com/cncf/artwork/refs/heads/main/other/cncf/horizontal/color-whitetext/cncf-color-whitetext.svg&#34;&gt;
    &lt;/picture&gt;
    &lt;p&gt;Istio is a &lt;a href=&#34;https://cncf.io&#34;&gt;Cloud Native Computing Foundation&lt;/a&gt; project.&lt;/p&gt;
&lt;/div&gt;
</description>
        </item>
        <item>
        <title>cognitive-load</title>
        <link>https://producthunt.programnotes.cn/en/p/cognitive-load/</link>
        <pubDate>Tue, 02 Sep 2025 15:29:59 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/cognitive-load/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1642970047680-c940bb0bcf03?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTY3OTgwOTd8&amp;ixlib=rb-4.1.0" alt="Featured image of post cognitive-load" /&gt;&lt;h1 id=&#34;zakirullincognitive-load&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/zakirullin/cognitive-load&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zakirullin/cognitive-load&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;cognitive-load-is-what-matters&#34;&gt;Cognitive Load is what matters
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://minds.md/zakirullin/cognitive&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Readable version&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://github.com/zakirullin/cognitive-load/blob/main/README.zh-cn.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chinese&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README.ko.md&#34; &gt;Korean&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README.tr.md&#34; &gt;Turkish&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README.ja.md&#34; &gt;Japanese&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It is a living document, last update: &lt;strong&gt;September 2025&lt;/strong&gt;. Your contributions are welcome!&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction
&lt;/h2&gt;&lt;p&gt;There are so many buzzwords and best practices out there, but most of them have failed. We need something more fundamental, something that can&amp;rsquo;t be wrong.&lt;/p&gt;
&lt;p&gt;Sometimes we feel confusion going through the code. Confusion costs time and money. Confusion is caused by high &lt;em&gt;cognitive load&lt;/em&gt;. It&amp;rsquo;s not some fancy abstract concept, but rather &lt;strong&gt;a fundamental human constraint&lt;/strong&gt;. It&amp;rsquo;s not imagined, it&amp;rsquo;s there and we can feel it.&lt;/p&gt;
&lt;p&gt;Since we spend far more time reading and understanding code than writing it, we should constantly ask ourselves whether we are embedding excessive cognitive load into our code.&lt;/p&gt;
&lt;h2 id=&#34;cognitive-load&#34;&gt;Cognitive load
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;Cognitive load is how much a developer needs to think in order to complete a task.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When reading code, you put things like values of variables, control flow logic and call sequences into your head. The average person can hold roughly &lt;a class=&#34;link&#34; href=&#34;https://github.com/zakirullin/cognitive-load/issues/16&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;four such chunks&lt;/a&gt; in working memory. Once the cognitive load reaches this threshold, it becomes much harder to understand things.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Let&amp;rsquo;s say we have been asked to make some fixes to a completely unfamiliar project. We were told that a really smart developer had contributed to it. Lots of cool architectures, fancy libraries and trendy technologies were used. In other words, &lt;strong&gt;the author had created a high cognitive load for us.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;/div&gt;
&lt;p&gt;We should reduce the cognitive load in our projects as much as possible.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;Cognitive load and interruptions&lt;/b&gt;&lt;/summary&gt;
  &lt;img src=&#34;img/interruption.jpeg&#34;&gt;&lt;br&gt;
&lt;/details&gt;
&lt;blockquote&gt;
&lt;p&gt;We are going to use &amp;ldquo;cognitive load&amp;rdquo; in an informal sense; sometimes it lines up with the specific scientific concept of Cognitive Load, but we don&amp;rsquo;t know enough about where it does and doesn&amp;rsquo;t match.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;types-of-cognitive-load&#34;&gt;Types of cognitive load
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Intrinsic&lt;/strong&gt; - caused by the inherent difficulty of a task. It can&amp;rsquo;t be reduced, it&amp;rsquo;s at the very heart of software development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Extraneous&lt;/strong&gt; - created by the way the information is presented. Caused by factors not directly relevant to the task, such as smart author&amp;rsquo;s quirks. Can be greatly reduced. We will focus on this type of cognitive load.&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;/div&gt;
&lt;p&gt;Let&amp;rsquo;s jump straight to the concrete practical examples of extraneous cognitive load.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;We will refer to the level of cognitive load as follows:&lt;br&gt;
&lt;code&gt;🧠&lt;/code&gt;: fresh working memory, zero cognitive load&lt;br&gt;
&lt;code&gt;🧠++&lt;/code&gt;: two facts in our working memory, cognitive load increased&lt;br&gt;
&lt;code&gt;🤯&lt;/code&gt;: cognitive overload, more than 4 facts&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Our brain is much more complex and unexplored, but we can go with this simplistic model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;complex-conditionals&#34;&gt;Complex conditionals
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;val&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;someConstant&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠+&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;||&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠+++, prev cond should be true, one of c2 or c3 has be true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🤯, we are messed up by this point&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Introduce intermediate variables with meaningful names:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;isValid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;val&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;someConstant&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;isAllowed&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;||&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;isSecure&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;condition5&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠, we don&amp;#39;t need to remember the conditions, there are descriptive variables&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isValid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isAllowed&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isSecure&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;nested-ifs&#34;&gt;Nested ifs
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isValid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠+, okay nested code applies to valid input only&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isSecure&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠++, we do stuff for valid and secure input only&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;stuff&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠+++&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Compare it with the early returns:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isValid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isSecure&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠, we don&amp;#39;t really care about earlier returns, if we are here then all good&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;stuff&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 🧠+&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;We can focus on the happy path only, thus freeing our working memory from all sorts of preconditions.&lt;/p&gt;
&lt;h2 id=&#34;inheritance-nightmare&#34;&gt;Inheritance nightmare
&lt;/h2&gt;&lt;p&gt;We are asked to change a few things for our admin users: &lt;code&gt;🧠&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;AdminController extends UserController extends GuestController extends BaseController&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ohh, part of the functionality is in &lt;code&gt;BaseController&lt;/code&gt;, let&amp;rsquo;s have a look: &lt;code&gt;🧠+&lt;/code&gt;&lt;br&gt;
Basic role mechanics got introduced in &lt;code&gt;GuestController&lt;/code&gt;: &lt;code&gt;🧠++&lt;/code&gt;&lt;br&gt;
Things got partially altered in &lt;code&gt;UserController&lt;/code&gt;: &lt;code&gt;🧠+++&lt;/code&gt;&lt;br&gt;
Finally we are here, &lt;code&gt;AdminController&lt;/code&gt;, let&amp;rsquo;s code stuff! &lt;code&gt;🧠++++&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Oh, wait, there&amp;rsquo;s &lt;code&gt;SuperuserController&lt;/code&gt; which extends &lt;code&gt;AdminController&lt;/code&gt;. By modifying &lt;code&gt;AdminController&lt;/code&gt; we can break things in the inherited class, so let&amp;rsquo;s dive in &lt;code&gt;SuperuserController&lt;/code&gt; first: &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Prefer composition over inheritance. We won&amp;rsquo;t go into detail - there&amp;rsquo;s &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=hxGOiiR9ZKg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;plenty of material&lt;/a&gt; out there.&lt;/p&gt;
&lt;h2 id=&#34;too-many-small-methods-classes-or-modules&#34;&gt;Too many small methods, classes or modules
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;Method, class and module are interchangeable in this context&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mantras like &amp;ldquo;methods should be shorter than 15 lines of code&amp;rdquo; or &amp;ldquo;classes should be small&amp;rdquo; turned out to be somewhat wrong.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deep module&lt;/strong&gt; - simple interface, complex functionality&lt;br&gt;
&lt;strong&gt;Shallow module&lt;/strong&gt; - interface is relatively complex to the small functionality it provides&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;/div&gt;
&lt;p&gt;Having too many shallow modules can make it difficult to understand the project. &lt;strong&gt;Not only do we have to keep in mind each module responsibilities, but also all their interactions&lt;/strong&gt;. To understand the purpose of a shallow module, we first need to look at the functionality of all the related modules. Jumping between such shallow components is mentally exhausting, &lt;a target=&#34;_blank&#34; href=&#34;https://blog.separateconcerns.com/2023-09-11-linear-code.html&#34;&gt;linear thinking&lt;/a&gt; is more natural to us humans.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Information hiding is paramount, and we don&amp;rsquo;t hide as much complexity in shallow modules.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have two pet projects, both of them are somewhat 5K lines of code. The first one has 80 shallow classes, whereas the second one has only 7 deep classes. I haven&amp;rsquo;t been maintaining any of these projects for one year and a half.&lt;/p&gt;
&lt;p&gt;Once I came back, I realised that it was extremely difficult to untangle all the interactions between those 80 classes in the first project. I would have to rebuild an enormous amount of cognitive load before I could start coding. On the other hand, I was able to grasp the second project quickly, because it had only a few deep classes with a simple interface.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The best components are those that provide powerful functionality yet have a simple interface.&lt;br&gt;
&lt;strong&gt;John K. Ousterhout&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The interface of the UNIX I/O is very simple. It has only five basic calls:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;flags&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;permissions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;read&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;buffer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;write&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;buffer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;lseek&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;offset&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;referencePosition&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;A modern implementation of this interface has &lt;strong&gt;hundreds of thousands of lines of code&lt;/strong&gt;. Lots of complexity is hidden under the hood. Yet it is easy to use due to its simple interface.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This deep module example is taken from the book &lt;a class=&#34;link&#34; href=&#34;https://web.stanford.edu/~ouster/cgi-bin/book.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;A Philosophy of Software Design&lt;/a&gt; by John K. Ousterhout. Not only does this book cover the very essence of complexity in software development, but it also has the greatest interpretation of Parnas&amp;rsquo; influential paper &lt;a class=&#34;link&#34; href=&#34;https://www.win.tue.nl/~wstomv/edu/2ip30/references/criteria_for_modularization.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;On the Criteria To Be Used in Decomposing Systems into Modules&lt;/a&gt;. Both are essential reads. Other related readings: &lt;a class=&#34;link&#34; href=&#34;https://github.com/johnousterhout/aposd-vs-clean-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;A Philosophy of Software Design vs Clean Code&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://qntm.org/clean&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;It&amp;rsquo;s probably time to stop recommending Clean Code&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://copyconstruct.medium.com/small-functions-considered-harmful-91035d316c29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Small Functions considered Harmful&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;P.S. If you think we are rooting for bloated God objects with too many responsibilities, you got it wrong.&lt;/p&gt;
&lt;h2 id=&#34;responsible-for-one-thing&#34;&gt;Responsible for one thing
&lt;/h2&gt;&lt;p&gt;All too often, we end up creating lots of shallow modules, following some vague &amp;ldquo;a module should be responsible for one, and only one, thing&amp;rdquo; principle. What is this blurry one thing? Instantiating an object is one thing, right? So &lt;a class=&#34;link&#34; href=&#34;https://minds.md/benji/frameworks&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MetricsProviderFactoryFactory&lt;/a&gt; seems to be just fine. &lt;strong&gt;The names and interfaces of such classes tend to be more mentally taxing than their entire implementations, what kind of abstraction is that?&lt;/strong&gt; Something went wrong.&lt;/p&gt;
&lt;p&gt;We make changes to our systems to satisfy our users and stakeholders. We are responsible to them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A module should be responsible to one, and only one, user or stakeholder.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is what this Single Responsibility Principle is all about. Simply put, if we introduce a bug in one place, and then two different business people come to complain, we&amp;rsquo;ve violated the principle. It has nothing to do with the number of things we do in our module.&lt;/p&gt;
&lt;p&gt;But even now, this rule can do more harm than good. This principle can be understood in as many different ways as there are individuals. A better approach would be to look at how much cognitive load it all creates. It&amp;rsquo;s mentally demanding to remember that change in one place can trigger a chain of reactions across different business streams. And that&amp;rsquo;s about it, no fancy terms to learn.&lt;/p&gt;
&lt;h2 id=&#34;too-many-shallow-microservices&#34;&gt;Too many shallow microservices
&lt;/h2&gt;&lt;p&gt;This shallow-deep module principle is scale-agnostic, and we can apply it to microservices architecture. Too many shallow microservices won&amp;rsquo;t do any good - the industry is heading towards somewhat &amp;ldquo;macroservices&amp;rdquo;, i.e., services that are not so shallow (=deep). One of the worst and hardest to fix phenomena is so-called distributed monolith, which is often the result of this overly granular shallow separation.&lt;/p&gt;
&lt;p&gt;I once consulted a startup where a team of five developers introduced 17(!) microservices. They were 10 months behind schedule and appeared nowhere close to the public release. Every new requirement led to changes in 4+ microservices. It took an enormous amount of time to reproduce and debug an issue in such a distributed system. Both time to market and cognitive load were unacceptably high. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Is this the right way to approach the uncertainty of a new system? It&amp;rsquo;s enormously difficult to elicit the right logical boundaries in the beginning. The key is to make decisions as late as you can responsibly wait, because that is when you have the most information at hand. By introducing a network layer up front, we make our design decisions hard to revert right from the start. The team&amp;rsquo;s only justification was: &amp;ldquo;The FAANG companies proved microservices architecture to be effective&amp;rdquo;. &lt;em&gt;Hello, you got to stop dreaming big.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tanenbaum-Torvalds debate&lt;/a&gt; argued that Linux&amp;rsquo;s monolithic design was flawed and obsolete, and that a microkernel architecture should be used instead. Indeed, the microkernel design seemed to be superior &amp;ldquo;from a theoretical and aesthetical&amp;rdquo; point of view. On the practical side of things - three decades on, microkernel-based GNU Hurd is still in development, and monolithic Linux is everywhere. This page is powered by Linux, your smart teapot is powered by Linux. By monolithic Linux.&lt;/p&gt;
&lt;p&gt;A well-crafted monolith with truly isolated modules is often much more flexible than a bunch of microservices. It also requires far less cognitive effort to maintain. It&amp;rsquo;s only when the need for separate deployments becomes crucial, such as scaling the development team, that you should consider adding a network layer between the modules, future microservices.&lt;/p&gt;
&lt;h2 id=&#34;feature-rich-languages&#34;&gt;Feature-rich languages
&lt;/h2&gt;&lt;p&gt;We feel excited when new features got released in our favourite language. We spend some time learning these features, we build code upon them.&lt;/p&gt;
&lt;p&gt;If there are lots of features, we may spend half an hour playing with a few lines of code, to use one or another feature. And it&amp;rsquo;s kind of a waste of time. But what&amp;rsquo;s worse, &lt;strong&gt;when you come back later, you would have to recreate that thought process!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You not only have to understand this complicated program, you have to understand why a programmer decided this was the way to approach a problem from the features that are available.&lt;/strong&gt; &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;These statements are made by none other than Rob Pike.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Reduce cognitive load by limiting the number of choices.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Language features are OK, as long as they are orthogonal to each other.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;Thoughts from an engineer with 20 years of C++ experience ⭐️&lt;/b&gt;&lt;/summary&gt;
  &lt;br&gt;
  I was looking at my RSS reader the other day and noticed that I have somewhat three hundred unread articles under the &#34;C++&#34; tag. I haven&#39;t read a single article about the language since last summer, and I feel great!&lt;br&gt;&lt;br&gt;
  I&#39;ve been using C++ for 20 years for now, that&#39;s almost two-thirds of my life. Most of my experience lies in dealing with the darkest corners of the language (such as undefined behaviours of all sorts). It&#39;s not a reusable experience, and it&#39;s kind of creepy to throw it all away now.&lt;br&gt;&lt;br&gt;
  Like, can you imagine, the token &lt;code&gt;||&lt;/code&gt; has a different meaning in &lt;code&gt;requires ((!P&amp;lt;T&amp;gt; || !Q&amp;lt;T&amp;gt;))&lt;/code&gt; and in &lt;code&gt;requires (!(P&amp;lt;T&amp;gt; || Q&amp;lt;T&amp;gt;))&lt;/code&gt;. The first is the constraint disjunction, the second is the good-old logical OR operator, and they behave differently.&lt;br&gt;&lt;br&gt;
  You can&#39;t allocate space for a trivial type and just &lt;code&gt;memcpy&lt;/code&gt; a set of bytes there without extra effort - that won&#39;t start the lifetime of an object. This was the case before C++20. It was fixed in C++20, but the cognitive load of the language has only increased.&lt;br&gt;&lt;br&gt;
  Cognitive load is constantly growing, even though things got fixed. I should know what was fixed, when it was fixed, and what it was like before. I am a professional after all. Sure, C++ is good at legacy support, which also means that you &lt;b&gt;will face&lt;/b&gt; that legacy. For example, last month a colleague of mine asked me about some behaviour in C++03. &lt;code&gt;🤯&lt;/code&gt;&lt;br&gt;&lt;br&gt;
  There were 20 ways of initialization. Uniform initialization syntax has been added. Now we have 21 ways of initialization. By the way, does anyone remember the rules for selecting constructors from the initializer list? Something about implicit conversion with the least loss of information, &lt;i&gt;but if&lt;/i&gt; the value is known statically, then... &lt;code&gt;🤯&lt;/code&gt;&lt;br&gt;&lt;br&gt;
  &lt;b&gt;This increased cognitive load is not caused by a business task at hand. It is not an intrinsic complexity of the domain. It is just there due to historical reasons&lt;/b&gt; (&lt;i&gt;extraneous cognitive load&lt;/i&gt;).&lt;br&gt;&lt;br&gt;
  I had to come up with some rules. Like, if that line of code is not as obvious and I have to remember the standard, I better not write it that way. The standard is somewhat 1500 pages long, by the way.&lt;br&gt;&lt;br&gt;
  &lt;b&gt;By no means I am trying to blame C++.&lt;/b&gt; I love the language. It&#39;s just that I am tired now.&lt;br&gt;&lt;br&gt;
  &lt;p&gt;Thanks to &lt;a href=&#34;https://0xd34df00d.me&#34; target=&#34;_blank&#34;&gt;0xd34df00d&lt;/a&gt; for writing.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;business-logic-and-http-status-codes&#34;&gt;Business logic and HTTP status codes
&lt;/h2&gt;&lt;p&gt;On the backend we return:&lt;br&gt;
&lt;code&gt;401&lt;/code&gt; for expired jwt token&lt;br&gt;
&lt;code&gt;403&lt;/code&gt; for not enough access&lt;br&gt;
&lt;code&gt;418&lt;/code&gt; for banned users&lt;/p&gt;
&lt;p&gt;The engineers on the frontend use backend API to implement login functionality. They would have to temporarily create the following cognitive load in their brains:&lt;br&gt;
&lt;code&gt;401&lt;/code&gt; is for expired jwt token // &lt;code&gt;🧠+&lt;/code&gt;, ok just temporary remember it&lt;br&gt;
&lt;code&gt;403&lt;/code&gt; is for not enough access // &lt;code&gt;🧠++&lt;/code&gt;&lt;br&gt;
&lt;code&gt;418&lt;/code&gt; is for banned users // &lt;code&gt;🧠+++&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Frontend developers would (hopefully) introduce some kind &lt;code&gt;numeric status -&amp;gt; meaning&lt;/code&gt; dictionary on their side, so that subsequent generations of contributors wouldn&amp;rsquo;t have to recreate this mapping in their brains.&lt;/p&gt;
&lt;p&gt;Then QA engineers come into play:
&amp;ldquo;Hey, I got &lt;code&gt;403&lt;/code&gt; status, is that expired token or not enough access?&amp;rdquo;
&lt;strong&gt;QA engineers can&amp;rsquo;t jump straight to testing, because first they have to recreate the cognitive load that the engineers on the backend once created.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Why hold this custom mapping in our working memory? It&amp;rsquo;s better to abstract away your business details from the HTTP transfer protocol, and return self-descriptive codes directly in the response body:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;jwt_has_expired&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Cognitive load on the frontend side: &lt;code&gt;🧠&lt;/code&gt; (fresh, no facts are held in mind)&lt;br&gt;
Cognitive load on the QA side: &lt;code&gt;🧠&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The same rule applies to all sorts of numeric statuses (in the database or wherever) - &lt;strong&gt;prefer self-describing strings&lt;/strong&gt;. We are not in the era of 640K computers to optimise for memory.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;People spend time arguing between &lt;code&gt;401&lt;/code&gt; and &lt;code&gt;403&lt;/code&gt;, making decisions based on their own mental models. New developers are coming in, and they need to recreate that thought process. You may have documented the &amp;ldquo;whys&amp;rdquo; (ADRs) for your code, helping newcomers to understand the decisions made. But in the end it just doesn&amp;rsquo;t make any sense. We can separate errors into either user-related or server-related, but apart from that, things are kind of blurry.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;P.S. It&amp;rsquo;s often mentally taxing to distinguish between &amp;ldquo;authentication&amp;rdquo; and &amp;ldquo;authorization&amp;rdquo;. We can use simpler terms like &lt;a class=&#34;link&#34; href=&#34;https://ntietz.com/blog/lets-say-instead-of-auth/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&amp;ldquo;login&amp;rdquo; and &amp;ldquo;permissions&amp;rdquo;&lt;/a&gt; to reduce the cognitive load.&lt;/p&gt;
&lt;h2 id=&#34;abusing-dry-principle&#34;&gt;Abusing DRY principle
&lt;/h2&gt;&lt;p&gt;Do not repeat yourself - that is one of the first principles you are taught as a software engineer. It is so deeply embedded in ourselves that we can not stand the fact of a few extra lines of code. Although in general a good and fundamental rule, when overused it leads to the cognitive load we can not handle.&lt;/p&gt;
&lt;p&gt;Nowadays, everyone builds software based on logically separated components. Often those are distributed among multiple codebases representing separate services. When you strive to eliminate any repetition, you might end up creating tight coupling between unrelated components. As a result changes in one part may have unintended consequences in other seemingly unrelated areas. It can also hinder the ability to replace or modify individual components without impacting the entire system. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In fact, the same problem arises even within a single module. You might extract common functionality too early, based on perceived similarities that might not actually exist in the long run. This can result in unnecessary abstractions that are difficult to modify or extend.&lt;/p&gt;
&lt;p&gt;Rob Pike once said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A little copying is better than a little dependency.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We are tempted to not reinvent the wheel so strong that we are ready to import large, heavy libraries to use a small function that we could easily write by ourselves.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;All your dependencies are your code.&lt;/strong&gt; Going through 10+ levels of stack trace of some imported library and figuring out what went wrong (&lt;em&gt;because things go wrong&lt;/em&gt;) is painful.&lt;/p&gt;
&lt;h2 id=&#34;tight-coupling-with-a-framework&#34;&gt;Tight coupling with a framework
&lt;/h2&gt;&lt;p&gt;There&amp;rsquo;s a lot of &amp;ldquo;magic&amp;rdquo; in frameworks. By relying too heavily on a framework, &lt;strong&gt;we force all upcoming developers to learn that &amp;ldquo;magic&amp;rdquo; first&lt;/strong&gt;. It can take months. Even though frameworks enable us to launch MVPs in a matter of days, in the long run they tend to add unnecessary complexity and cognitive load.&lt;/p&gt;
&lt;p&gt;Worse yet, at some point frameworks can become a significant constraint when faced with a new requirement that just doesn&amp;rsquo;t fit the architecture. From here onwards people end up forking a framework and maintaining their own custom version. Imagine the amount of cognitive load a newcomer would have to build (i.e. learn this custom framework) in order to deliver any value. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;By no means do we advocate to invent everything from scratch!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We can write code in a somewhat framework-agnostic way. The business logic should not reside within a framework; rather, it should use the framework&amp;rsquo;s components. Put a framework outside of your core logic. Use the framework in a library-like fashion. This would allow new contributors to add value from day one, without the need of going through debris of framework-related complexity first.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://minds.md/benji/frameworks&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Why I Hate Frameworks&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;layered-architecture&#34;&gt;Layered architecture
&lt;/h2&gt;&lt;p&gt;There is a certain engineering excitement about all this stuff.&lt;/p&gt;
&lt;p&gt;I myself was a passionate advocate of Hexagonal/Onion Architecture for years. I used it here and there and encouraged other teams to do so. The complexity of our projects went up, the sheer number of files alone had doubled. It felt like we were writing a lot of glue code. On ever changing requirements we had to make changes across multiple layers of abstractions, it all became tedious. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Abstraction is supposed to hide complexity, here it just adds &lt;a class=&#34;link&#34; href=&#34;https://fhur.me/posts/2024/thats-not-an-abstraction&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;indirection&lt;/a&gt;. Jumping from call to call to read along and figure out what goes wrong and what is missing is a vital requirement to quickly solve a problem. With this architecture’s layer uncoupling it requires an exponential factor of extra, often disjointed, traces to get to the point where the failure occurs. Every such trace takes space in our limited working memory. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This architecture was something that made intuitive sense at first, but every time we tried applying it to projects it made a lot more harm than good. In the end, we gave it all up in favour of the good old dependency inversion principle. &lt;strong&gt;No port/adapter terms to learn, no unnecessary layers of horizontal abstractions, no extraneous cognitive load.&lt;/strong&gt;&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;Coding principles and experience&lt;/b&gt;&lt;/summary&gt;
  &lt;img src=&#34;img/complexity.png&#34;&gt;&lt;br&gt;
  &lt;a href=&#34;https://twitter.com/flaviocopes&#34;&gt;@flaviocopes&lt;/a&gt;
&lt;/details&gt;
&lt;p&gt;If you think that such layering will allow you to quickly replace a database or other dependencies, you&amp;rsquo;re mistaken. Changing the storage causes lots of problems, and believe us, having some abstractions for the data access layer is the least of your worries. At best, abstractions can save somewhat 10% of your migration time (if any), the real pain is in data model incompatibilities, communication protocols, distributed systems challenges, and &lt;a class=&#34;link&#34; href=&#34;https://www.hyrumslaw.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;implicit interfaces&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;With a sufficient number of users of an API,&lt;br&gt;
it does not matter what you promise in the contract:&lt;br&gt;
all observable behaviors of your system&lt;br&gt;
will be depended on by somebody.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We did a storage migration, and that took us about 10 months. The old system was single-threaded, so the exposed events were sequential. All our systems depended on that observed behaviour. This behavior was not part of the API contract, it was not reflected in the code. A new distributed storage didn&amp;rsquo;t have that guarantee - the events came out-of-order. We spent only a few hours coding a new storage adapter, thanks to an abstraction. &lt;strong&gt;We spent the next 10 months on dealing with out-of-order events and other challenges.&lt;/strong&gt; It&amp;rsquo;s now funny to say that abstractions helps us replace components quickly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So, why pay the price of high cognitive load for such a layered architecture, if it doesn&amp;rsquo;t pay off in the future?&lt;/strong&gt; Plus, in most cases, that future of replacing some core component never happens.&lt;/p&gt;
&lt;p&gt;These architectures are not fundamental, they are just subjective, biased consequences of more fundamental principles. Why rely on those subjective interpretations? Follow the fundamental rules instead: dependency inversion principle, single source of truth, cognitive load and information hiding. Your business logic should not depend on low-level modules like database, UI or framework. We should be able to write tests for our core logic without worrying about the infrastructure, and that&amp;rsquo;s it. &lt;a class=&#34;link&#34; href=&#34;https://github.com/zakirullin/cognitive-load/discussions/24&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discuss&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Do not add layers of abstractions for the sake of an architecture. Add them whenever you need an extension point that is justified for practical reasons.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.jooq.org/why-you-should-not-implement-layered-architecture&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Layers of abstraction aren&amp;rsquo;t free of charge&lt;/a&gt;, they are to be held in our limited working memory&lt;/strong&gt;.&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;/div&gt;
&lt;h2 id=&#34;domain-driven-design&#34;&gt;Domain-driven design
&lt;/h2&gt;&lt;p&gt;Domain-driven design has some great points, although it is often misinterpreted. People say, &amp;ldquo;We write code in DDD&amp;rdquo;, which is a bit strange, because DDD is more about the problem space rather than the solution space.&lt;/p&gt;
&lt;p&gt;Ubiquitous language, domain, bounded context, aggregate, event storming are all about problem space. They are meant to help us learn the insights about the domain and extract the boundaries. DDD enables developers, domain experts and business people to communicate effectively using a single, unified language. Rather than focusing on these problem space aspects of DDD, we tend to emphasise particular folder structures, services, repositories, and other solution space techniques.&lt;/p&gt;
&lt;p&gt;Chances are that the way we interpret DDD is likely to be unique and subjective. And if we build code upon this understanding, i.e., if we create a lot of extraneous cognitive load - future developers are doomed. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Team Topologies provides a much better, easier to understand framework that helps us split the cognitive load across teams. Engineers tend to develop somewhat similar mental models after learning about Team Topologies. DDD, on the other hand, seems to be creating 10 different mental models for 10 different readers. Instead of being common ground, it becomes a battleground for unnecessary debates.&lt;/p&gt;
&lt;h2 id=&#34;cognitive-load-in-familiar-projects&#34;&gt;Cognitive load in familiar projects
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;The problem is that &lt;strong&gt;familiarity is not the same as simplicity&lt;/strong&gt;. They &lt;em&gt;feel&lt;/em&gt; the same — that same ease of moving through a space without much mental effort — but for very different reasons. Every “clever” (read: “self-indulgent”) and non-idiomatic trick you use incurs a learning penalty for everyone else. Once they have done that learning, then they will find working with the code less difficult. So it is hard to recognise how to simplify code that you are already familiar with. This is why I try to get “the new kid” to critique the code before they get too institutionalised!&lt;/p&gt;
&lt;p&gt;It is likely that the previous author(s) created this huge mess one tiny increment at a time, not all at once. So you are the first person who has ever had to try to make sense of it all at once.&lt;/p&gt;
&lt;p&gt;In my class I describe a sprawling SQL stored procedure we were looking at one day, with hundreds of lines of conditionals in a huge WHERE clause. Someone asked how anyone could have let it get this bad. I told them: “When there are only 2 or 3 conditionals, adding another one doesn’t make any difference. By the time there are 20 or 30 conditionals, adding another one doesn’t make any difference!”&lt;/p&gt;
&lt;p&gt;There is no “simplifying force” acting on the code base other than deliberate choices that you make. Simplifying takes effort, and people are too often in a hurry.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks to &lt;a class=&#34;link&#34; href=&#34;https://dannorth.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dan North&lt;/a&gt; for his comment&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you&amp;rsquo;ve internalized the mental models of the project into your long-term memory, you won&amp;rsquo;t experience a high cognitive load.&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;/div&gt;
&lt;p&gt;The more mental models there are to learn, the longer it takes for a new developer to deliver value.&lt;/p&gt;
&lt;p&gt;Once you onboard new people on your project, try to measure the amount of confusion they have (pair programming may help). If they&amp;rsquo;re confused for more than ~40 minutes in a row - you&amp;rsquo;ve got things to improve in your code.&lt;/p&gt;
&lt;p&gt;If you keep the cognitive load low, people can contribute to your codebase within the first few hours of joining your company.&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Our architecture is a standard CRUD app architecture, &lt;a class=&#34;link&#34; href=&#34;https://danluu.com/simple-architectures/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;a Python monolith on top of Postgres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;How Instagram scaled to 14 million users with &lt;a class=&#34;link&#34; href=&#34;https://read.engineerscodex.com/p/how-instagram-scaled-to-14-million&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;only 3 engineers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The companies where we were like ”woah, these folks are &lt;a class=&#34;link&#34; href=&#34;https://kenkantzer.com/learnings-from-5-years-of-tech-startup-code-audits/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;smart as hell&lt;/a&gt;” for the most part failed&lt;/li&gt;
&lt;li&gt;One function that wires up the entire system. If you want to know how the system works - &lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/8-lines-code-refactoring&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;go read it&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These architectures are quite boring and easy to understand. Anyone can grasp them without much mental effort.&lt;/p&gt;
&lt;p&gt;Involve junior developers in architecture reviews. They will help you to identify the mentally demanding areas.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Maintaining software is hard&lt;/strong&gt;, things break and we would need every bit of mental effort we can save.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Imagine for a moment that what we inferred in the second chapter isn’t actually true. If that’s the case, then the conclusion we just negated, along with the conclusions in the previous chapter that we had accepted as valid, might not be correct either. &lt;code&gt;🤯&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Do you feel it? Not only do you have to jump all over the article to get the meaning (shallow modules!), but the paragraph in general is difficult to understand. We have just created an unnecessary cognitive load in your head. &lt;strong&gt;Do not do this to your colleagues.&lt;/strong&gt;&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;/div&gt;
&lt;p&gt;We should reduce any cognitive load above and beyond what is intrinsic to the work we do.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.linkedin.com/in/zakirullin/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LinkedIn&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://twitter.com/zakirullin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/zakirullin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub&lt;/a&gt;, artemzr(аt)g-yоu-knоw-com&lt;/p&gt;
&lt;details&gt;
    &lt;summary&gt;&lt;b&gt;Comments&lt;/b&gt;&lt;/summary&gt;
    &lt;br&gt;
    &lt;p&gt;&lt;strong&gt;Rob Pike&lt;/strong&gt;&lt;br&gt;Nice article.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://x.com/karpathy/status/1872038630405054853&#34; target=&#34;_blank&#34;&gt;Andrej Karpathy&lt;/a&gt;&lt;/strong&gt; &lt;i&gt;(ChatGPT, Tesla)&lt;/i&gt;&lt;br&gt;Nice post on software engineering. Probably the most true, least practiced viewpoint.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://x.com/elonmusk/status/1872346903792566655&#34; target=&#34;_blank&#34;&gt;Elon Musk&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;True.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://www.linkedin.com/feed/update/urn:li:activity:7277757844970520576/&#34; target=&#34;_blank&#34;&gt;Addy Osmani&lt;/a&gt;&lt;/strong&gt; &lt;i&gt;(Chrome, the most complex software system in the world)&lt;/i&gt;&lt;br&gt;I&#39;ve seen countless projects where smart developers created impressive architectures using the latest design patterns and microservices. But when new team members tried to make changes, they spent weeks just trying to understand how everything fits together. The cognitive load was so high that productivity plummeted and bugs multiplied.&lt;/p&gt;
    &lt;p&gt;The irony? Many of these complexity-inducing patterns were implemented in the name of &#34;clean code.&#34;&lt;/p&gt;
    &lt;p&gt;What really matters is reducing unnecessary cognitive burden. Sometimes this means fewer, deeper modules instead of many shallow ones. Sometimes it means keeping related logic together instead of splitting it into tiny functions.&lt;/p&gt;
    &lt;p&gt;And sometimes it means choosing boring, straightforward solutions over clever ones. The best code isn&#39;t the most elegant or sophisticated - it&#39;s the code that future developers (including yourself) can understand quickly.&lt;/p&gt;
    &lt;p&gt;Your article really resonates with the challenges we face in browser development. You&#39;re absolutely right about modern browsers being among the most complex software systems. Managing that complexity in Chromium is a constant challenge that aligns perfectly with many of the points you made about cognitive load.&lt;/p&gt;
    &lt;p&gt;One way we try to handle this in Chromium is through careful component isolation and well-defined interfaces between subsystems (like rendering, networking, JavaScript execution, etc.). Similar to your deep modules example with Unix I/O - we aim for powerful functionality behind relatively simple interfaces. For instance, our rendering pipeline handles incredible complexity (layout, compositing, GPU acceleration) but developers can interact with it through clear abstraction layers.&lt;/p&gt;
    &lt;p&gt;Your points about avoiding unnecessary abstractions really hit home too. In browser development, we constantly balance between making the codebase approachable for new contributors while handling the inherent complexity of web standards and compatibility. &lt;/p&gt;
    &lt;p&gt;Sometimes the simplest solution is the best one, even in a complex system.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://x.com/antirez&#34; target=&#34;_blank&#34;&gt;antirez&lt;/a&gt;&lt;/strong&gt; &lt;i&gt;(Redis)&lt;/i&gt;&lt;br&gt;Totally agree about it :) Also, what I believe is missing from mentioned &#34;A Philosophy of Software Design&#34; is the concept of &#34;design sacrifice&#34;. That is, sometimes you sacrifice something and get back simplicity, or performances, or both. I apply this idea continuously, but often is not understood.&lt;/p&gt;
    &lt;p&gt;A good example is the fact that I always refused to have hash items expires. This is a design sacrifice because if you have certain attributes only in the top-level items (the keys themselves), the design is simpler, values will just be objects. When Redis got hash expires, it was a nice feature but required (indeed) many changes to many parts, raising the complexity.&lt;/p&gt;
    &lt;p&gt;Another example is what I&#39;m doing right now, Vector Sets, the new Redis data type. I decided that Redis would not be the source of truth about vectors, but that it can just take an approximate version of them, so I was able to do on-insert normalization, quantization without trying to retain the large floats vector on disk, and so forth. May vector DBs don&#39;t sacrifice the fact of remembering what the user put inside (the full precision vector).&lt;/p&gt;
    &lt;p&gt;These are just two random examples, but I apply this idea everywhere. Now the thing is: of course one must sacrifice the right things. Often, there are 5% features that account for a very large amount of complexity: that is a good thing to kill :D&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://working-for-the-future.medium.com/about&#34; target=&#34;_blank&#34;&gt;A developer from the internet&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;You would not hire me... I sell myself on my track record of released enterprise projects.&lt;/p&gt;
    &lt;p&gt;I worked with a guy that could speak design patterns. I could never speak that way, though I was one of the few that could well understand him. The managers loved him and he could dominate any development conversation. The people working around him said he left a trail of destruction behind him. I was told that I was the first person that could understand his projects. Maintainability matters. I care most about TCO. For some firms, that&#39;s what matters.&lt;/p&gt;
    &lt;p&gt;I logged into Github after not being there for a while and for some reason it took me to an article in a repository by someone that seemed random. I was thinking &#34;what is this&#34; and had some trouble getting to my home page, so I read it. I didn&#39;t really register it at the time, but it was amazing. Every developer should read it. It largely said that almost everything we&#39;ve been told about programming best practices leads to excessive &#34;cognitive load&#34;, meaning our minds are getting kicked by the intellectual demands. I&#39;ve known this for a while, especially with the demands of cloud, security and DevOps.&lt;/p&gt;
    &lt;p&gt;I also liked it because it described practices I have done for decades, but never much admit to because they are not popular... I write really complicated stuff and need all the help I can get.&lt;/p&gt;
    &lt;p&gt;Consider, if I&#39;m right, it popped up because the Github folks, very smart people, though that developers should see it. I agree.&lt;/p&gt;
    &lt;p&gt;&lt;a href=&#34;https://news.ycombinator.com/item?id=45074248&#34; target=&#34;_blank&#34;&gt;Comments on Hacker News&lt;/a&gt; (&lt;a href=&#34;https://news.ycombinator.com/item?id=42489645&#34; target=&#34;_blank&#34;&gt;2&lt;/a&gt;)&lt;/p&gt;
&lt;/details&gt;
</description>
        </item>
        <item>
        <title>nats-server</title>
        <link>https://producthunt.programnotes.cn/en/p/nats-server/</link>
        <pubDate>Sat, 30 Aug 2025 15:25:22 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/nats-server/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1666115883766-efa38b52630c?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTY1Mzg2NDl8&amp;ixlib=rb-4.1.0" alt="Featured image of post nats-server" /&gt;&lt;h1 id=&#34;nats-ionats-server&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/nats-io/nats-server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nats-io/nats-server&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;logos/nats-horizontal-color.png&#34; width=&#34;300&#34; alt=&#34;NATS Logo&#34;&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://nats.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NATS&lt;/a&gt; is a simple, secure and performant communications system for digital systems, services and devices. NATS is part of the Cloud Native Computing Foundation (&lt;a class=&#34;link&#34; href=&#34;https://cncf.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CNCF&lt;/a&gt;). NATS has over &lt;a class=&#34;link&#34; href=&#34;https://nats.io/download/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;40 client language implementations&lt;/a&gt;, and its server can run on-premise, in the cloud, at the edge, and even on a Raspberry Pi. NATS can secure and simplify design and operation of modern distributed systems.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/License-Apache2-blue.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nats-io/nats-server/actions/workflows/tests.yaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/nats-io/nats-server/actions/workflows/tests.yaml/badge.svg?branch=main&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Build&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/nats-io/nats-server/releases/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/v/release/nats-io/nats-server&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Release&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://slack.nats.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/chat-on%20slack-green&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Slack&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://coveralls.io/r/nats-io/nats-server?branch=main&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://coveralls.io/repos/github/nats-io/nats-server/badge.svg?branch=main&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Coverage&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/_/nats&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/docker/pulls/_/nats.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Docker Downloads&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://somsubhra.github.io/github-release-stats/?username=nats-io&amp;amp;repository=nats-server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/downloads/nats-io/nats-server/total.svg?logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub Downloads&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://bestpractices.coreinfrastructure.org/projects/1895&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://bestpractices.coreinfrastructure.org/projects/1895/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CII Best Practices&#34;
	
	
&gt;&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://artifacthub.io/packages/helm/nats/nats&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/nats&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Artifact Hub&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nats.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Official Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.nats.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Official Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.nats.io/reference/faq&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Watch &lt;a class=&#34;link&#34; href=&#34;https://rethink.synadia.com/episodes/1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;a video overview&lt;/a&gt; of NATS.&lt;/li&gt;
&lt;li&gt;Watch &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=sm63oAVPqAM&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;this video from SCALE 13x&lt;/a&gt; to learn more about its origin story and design philosophy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;contact&#34;&gt;Contact
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://twitter.com/nats_io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Twitter&lt;/a&gt;: Follow us on Twitter!&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://groups.google.com/forum/#!forum/natsio&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Groups&lt;/a&gt;: Where you can ask questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://natsio.slack.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Slack&lt;/a&gt;: Click &lt;a class=&#34;link&#34; href=&#34;https://slack.nats.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt; to join. You can ask questions to our maintainers and to the rich and active community.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;If you are interested in contributing to NATS, read about our&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./CONTRIBUTING.md&#34; &gt;Contributing guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/nats-io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Report issues or propose Pull Requests&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;roadmap&#34;&gt;Roadmap
&lt;/h2&gt;&lt;p&gt;The NATS product roadmap can be found &lt;a class=&#34;link&#34; href=&#34;https://nats.io/about/#roadmap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;adopters&#34;&gt;Adopters
&lt;/h2&gt;&lt;p&gt;Who uses NATS? See our &lt;a class=&#34;link&#34; href=&#34;https://nats.io/#who-uses-nats&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;list of users&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://nats.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://nats.io&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;security&#34;&gt;Security
&lt;/h2&gt;&lt;h3 id=&#34;security-audit&#34;&gt;Security Audit
&lt;/h3&gt;&lt;p&gt;A third party security audit was performed by Trail of Bits following engagement by the Open Source Technology Improvement Fund (OSTIF). You can see the &lt;a class=&#34;link&#34; href=&#34;https://github.com/trailofbits/publications/blob/master/reviews/2025-04-ostif-nats-securityreview.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;full report from April 2025 here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;reporting-security-vulnerabilities&#34;&gt;Reporting Security Vulnerabilities
&lt;/h3&gt;&lt;p&gt;If you&amp;rsquo;ve found a vulnerability or a potential vulnerability in the NATS server, please let us know at
&lt;a class=&#34;link&#34; href=&#34;mailto:security@nats.io&#34; &gt;nats-security&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;Unless otherwise noted, the NATS source files are distributed
under the Apache Version 2.0 license found in the LICENSE file.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>awesome-scalability</title>
        <link>https://producthunt.programnotes.cn/en/p/awesome-scalability/</link>
        <pubDate>Mon, 11 Aug 2025 15:35:27 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/awesome-scalability/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1624293547285-d892edcc8bdc?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTQ4OTc2MzZ8&amp;ixlib=rb-4.1.0" alt="Featured image of post awesome-scalability" /&gt;&lt;h1 id=&#34;binhnguyennusawesome-scalability&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/binhnguyennus/awesome-scalability&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;binhnguyennus/awesome-scalability&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://awesome-scalability.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://producthunt.programnotes.cn/logo.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Logo&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An updated and organized reading list for illustrating the patterns of scalable, reliable, and performant large-scale systems. Concepts are explained in the articles of prominent engineers and credible references. Case studies are taken from battle-tested systems that serve millions to billions of users.&lt;/p&gt;
&lt;h4 id=&#34;if-your-system-goes-slow&#34;&gt;If your system goes slow
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;Understand your problems: scalability problem (fast for a single user but slow under heavy load) or performance problem (slow for a single user) by reviewing some &lt;a class=&#34;link&#34; href=&#34;#principle&#34; &gt;design principles&lt;/a&gt; and checking how &lt;a class=&#34;link&#34; href=&#34;#scalability&#34; &gt;scalability&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;#performance&#34; &gt;performance&lt;/a&gt; problems are solved at tech companies. The section of &lt;a class=&#34;link&#34; href=&#34;#intelligence&#34; &gt;intelligence&lt;/a&gt; are created for those who work with data and machine learning at big (data) and deep (learning) scale.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;if-your-system-goes-down&#34;&gt;If your system goes down
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Even if you lose all one day, you can build all over again if you retain your calm!&amp;rdquo; - Thuan Pham, former CTO of Uber. So, keep calm and mind the &lt;a class=&#34;link&#34; href=&#34;#availability&#34; &gt;availability&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;#stability&#34; &gt;stability&lt;/a&gt; matters!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;if-you-are-having-a-system-design-interview&#34;&gt;If you are having a system design interview
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;Look at some &lt;a class=&#34;link&#34; href=&#34;#interview&#34; &gt;interview notes&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;#architecture&#34; &gt;real-world architectures with completed diagrams&lt;/a&gt; to get a comprehensive view before designing your system on whiteboard. You can check some &lt;a class=&#34;link&#34; href=&#34;#talk&#34; &gt;talks&lt;/a&gt; of engineers from tech giants to know how they build, scale, and optimize their systems. Good luck!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;if-you-are-building-your-dream-team&#34;&gt;If you are building your dream team
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;The goal of scaling team is not growing team size but increasing team output and value. You can find out how tech companies reach that goal in various aspects: hiring, management, organization, culture, and communication in the &lt;a class=&#34;link&#34; href=&#34;#organization&#34; &gt;organization&lt;/a&gt; section.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;community-power&#34;&gt;Community power
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;Contributions are greatly welcome! You may want to take a look at the &lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md&#34; &gt;contribution guidelines&lt;/a&gt;. If you see a link here that is no longer maintained or is not a good fit, please submit a pull request!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Many long hours of hard work have gone into this project. If you find it helpful, please share on Facebook, &lt;a class=&#34;link&#34; href=&#34;https://ctt.ec/V8B2p&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;on Twitter&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;http://t.cn/RnjFLCB&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;on Weibo&lt;/a&gt;, or on your chat groups! Knowledge is power, knowledge shared is power multiplied. Thank you!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;content&#34;&gt;Content
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#principle&#34; &gt;Principle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#scalability&#34; &gt;Scalability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#availability&#34; &gt;Availability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#stability&#34; &gt;Stability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#performance&#34; &gt;Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#intelligence&#34; &gt;Intelligence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#architecture&#34; &gt;Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#interview&#34; &gt;Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#organization&#34; &gt;Organization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#talk&#34; &gt;Talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#book&#34; &gt;Book&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;principle&#34;&gt;Principle
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://people.eecs.berkeley.edu/~brewer/papers/GiantScale-IEEE.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lessons from Giant-Scale Services - Eric Brewer, UC Berkeley &amp;amp; Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Designs, Lessons and Advice from Building Large Distributed Systems - Jeff Dean, Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/effective-api-design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How to Design a Good API &amp;amp; Why it Matters - Joshua Bloch, CMU &amp;amp; Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://mvdirona.com/jrh/work/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;On Efficiency, Reliability, Scaling - James Hamilton, VP at AWS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17americas/program/presentation/rosenthal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Principles of Chaos Engineering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon16/program/presentation/lueder&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Finding the Order in Chaos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://12factor.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Twelve-Factor App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clean Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.math-cs.gordon.edu/courses/cs211/lectures-2009/Cohesion,Coupling,MVC.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High Cohesion and Low Coupling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@SkyscannerEng/monoliths-and-microservices-8c65708c3dbf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monoliths and Microservices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://robertgreiner.com/2014/08/cap-theorem-revisited/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CAP Theorem and Trade-offs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.andyet.com/2014/10/01/right-database&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CP Databases and AP Databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://ithare.com/scaling-stateful-objects/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stateless vs Stateful Scalability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.codinghorror.com/scaling-up-vs-scaling-out-hidden-costs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scale Up vs Scale Out: Hidden Costs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://neo4j.com/blog/acid-vs-base-consistency-models-explained/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ACID and BASE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.msdn.microsoft.com/csliu/2009/08/27/io-concept-blockingnon-blocking-vs-syncasync/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blocking/Non-Blocking and Sync/Async&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://use-the-index-luke.com/sql/testing-scalability&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance and Scalability of Databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2011/2/10/database-isolation-levels-and-their-effects-on-performance-a.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Database Isolation Levels and Effects on Performance and Scalability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martin.kleppmann.com/2017/01/26/data-loss-in-large-clusters.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Probability of Data Loss in Large Clusters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.microsoft.com/en-us/previous-versions/msp-n-p/dn271399%28v=pandp.10%29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Access for Highly-Scalable Solutions: Using SQL, NoSQL, and Polyglot Persistence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.upwork.com/hiring/data/sql-vs-nosql-databases-whats-the-difference/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SQL vs NoSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.salesforce.com/sql-or-nosql-9eaf1d92545b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SQL vs NoSQL - Lesson Learned at Salesforce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.baqend.com/nosql-databases-a-survey-and-decision-guidance-ea7823a822d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NoSQL Databases: Survey and Decision Guidance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@jeeyoungk/how-sharding-works-b4dec46b3f6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How Sharding Works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.tom-e-white.com/2007/11/consistent-hashing.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Consistent Hashing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@dgryski/consistent-hashing-algorithmic-tradeoffs-ef6b8e2fcae8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Consistent Hashing: Algorithmic Tradeoffs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://booking.ai/dont-be-tricked-by-the-hashing-trick-192a6aae3087&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Don’t be tricked by the Hashing Trick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/distributing-content-to-open-connect-3e3e391d4dc9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Uniform Consistent Hashing at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.allthingsdistributed.com/2008/12/eventually_consistent.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Eventually Consistent - Werner Vogels, CTO at Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.stevesouders.com/blog/2012/10/11/cache-is-king/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cache is King&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.the-paper-trail.org/post/2014-06-06-paper-notes-anti-caching/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Anti-Caching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Understand Latency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://norvig.com/21-days.html#answers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Latency Numbers Every Programmer Should Know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://queue.acm.org/detail.cfm?id=3096459&amp;amp;__s=dnkxuaws9pogqdnxmx8i&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Calculus of Service Availability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2014/5/12/4-architecture-issues-when-scaling-web-applications-bottlene.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture Issues When Scaling Web Applications: Bottlenecks, Database, CPU, IO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2012/5/16/big-list-of-20-common-bottlenecks.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Common Bottlenecks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://queue.acm.org/detail.cfm?id=3025012&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Life Beyond Distributed Transactions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon15/program/presentation/taveira&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Relying on Software to Redirect Traffic Reliably at Various Layers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17americas/program/presentation/andrus&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Breaking Things on Purpose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@rdsubhas/10-modern-software-engineering-mistakes-bc67fbef4fc8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Avoid Over Engineering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/articles/scalability-worst-practices&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scalability Worst Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@DataStax/instagram-engineerings-3-rules-to-a-scalable-cloud-application-architecture-c44afed31406&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Use Solid Technologies - Don’t Re-invent the Wheel - Keep It Simple!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2018/01/simplicity-by-distributing-complexity.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Simplicity by Distributing Complexity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.transferwise.com/why-over-reusing-is-bad/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Why Over-Reusing is Bad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.codinghorror.com/performance-is-a-feature/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance is a Feature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2014/12/11/make-performance-part-of-your-workflow/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Make Performance Part of Your Workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/the-benefits-of-server-side-rendering-over-client-side-rendering-5d07ff2cefe8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Benefits of Server Side Rendering over Client Side Rendering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://architecht.io/lessons-from-facebook-on-engineering-for-scale-f5716f0afc7a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Automate and Abstract: Lessons at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://8thlight.com/blog/sarah-sunday/2017/09/15/aws-dos-and-donts.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AWS Do&amp;rsquo;s and Don&amp;rsquo;ts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@hellostanley/design-doesnt-scale-4d81e12cbc3e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;(UI) Design Doesn’t Scale - Stanley Wood, Design Director at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.brendangregg.com/linuxperf.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linux Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.igvita.com/2016/05/20/building-fast-and-resilient-web-applications/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Fast and Resilient Web Applications - Ilya Grigorik&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17asia/program/presentation/wang_daxin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Accept Partial Failures, Minimize Service Loss&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2012/12/31/designing-for-resiliency-will-be-so-2013.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Design for Resiliency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.microsoft.com/en-us/azure/architecture/guide/design-principles/self-healing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Design for Self-healing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.microsoft.com/en-us/azure/architecture/guide/design-principles/scale-out&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Design for Scaling Out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.microsoft.com/en-us/azure/architecture/guide/design-principles/design-for-evolution&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Design for Evolution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2013/8/26/reddit-lessons-learned-from-mistakes-made-scaling-to-1-billi.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Learn from Mistakes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;scalability&#34;&gt;Scalability
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martinfowler.com/microservices/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microservices and Orchestration&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/microservice-architecture/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Domain-Oriented Microservice Architecture at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/service-architecture-3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Service Architecture (3 parts: Domain Gateways, Value-Added Services, BFF) at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.riotgames.com/news/thinking-inside-container&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Container (8 parts) at Riot Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/containerization-at-pinterest-92295347f2f3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Containerization at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/the-evolution-of-container-usage-at-netflix-3abfc096781b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Evolution of Container Usage at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/dockerizing-mysql/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dockerizing MySQL at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2018/01/11/testing-of-microservices/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Testing of Microservices at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/treehouse-engineering/lessons-learned-running-docker-in-production-5dce99ece770&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docker in Production at Treehouse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/inside-a-soundcloud-microservice&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microservice at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stripe.com/blog/operating-kubernetes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Operate Kubernetes Reliably at Stripe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.trivago.com/2020/06/10/cross-cluster-traffic-mirroring-with-istio/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cross-Cluster Traffic Mirroring with Istio at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://open.nytimes.com/agrarian-scale-kubernetes-part-3-ee459887ed7e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agrarian-Scale Kubernetes (3 parts) at New York Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/bbc-design-engineering/powering-bbc-online-with-nanoservices-727840ba015b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nanoservices at BBC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.techatbloomberg.com/blog/powerfulseal-testing-tool-kubernetes-clusters/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PowerfulSeal: Testing Tool for Kubernetes Clusters at Bloomberg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/netflix-conductor-a-microservices-orchestrator-2e8d4771bf40&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Conductor: Microservices Orchestrator at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://shopifyengineering.myshopify.com/blogs/engineering/docker-at-shopify-how-we-built-containers-that-power-over-100-000-online-shops&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docker Containers that Power Over 100.000 Online Shops at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.engineering/microservice-architecture-at-medium-9c33805eb74f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microservice Architecture at Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boxunix.com/post/bare_metal_to_kube/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;From bare-metal to Kubernetes at Betabrand&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/tinder-engineering/tinders-move-to-kubernetes-cda2a6372f44&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes at Tinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.quora.com/q/quoraengineering/Adopting-Kubernetes-at-Quora&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/building-a-kubernetes-platform-at-pinterest-fb3d9571c948&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes Platform at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/building-nubank/microservices-at-nubank-an-overview-2ebcb336c64d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microservices at Nubank&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.mercari.com/en/blog/entry/20210831-2019-06-07-155849/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Payment Transaction Management in Microservices at Mercari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.snap.com/monolith-to-multicloud-microservices-snap-service-mesh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Service Mesh at Snap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/grit-a-protocol-for-distributed-transactions-across-microservices/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GRIT: Protocol for Distributed Transactions across Microservices at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/palantir/introducing-rubix-kubernetes-at-palantir-ab0ce16ea42e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rubix: Kubernetes at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/crisp-critical-path-analysis-for-microservice-architectures/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CRISP: Critical Path Analysis for Microservice Architectures at Uber&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wix.engineering/post/scaling-to-100m-to-cache-or-not-to-cache&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Caching&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/caching-for-a-global-netflix-7bcc457012f1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EVCache: Distributed In-memory Caching at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/cache-warming-agility-for-a-stateful-service-2d3b1da82642&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EVCache Cache Warmer Infrastructure at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.box.com/blog/introducing-memsniff-robust-memcache-traffic-analyzer/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Memsniff: Robust Memcache Traffic Analyzer at Box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2017/11/30/how-etsy-caches/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Caching with Consistent Hashing and Cache Smearing at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/220956754772273/an-analysis-of-facebook-photo-caching/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analysis of Photo Caching at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/964122680272229/web-performance-cache-efficiency-exercise/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cache Efficiency Exercise at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.trivago.com/2015/10/15/tcache/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tCache: Scalable Data-aware Java Caching at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/Pycache-lightning-fast-in-process-caching&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pycache: In-process Caching at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.trivago.com/2017/12/19/how-trivago-reduced-memcached-memory-usage-by-50/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reduce Memcached Memory Usage by 50% at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/03/caching-internal-service-calls-at-yelp.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Caching Internal Service Calls at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://allegro.tech/2017/01/estimating-the-cache-efficiency-using-big-data.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Estimating the Cache Efficiency using Big Data at Allegro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2018/04/distributed-cache-akka-kubernetes.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Cache at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://clickhouse.com/blog/building-a-distributed-cache-for-s3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Cache for S3 at ClickHouse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/evolution-of-application-data-caching-from-ram-to-ssd-a33d6fa7a690&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Application Data Caching from RAM to SSD at NetFlix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@SkyscannerEng/the-tradeoffs-of-a-replicated-cache-b6680c722f58&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tradeoffs of Replicated Cache at Skyscanner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engblog.yext.com/post/geolocation-caching&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Location Caching with Quadtrees at Yext&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/vimeo-engineering-blog/video-metadata-caching-at-vimeo-a54b25f0b304&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Video Metadata Caching at Vimeo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-scale-105tb-ram-39mm-qps-10000-ins.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Redis at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/scaling-slacks-job-queue-687222e9d100&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Job Queue with Redis at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/moving-persistent-data-out-of-redis/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moving persistent data out of Redis at Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.instagram.com/storing-hundreds-of-millions-of-simple-key-value-pairs-in-redis-1091ae80f74c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Storing Hundreds of Millions of Simple Key-Value Pairs in Redis at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.trivago.com/2017/01/25/learn-redis-the-hard-way-in-production/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redis at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deliveroo.engineering/2017/01/19/optimising-membership-queries.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing Redis Storage at Deliveroo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.wattpad.com/post/23244724794/store-more-stuff-memory-optimization-in-redis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Memory Optimization in Redis at Wattpad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.heroku.com/rolling-redis-fleet&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redis Fleet at Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/gradle-remote-build-cache-misses-part-2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Solving Remote Build Cache Misses (2 parts) at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.flipkart.tech/ratings-reviews-flipkart-part-2-574ab08e75cf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ratings &amp;amp; Reviews (2 parts) at Flipkart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/prefetch-caching-of-ebay-items/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Prefetch Caching of Items at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wix.engineering/post/how-we-built-a-cross-region-caching-library&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cross-Region Caching Library at Wix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/improving-distributed-caching-performance-and-efficiency-at-pinterest-92484b5fe39b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Distributed Caching Performance and Efficiency at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doordash.engineering/2023/10/19/how-doordash-standardized-and-improved-microservices-caching/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Standardize and Improve Microservices Caching at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HTTP Caching and CDN&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zynga.com/blogs/engineering/zynga-geo-proxy-reducing-mobile-game-latency&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zynga Geo Proxy: Reducing Mobile Game Latency at Zynga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://technology.condenast.com/story/the-why-and-how-of-google-amp-at-conde-nast&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google AMP at Condé Nast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deliveroo.engineering/2016/09/19/ab-testing-cdns.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;A/B Tests on Hosting Infrastructure (CDNs) at Deliveroo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/how-soundcloud-uses-haproxy-with-kubernetes-for-user-facing-traffic&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HAProxy with Kubernetes for User-facing Traffic at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/03/meet-bandaid-the-dropbox-service-proxy/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bandaid: Service Proxy at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/service-workers-at-slack-our-quest-for-faster-boot-times-and-offline-support-3492cf79c88&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Service Workers at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2020/02/24/how-spotify-aligned-cdn-services-for-a-lightning-fast-streaming-experience/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CDN Services at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Locking&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.acolyer.org/2015/02/13/the-chubby-lock-service-for-loosely-coupled-distributed-systems/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chubby: Lock Service for Loosely Coupled Distributed Systems at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=MDuagr729aU&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Locking at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.gosquared.com/distributed-locks-using-redis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Locks using Redis at GoSquared&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/zookeeper-at-twitter.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ZooKeeper at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://chartio.com/blog/eliminating-duplicate-queries-using-distributed-locking/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Eliminating Duplicate Queries using Distributed Locking at Chartio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.oreilly.com/ideas/understanding-the-value-of-distributed-tracing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Tracking, Tracing, and Measuring&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/a/2012/distributed-systems-tracing-with-zipkin.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zipkin: Distributed Systems Tracing at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/using-kubernetes-pod-metadata-to-improve-zipkin-traces&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improve Zipkin Traces using Kubernetes Pod Metadata at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/canopy-scalable-tracing-analytics-facebook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Canopy: Scalable Distributed Tracing &amp;amp; Analysis at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/distributed-tracing-at-pinterest-with-new-open-source-tools-a4f8a5562f6b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pintrace: Distributed Tracing at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.atspotify.com/2021/01/20/introducing-xcmetrics-our-all-in-one-tool-for-tracking-xcode-build-metrics/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;XCMetrics: All-in-One Tool for Tracking Xcode Build Metrics at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/distributed-service-call-graph/real-time-distributed-tracing-website-performance-and-efficiency&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-time Distributed Tracing at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17americas/program/presentation/arthorne&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tracking Service Infrastructure at Scale at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.hellofresh.com/scaling-hellofresh-distributed-tracing-7b182928247d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Tracing at HelloFresh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/analyzing-distributed-trace-data-6aae58919949&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analyzing Distributed Trace Data at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/distributed-tracing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Tracing at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/jvm-profiler/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JVM Profiler: Tracing Distributed JVM Applications at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17asia/program/presentation/mah&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Checking at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.showmax.com/2016/10/tracing-distributed-systems-at-showmax/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tracing Distributed Systems at Showmax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@palantir/osquery-across-the-enterprise-3c3c9d13ec55&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;osquery Across the Enterprise at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2011/02/15/measure-anything-measure-everything/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;StatsD at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.csee.umbc.edu/courses/graduate/CMSC621/fall02/lectures/ch11.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Scheduling&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pagerduty.com/eng/distributed-task-scheduling-3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Task Scheduling (3 parts) at PagerDuty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://landing.google.com/sre/sre-book/chapters/distributed-periodic-scheduling/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Cron at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/Quoras-Distributed-Cron-Architecture&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Cron Architecture at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/chronos-a-replacement-for-cron-f05d7d986a9d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chronos: A Replacement for Cron at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engblog.nextdoor.com/we-don-t-run-cron-jobs-at-nextdoor-6f7f9cc62040&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scheduler at Nextdoor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/peloton/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Peloton: Unified Resource Scheduler for Diverse Cluster Workloads at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/fenzo-oss-scheduler-for-apache-mesos-frameworks-5c340e77e543&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fenzo: OSS Scheduler for Apache Mesos Frameworks at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://airflow.apache.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow - Workflow Orchestration&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/airflow-a-workflow-management-platform-46318b977fd8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.adyen.com/knowledge-hub/apache-airflow-at-adyen&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Adyen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.pandora.com/apache-airflow-at-pandora-1d7a844d68ee&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Pandora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/robinhood-engineering/why-robinhood-uses-airflow-aed13a9a90c8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Robinhood&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/running-apache-airflow-at-lyft-6e53bb8fccff&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://drivy.engineering/airflow-architecture/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Drivy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.grab.com/experimentation-platform-data-pipeline&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Grab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/adobetech/adobe-experience-platform-orchestration-service-with-apache-airflow-952203723c0b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airflow at Adobe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/auditing-airflow-batch-jobs-73b45100045&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Auditing Airflow Job Runs at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hackernoon.com/meet-maat-alibabas-dag-based-distributed-task-scheduler-7c9cf0c83438&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MaaT: DAG-based Distributed Task Scheduler at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.etsy.com/codeascraft/boundary-layer-declarative-airflow-workflows&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;boundary-layer: Declarative Airflow Workflows at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.oreilly.com/ideas/monitoring-distributed-systems&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Monitoring and Alerting&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/unicorn-rheos-remediation-center/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unicorn: Remediation System at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/optimizing-m3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;M3: Metrics and Monitoring Platform at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2019/05/athena-our-automated-build-health-management-system/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Athena: Automated Build Health Management System at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2019/11/monitoring-server-applications-with-vortex/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vortex: Monitoring Server Applications at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2019/solving-manageability-challenges-with-nuage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nuage: Cloud Management Service at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/telltale-netflix-application-monitoring-simplified-5c08bfa780ba&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Telltale: Application Monitoring at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2019/06/smart-alerts-in-thirdeye--linkedins-real-time-monitoring-platfor&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ThirdEye: Monitoring Platform at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/periskop-exception-monitoring-service&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Periskop: Exception Monitoring Service at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2017/02/meet-securitybot-open-sourcing-automated-security-at-scale/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Securitybot: Distributed Alerting Bot at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon18asia/presentation/xinchi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monitoring System at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/dailymotion/real-user-monitoring-1948375f8be5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real User Monitoring at Dailymotion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/observability-at-scale/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alerting Ecosystem at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/alerting-framework-at-airbnb-35ba48df894f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alerting Framework at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/alerting-on-slos&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alerting on Service-Level Objectives (SLOs) at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/observability-anomaly-detection/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Job-based Forecasting Workflow for Observability Anomaly Detection at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.hackerearth.com/2017/03/21/monitoring-and-alert-system-using-graphite-and-cabot/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monitoring and Alert System using Graphite and Cabot at HackerEarth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/a/2016/observability-at-twitter-technical-overview-part-ii.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Observability (2 parts) at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/distributed-security-alerting-c89414c992d6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Security Alerting at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/news-alerting-bloomberg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-Time News Alerting at Bloomberg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2019/an-inside-look-at-linkedins-data-pipeline-monitoring-system-&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Pipeline Monitoring System at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.picnic.nl/monitoring-and-observability-at-picnic-684cefd845c4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monitoring and Observability at Picnic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://msdn.microsoft.com/en-us/library/cc767123.aspx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Security&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/02/security-at-scale-the-dropbox-approach/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Approach to Security at Scale at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/introducing-aardvark-and-repokid-53b081bf3a7e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aardvark and Repokid: AWS Least Privilege for Distributed, High-Velocity Development at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.slideshare.net/MikeSvoboda/2017-lisa-linkedins-distributed-firewall-dfw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LISA: Distributed Firewall at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.coinbase.com/how-coinbase-builds-secure-infrastructure-to-store-bitcoin-in-the-cloud-30a6504e40ba&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Secure Infrastructure To Store Bitcoin In The Cloud at Coinbase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/binaryalert-real-time-serverless-malware-detection-ca44370c1b90&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BinaryAlert: Real-time Serverless Malware Detection at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://segment.com/blog/secure-access-to-100-aws-accounts/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scalable IAM Architecture to Secure Access to 100 AWS Accounts at Segment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.indeedblog.com/blog/2018/04/oaudit-toolbox/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OAuth Audit Toolbox at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/04/ad-password-blacklisting.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Active Directory Password Blacklisting at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/syscall-auditing-at-scale-e6a3ca8ac1b8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Syscall Auditing at Scale at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/160481899076/open-sourcing-athenz-fine-grained-role-based&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Athenz: Fine-Grained, Role-Based Access Control at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/05/introducing-webauthn-support-for-secure-dropbox-sign-in/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WebAuthn Support for Secure Sign In at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/moving-fast-and-securing-things-540e6c5ae58a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Security Development Lifecycle at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kinvolk.io/blog/2018/04/towards-unprivileged-container-builds/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unprivileged Container Builds at Kinvolk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/netflix-sirt-releases-diffy-a-differencing-engine-for-digital-forensics-in-the-cloud-37b71abd2698&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Diffy: Differencing Engine for Digital Forensics in the Cloud at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/netflix-cloud-security-detecting-credential-compromise-in-aws-9493d6fd373a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Detecting Credential Compromise in AWS at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2018/09/18/scalable-user-privacy/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scalable User Privacy at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.indeedblog.com/blog/2018/09/application-scanning/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AVA: Audit Web Applications at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/11/ttl-as-a-service.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TTL as a Service: Automatic Revocation of Stale Privileges at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/engineering-dive-into-slack-enterprise-key-management-1fce471b178c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Enterprise Key Management at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitch.tv/en/2019/03/15/how-twitch-addresses-scalability-and-authentication/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scalability and Authentication at Twitch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/edge-authentication-and-token-agnostic-identity-propagation-514e47e0b602&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Edge Authentication and Token-Agnostic Identity Propagation at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.palantir.com/hardening-palantirs-kubernetes-infrastructure-with-cilium-1c40d4c7ef0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hardening Kubernetes Infrastructure with Cilium at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/improving-web-vulnerability-management-through-automation-2631570d8415&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Web Vulnerability Management through Automation at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/application/dropbox-passwords-clock-skew-payload-sync-merge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clock Skew when Syncing Password Payloads at Drobbox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/pdf/1704.00411.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Messaging, Queuing, and Event Streaming&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2017/05/introducing-cape/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cape: Event Stream Processing Framework at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2019/brooklin-open-source&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Brooklin: Distributed Service for Near Real-Time Data Streaming at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/04/samza-aeon--latency-insights-for-asynchronous-one-way-flows&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Samza: Stream Processing System for Latency Insighs at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/161855616651/open-sourcing-bullet-yahoos-forward-looking&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bullet: Forward-Looking Query Engine for Streaming Data at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2018/05/29/the-eventhorizon-saga/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EventHorizon: Tool for Watching Events Streaming at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/Qmessage-Handling-Billions-of-Tasks-Per-Day&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Qmessage: Distributed, Asynchronous Task Queue at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/cherami/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cherami: Message Queue System for Transporting Async Tasks at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/dynein-building-a-distributed-delayed-job-queueing-system-93ab10f05f99&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dynein: Distributed Delayed Job Queueing System at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/timestone-netflixs-high-throughput-low-latency-priority-queueing-system-with-built-in-support-1abf249ba95f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Timestone: Queueing System for Non-Parallelizable Workloads at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.riotgames.com/news/riot-messaging-service&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Messaging Service at Riot Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/infrastructure/infrastructure-messaging-system-model-async-platform-evolution&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Messaging System Model at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zillow.com/engineering/debugging-production-event-logging/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Debugging Production with Event Logging at Zillow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/building-a-cross-platform-in-app-messaging-orchestration-service-86ba614f92d8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cross-platform In-app Messaging Orchestration Service at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/re-architecting-the-video-gatekeeper-f7b0ac2f6b00&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Video Gatekeeper at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/neflix-push-messaging-scale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Push Messaging for Millions of Devices at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.indeedblog.com/blog/2017/06/delaying-messages/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Delaying Asynchronous Message Processing with RabbitMQ at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/135321837876/benchmarking-streaming-computation-engines-at&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Benchmarking Streaming Computation Engines at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deliveroo.engineering/2019/02/05/improving-stream-data-quality-with-protobuf-schema-validation.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Stream Data Quality With Protobuf Schema Validation at Deliveroo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.engineering/scaling-email-infrastructure-for-medium-digest-254223c883b8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Email Infrastructure at Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/real-time-messaging/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-time Messaging at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/nikeengineering/moving-faster-with-aws-by-creating-an-event-stream-database-dedec8ca3eeb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Event Stream Database at Nike&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/udemy-engineering/designing-the-new-event-tracking-system-at-udemy-a45e502216fd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Event Tracking System at Udemy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martinfowler.com/articles/201701-event-driven.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Event-Driven Messaging&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/swlh/creating-coding-excellence-with-domain-driven-design-88f73d2232c3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Domain-Driven Design at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/weebly-engineering/how-to-organize-your-monolith-before-breaking-it-into-services-69cbdb9248b0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Domain-Driven Design at Weebly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.moonpig.com/development/modelling-for-domain-driven-design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Domain-Driven Design at Moonpig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/netflix-scale-event-sourcing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Event Sourcing for Netflix Downloads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@eulerfx/scaling-event-sourcing-at-jet-9c873cac33b8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Event-Sourcing at Jet.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/event-sourcing-in-action-with-ebays-continuous-delivery-team/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Event Sourcing (2 parts) at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/inside-freenow/event-sourcing-an-evolutionary-perspective-31e7387aa6f1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Event Sourcing at FREE NOW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/engineering-brainly/scalable-content-feed-using-event-sourcing-and-cqrs-patterns-e09df98bf977&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scalable content feed using Event Sourcing and CQRS patterns at Brainly&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aws.amazon.com/pub-sub-messaging/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pub-Sub Messaging&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/150078336821/open-sourcing-pulsar-pub-sub-messaging-at-scale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pulsar: Pub-Sub Messaging at Scale at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/188966771280871/wormhole-pub-sub-system-moving-data-through-space-and-time/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wormhole: Pub-Sub System at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/memq-an-efficient-scalable-cloud-native-pubsub-system-4402695dd4e7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MemQ: Cloud Native Pub-Sub System at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/how-netflix-microservices-tackle-dataset-pub-sub-4a068adcc9a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pub-Sub in Microservices at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martin.kleppmann.com/papers/kafka-debull15.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka - Message Broker&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/kafka/running-kafka-scale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/how-pinterest-runs-kafka-at-scale-ff9c6f735be&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.trello.com/why-we-chose-kafka/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at Trello&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.salesforce.com/how-apache-kafka-inspired-our-platform-events-architecture-2f351fe4cf63&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at Salesforce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://open.nytimes.com/publishing-with-apache-kafka-at-the-new-york-times-7f0e3b7d2077&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at The New York Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2016/07/billions-of-messages-a-day-yelps-real-time-data-pipeline.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/criteo-labs/upgrading-kafka-on-a-large-infra-3ee99f56e970&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka at Criteo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://shopifyengineering.myshopify.com/blogs/engineering/running-apache-kafka-on-kubernetes-at-shopify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka on Kubernetes at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2022/03/kafka-on-paasta-part-two.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kafka on PaaSTA: Running Kafka on Kubernetes at Yelp (2 parts)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2019/01/migrating-kafkas-zookeeper-with-no-downtime.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Migrating Kafka&amp;rsquo;s Zookeeper with No Downtime at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/reliable-reprocessing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reprocessing and Dead Letter Queues with Kafka at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/chaperone/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chaperone: Audit Kafka End-to-End at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2019/01/finding-kafkas-throughput-limit-in-dropbox-infrastructure/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Finding Kafka throughput limit in infrastructure at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/cost-orchestration-at-walmart-f34918af67c4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cost Orchestration at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/hulu-tech-blog/how-hulu-uses-influxdb-and-kafka-to-scale-to-over-1-million-metrics-a-second-1721476aaff5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InfluxDB and Kafka to Scale to Over 1 Million Metrics a Second at Hulu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/paypal-tech/scaling-kafka-to-support-paypals-data-growth-a0b4da420fab&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Kafka to Support Data Growth at PayPal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Data_deduplication&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stream Data Deduplication&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Exactly-once Semantics with Kafka&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://eng.tapjoy.com/blog-list/real-time-deduping-at-scale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-time Deduping at Tapjoy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://segment.com/blog/exactly-once-delivery/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deduplication at Segment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@andrewsumin/efficient-storage-how-we-went-down-from-50-pb-to-32-pb-99f9c61bf6b4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deduplication at Mail.Ru&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/mixpaneleng/petabyte-scale-data-deduplication-mixpanel-engineering-e808c70c99f8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Petabyte Scale Data Deduplication at Mixpanel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.codinghorror.com/the-problem-with-logging/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Logging&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Logging at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/scalable-and-reliable-data-ingestion-at-pinterest-b921c2ee8754&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scalable and Reliable Log Ingestion at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2015/building-distributedlog-twitter-s-high-performance-replicated-log-servic.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High-performance Replicated Log Service at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://databricks.com/blog/2017/12/14/the-architecture-of-the-next-cern-accelerator-logging-service.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Logging Service with Spark at CERN Accelerator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/Logging-and-Aggregation-at-Quora&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Logging and Aggregation at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://badoo.com/techblog/blog/2016/06/06/collection-and-analysis-of-daemon-logs-at-badoo/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Collection and Analysis of Daemon Logs at Badoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/palantir/using-static-code-analysis-to-improve-log-parsing-18f0d1843965&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Log Parsing with Static Code Analysis at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/low-latency-and-high-throughput-cal-ingress/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Centralized Application Logging at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/hyper-scale-vpc-flow-logs-enrichment-to-provide-network-insight-e5f1db02910d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Enrich VPC Flow Logs at Hyper Scale to provide Network Insight at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/109908973316/bookkeeper-yahoos-distributed-log-storage-is&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BookKeeper: Distributed Log Storage at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/357056558062811/logdevice-a-distributed-data-store-for-logs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LogDevice: Distributed Data Store for Logs at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/03/introducing-logfeeder.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LogFeeder: Log Collection System at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/dblog-a-generic-change-data-capture-framework-69351fb9099b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DBLog: Generic Change-Data-Capture Framework at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://nwds.cs.washington.edu/files/nwds/pdf/Distributed-WR.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Searching&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://instagram-engineering.com/search-architecture-eeb34a936d3a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Architecture at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.cs.otago.ac.nz/homepages/andrew/papers/2017-8.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Architecture at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/box-tech-blog/scaling-box-search-using-lumos-22d9e0cb4175&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Architecture at Box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/coupang-tech/the-evolution-of-search-discovery-indexing-platform-fa43e41305f9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Discovery Indexing Platform at Coupang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/building-a-universal-search-system-for-pinterest-e4cb03a898d4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Universal Search System at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/making-e-commerce-search-faster/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Search Engine Efficiency by over 25% at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/palantir/indexing-and-querying-telemetry-logs-with-lucene-234c5ce3e5f3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Indexing and Querying Telemetry Logs with Lucene at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tripadvisor.com/engineering/query-understanding-at-tripadvisor/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Query Understanding at TripAdvisor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/03/search-federation-architecture-at-linkedin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Federation Architecture at LinkedIn (2018)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/search-at-slack-431f8c80619e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careersatdoordash.com/blog/introducing-doordashs-in-house-search-engine/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Engine at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2022/stability-and-scalability-for-search&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stability and Scalability for Search at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/a/2014/building-a-complete-tweet-index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Search Service at Twitter (2014)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/traveloka-engineering/high-quality-autocomplete-search-part-2-d5b15bb0dadf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autocomplete Search (2 parts) at Traveloka&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://product.canva.com/building-a-data-driven-autocorrection-system/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data-Driven Autocorrection System at Canva&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.flipkart.tech/adapting-search-to-indian-phonetics-cdbe65259686&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adapting Search to Indian Phonetics at Flipkart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/09/architecture-of-nautilus-the-new-dropbox-search-engine/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nautilus: Search Engine at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/search/did-you-mean-galene&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Galene: Search Architecture of LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/manas-a-high-performing-customized-search-system-cf189f6ca40f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Manas: High Performing Customized Search System at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.flipkart.tech/sherlock-near-real-time-search-indexing-95519783859d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sherlock: Near Real Time Search Indexing at Flipkart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/nebula-as-a-storage-platform-to-build-airbnbs-search-backends-ecc577b05f06&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nebula: Storage Platform to Build Search Backends at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://logz.io/blog/15-tech-companies-chose-elk-stack/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ELK (Elasticsearch, Logstash, Kibana) Stack&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/elk/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Predictions in Real Time with ELK at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://webuild.envato.com/blog/building-a-scalable-elk-stack/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building a scalable ELK stack at Envato&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://robinhood.engineering/taming-elk-4e1349f077c3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ELK at Robinhood&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/uber-elasticsearch-clusters?utm_source=presentations_about_Case_Study&amp;amp;utm_medium=link&amp;amp;utm_campaign=Case_Study&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Elasticsearch Clusters at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/elasticsearch-performance-tuning-practice-at-ebay/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Elasticsearch Performance Tuning Practice at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/tinder-engineering/how-we-improved-our-performance-using-elasticsearch-plugins-part-2-b051da2ee85b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improve Performance using Elasticsearch Plugins (2 parts) at Tinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kickstarter.engineering/elasticsearch-at-kickstarter-db3c487887fc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Elasticsearch at Kickstarter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.trivago.com/2016/01/19/logstash_protobuf_codec/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Log Parsing with Logstash and Google Protocol Buffers at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/06/fast-order-search.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fast Order Search using Data Pipeline and Elasticsearch at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2017/06/moving-yelps-core-business-search-to-elasticsearch.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moving Core Business Search to Elasticsearch at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.vinted.com/2017/06/05/sharding-out-elasticsearch/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding out Elasticsearch at Vinted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.wattpad.com/post/146216619727/self-ranking-search-with-elasticsearch-at-wattpad&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Self-Ranking Search with Elasticsearch at Wattpad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.blog/2019-03-05-vulcanizer-a-library-for-operating-elasticsearch/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vulcanizer: a library for operating Elasticsearch at Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2011/11/1/finding-the-right-data-solution-for-your-application-in-the.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Storage&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@denisanikin/what-an-in-memory-database-is-and-how-it-persists-data-efficiently-f43868cff4c1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;In-memory Storage&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2012/8/14/memsql-architecture-the-fast-mvcc-inmem-lockfree-codegen-and.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MemSQL Architecture - The Fast (MVCC, InMem, LockFree, CodeGen) And Familiar (SQL)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/Optimizing-Memcached-Efficiency&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing Memcached Efficiency at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.cisco.com/datacenter/memsql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-Time Data Warehouse with MemSQL on Cisco UCS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://eng.tapjoy.com/blog-list/moving-to-memsql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moving to MemSQL at Tapjoy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://conferences.oreilly.com/strata/strata-ca/public/schedule/detail/68131&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MemSQL and Kinesis for Real-time Insights at Disney&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.pandora.com/using-memsql-at-pandora-79a86cb09b57&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MemSQL to Query Hundreds of Billions of Rows in a Dashboard at Pandora&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.datacenterknowledge.com/archives/2013/10/04/object-storage-the-future-of-scale-out&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Object Storage&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/scaling-hdfs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling HDFS at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://databricks.com/blog/2017/05/31/top-5-reasons-for-choosing-s3-over-hdfs.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reasons for Choosing S3 over HDFS at Databricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.quantcast.com/blog/quantcast-file-system-on-amazon-s3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;File System on Amazon S3 at Quantcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.trivago.com/2018/09/03/efficient-image-recovery-at-scale-using-amazon-s3-versioning/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Image Recovery at Scale Using S3 Versioning at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/116391291701/yahoo-cloud-object-store-object-storage-at&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Object Store at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17americas/program/presentation/shenoy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ambry: Distributed Immutable Object Store at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/02/dynamometer--scale-testing-hdfs-on-minimal-hardware-with-maximum&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dynamometer: Scale Testing HDFS on Minimal Hardware with Maximum Fidelity at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/hammerspace-persistent-concurrent-off-heap-storage-3db39bb04472&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hammerspace: Persistent, Concurrent, Off-heap Storage at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/mezzfs-mounting-object-storage-in-netflixs-media-processing-platform-cda01c446ba&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MezzFS: Mounting Object Storage in Media Processing Platform at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Magic Pocket: In-house Multi-exabyte Storage System at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mysql.com/products/cluster/scalability.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Relational Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/en-SG/blog/mysql-at-uber/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MySQL at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/learn-to-stop-using-shiny-new-things-and-love-mysql-3e1613c2ce14&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MySQL at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitch.tv/en/2016/10/11/how-twitch-uses-postgresql-c34aa9e56f58&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PostgreSQL at Twitch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/tracking-the-money-scaling-financial-reporting-at-airbnb-6d742b80f040&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling MySQL-based Financial Reporting System at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wix.engineering/post/scaling-to-100m-mysql-is-a-better-nosql&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling MySQL at Wix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.fb.com/2023/05/16/data-infrastructure/mysql-raft-meta/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building and Deploying MySQL Raft at Meta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/unlocking-horizontal-scalability-in-our-web-serving-tier-d907449cdbcf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MaxScale (MySQL) Database Proxy at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/en-NL/blog/postgres-to-mysql-migration/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Switching from Postgres to MySQL at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.instagram.com/handling-growth-with-postgres-5-tips-from-instagram-d5d7e7ffdfcb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Handling Growth with Postgres at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.transferwise.com/scaling-our-analytics-database/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling the Analytics Database (Postgres) at TransferWise&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/adyen/updating-a-50-terabyte-postgresql-database-f64384b799e7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Updating a 50 Terabyte PostgreSQL Database at Adyen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/paypal-engineering/scaling-database-access-for-100s-of-billions-of-queries-per-day-paypal-introducing-hera-e192adacda54&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Database Access for 100s of Billions of Queries per Day at PayPal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2020/11/minimizing-read-write-mysql-downtime.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Minimizing Read-Write MySQL Downtime at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.fb.com/2021/07/22/data-infrastructure/mysql/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Migrating MySQL from 5.6 to 8.0 at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://quoraengineering.quora.com/Migration-from-HBase-to-MyRocks-at-Quora&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Migration from HBase to MyRocks at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.microsoft.com/en-us/sql/relational-databases/replication/types-of-replication&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Replication&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/booking-com-infrastructure/evaluating-mysql-parallel-replication-part-4-annex-under-the-hood-eb456cf8b2fb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MySQL Parallel Replication (4 parts) at Booking.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/mitigating-replication-lag-and-reducing-read-load-with-freno/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mitigating MySQL Replication Lag and Reducing Read Load at Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://shopify.engineering/read-consistency-database-replicas&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Read Consistency with Database Replicas at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/04/black-box-auditing.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Black-Box Auditing: Verifying End-to-End Replication Integrity between MySQL and Redshift at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/how-we-partitioned-airbnb-s-main-database-in-two-weeks-55f7e006ff21&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Partitioning Main MySQL Database at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/herb-datacenter-replication/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Herb: Multi-DC Replication Engine for Schemaless Datastore at Uber&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://quabase.sei.cmu.edu/mediawiki/index.php/Shard_data_set_across_multiple_servers_%28Range-based%29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding MySQL at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.twilio.com/engineering/2014/06/26/how-we-replaced-our-data-pipeline-with-zero-downtime&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding MySQL at Twilio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/square-corner-blog/sharding-cash-10280fa3ef3b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding MySQL at Square&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.quora.com/q/quoraengineering/MySQL-sharding-at-Quora&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding MySQL at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/schemaless-rewrite/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding Layer of Schemaless Datastore at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding &amp;amp; IDs at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.notion.so/blog/sharding-postgres-at-notion&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharding Postgres at Notion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.box.com/blog/solr-improving-performance-batch-indexing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Solr: Improving Performance for Batch Indexing at Box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/tinder-engineering/geosharded-recommendations-part-3-consistency-2d2cb2f0594b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Geosharded Recommendations (3 parts) at Tinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.fb.com/production-engineering/scaling-services-with-shard-manager/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Services with Shard Manager at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://research.fb.com/wp-content/uploads/2019/03/Presto-SQL-on-Everything.pdf?&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Presto the Distributed SQL Query Engine&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/presto-at-pinterest-a8bda7515e52&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Presto at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/presto-infrastructure-at-lyft-b10adb9db01&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Presto Infrastructure at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.grab.com/scaling-like-a-boss-with-presto&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Presto at Grab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/presto/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Engineering Data Analytics with Presto and Apache Parquet at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/data-wrangling-at-slack-f2e0ff633b69&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Wrangling at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/using-presto-in-our-big-data-platform-on-aws-938035909fd4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Presto in Big Data Platform on AWS at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.eventbrite.com/engineering/big-data-workloads-presto-auto-scaling/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Presto Auto Scaling at Eventbrite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/en-MY/blog/speed-up-presto-with-alluxio-local-cache/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Speed Up Presto with Alluxio Local Cache at Uber&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thoughtworks.com/insights/blog/nosql-databases-overview&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NoSQL Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.cs.ucsb.edu/~agrawal/fall2009/dynamo.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Key-Value Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/nikeengineering/becoming-a-nimble-giant-how-dynamo-db-serves-nike-at-scale-4cc375dbb18e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DynamoDB at Nike&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://segment.com/blog/the-million-dollar-eng-problem/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DynamoDB at Segment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.mapbox.com/scaling-mapbox-infrastructure-with-dynamodb-streams-d53eabc5e972&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DynamoDB at Mapbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/a/2014/manhattan-our-real-time-multi-tenant-distributed-database-for-twitter-scale.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Manhattan: Distributed Key-Value Database at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/120730204806/sherpa-scales-new-heights&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sherpa: Distributed NoSQL Key-Value Store at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/178262468576/introducing-halodb-a-fast-embedded-key-value&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HaloDB: Embedded Key-Value Storage Engine at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.indeedblog.com/blog/2018/02/indeed-mph/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MPH: Fast and Compact Immutable Key-Value Stores at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2017/02/building-venice-with-apache-helix&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Venice: Distributed Key-Value Database at Linkedin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aws.amazon.com/nosql/columnar/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Columnar Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cassandra&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.slideshare.net/DataStax/cassandra-at-instagram-2016&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cassandra at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/building-object-store-storing-images-in-cassandra-walmart-scale-a6b9c02af593&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Storing Images in Cassandra at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Storing Messages with Cassandra at Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/avoid-pitfalls-in-scaling-your-cassandra-cluster-lessons-and-remedies-a71ca01f8c04&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Cassandra Cluster at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2016/08/how-we-scaled-our-ad-analytics-with-cassandra.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Ad Analytics with Cassandra at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/dream11-tech-blog/leaderboard-dream11-4efc6f93c23e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling to 100+ Million Reads/Writes using Spark and Cassandra at Dream11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zomato.com/blog/how-we-moved-our-food-feed-from-redis-to-cassandra&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moving Food Feed from Redis to Cassandra at Zomato&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/benchmarking-cassandra-scalability-on-aws-over-a-million-writes-per-second-39f45f066c9e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Benchmarking Cassandra Scalability on AWS at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://quickbooks-engineering.intuit.com/service-decomposition-at-scale-70405ac2f637&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Service Decomposition at Scale with Cassandra at Intuit QuickBooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/keeping-counts-in-sync&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cassandra for Keeping Counts In Sync at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/glassdoor-engineering/cassandra-driver-configuration-for-improved-performance-and-load-balancing-1b0106ce12bb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cassandra Driver Configuration for Improved Performance and Load Balancing at Glassdoor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2018/09/04/introducing-cstar-the-spotify-cassandra-orchestration-tool-now-open-source/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cstar: Cassandra Orchestration Tool at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hbase.apache.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HBase&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.salesforce.com/investing-in-big-data-apache-hbase-b9d98661a66b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HBase at Salesforce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.facebook.com/notes/facebook-engineering/the-underlying-technology-of-messages/454991608919/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HBase in Facebook Messages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.imgur.com/2015/09/15/tech-tuesday-imgur-notifications-from-mysql-to-hbase/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HBase in Imgur Notification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/improving-hbase-backup-efficiency-at-pinterest-86159da4b954&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving HBase Backup Efficiency at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.slideshare.net/HBaseCon/hbase-practice-at-xiaomi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HBase at Xiaomi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.allthingsdistributed.com/2018/11/amazon-redshift-performance-optimization.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redshift&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.giphy.com/scaling-redshift-without-scaling-costs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redshift at GIPHY&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hudl.com/bits/the-low-hanging-fruit-of-redshift-performance&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redshift at Hudl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://drivy.engineering/redshift_tips_ticks_part_1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redshift at Drivy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://msdn.microsoft.com/en-us/magazine/hh547103.aspx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Document Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mongodb.com/blog/post/ebay-building-mission-critical-multi-data-center-applications-with-mongodb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;eBay: Building Mission-Critical Multi-Data Center Applications with MongoDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mongodb.com/blog/post/mongodb-at-baidu-powering-100-apps-across-600-nodes-at-pb-scale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MongoDB at Baidu: Multi-Tenant Cluster Storing 200+ Billion Documents across 160 Shards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/build-addepar/migrating-mountains-of-mongo-data-63e530539952&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Migrating Mongo Data at Addepar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.baqend.com/parse-is-gone-a-few-secrets-about-their-infrastructure-91b3ab2fcf71&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The AWS and MongoDB Infrastructure of Parse (acquired by Facebook)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/build-addepar/migrating-mountains-of-mongo-data-63e530539952&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Migrating Mountains of Mongo Data at Addepar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2017/12/couchbase-ecosystem-at-linkedin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Couchbase Ecosystem at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/zendesk-engineering/resurrecting-amazon-simpledb-9404034ec506&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SimpleDB at Zendesk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/espresso/introducing-espresso-linkedins-hot-new-distributed-document-store&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Espresso: Distributed Document Store at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.eecs.harvard.edu/margo/papers/systor13-bench/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Graph Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/a/2010/introducing-flockdb.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FlockDB: Distributed Graph Database at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cs.cmu.edu/~pavlo/courses/fall2013/static/papers/11730-atc13-bronson.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TAO: Distributed Data Store for the Social Graph at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/akutan-a-distributed-knowledge-graph-store/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Akutan: Distributed Knowledge Graph Store at eBay&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.influxdata.com/time-series-database/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Time Series Databases&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/952820474848503/beringei-a-high-performance-time-series-storage-engine/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Beringei: High-performance Time Series Storage Engine at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/metricsdb.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MetricsDB: TimeSeries Database for storing metrics at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/introducing-atlas-netflixs-primary-telemetry-platform-bd31f4d8ed9a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Atlas: In-memory Dimensional Time Series Database at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2015/11/17/monitoring-at-spotify-introducing-heroic/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Heroic: Time Series Database at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/roshi-a-crdt-system-for-timestamped-events&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Roshi: Distributed Storage System for Time-Series Event at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/goku-building-a-scalable-and-high-performant-time-series-database-system-a8ff5758a181&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Goku: Time Series Database at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/scaling-time-series-data-storage-part-ii-d67939655586&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Time Series Data Storage (2 parts) at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/introducing-netflix-timeseries-data-abstraction-layer-31552f6326f8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Time Series Data Abstraction Layer at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://druid.apache.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Druid - Real-time Analytics Database&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/druid-airbnb-data-platform-601c312f2a4c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Druid at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/event-stream-analytics-at-walmart-with-druid-dcf1a37ceda7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Druid at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/monitoring-at-ebay-with-druid/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Druid at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/how-netflix-uses-druid-for-real-time-insights-to-ensure-a-high-quality-experience-19e1e8568d06&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Druid at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Repositories, Dependencies, and Configurations Management&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/introducing-dgit/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DGit: Distributed Git at Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@palantir/stemma-distributed-git-server-70afbca0fc29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stemma: Distributed Git Server at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.flickr.net/2016/03/24/configuration-management-for-distributed-systems-using-github-and-cfg4j/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Configuration Management for Distributed Systems at Flickr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.msdn.microsoft.com/bharry/2017/05/24/the-largest-git-repo-on-the-planet/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Git Repository at Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/news/2017/02/GVFS&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Solve Git Problem with Large Repositories at Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Single Repository at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/adyen/from-0-100-billion-scaling-infrastructure-and-workflow-at-adyen-7b63b690dfb6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Infrastructure and (Git) Workflow at Adyen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/booking-com-infrastructure/dotfiles-distribution-dedb69c66a75&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dotfiles Distribution at Booking.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/06/yelps-secret-detector.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Secret Detector: Preventing Secrets in Source Code at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/09/managing-software-dependency-at-scale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Managing Software Dependency at Scale at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2020/continuous-integration&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Merging Code in High-velocity Repositories at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/dynamic-configuration-at-twitter.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dynamic Configuration at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/mixpaneleng/dynamic-configuration-at-mixpanel-94bfcf97d6b8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dynamic Configuration at Mixpanel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sg.godaddy.com/engineering/2019/03/06/dynamic-configuration-for-nodejs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dynamic Configuration at GoDaddy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.atspotify.com/2023/5/fleet-management-at-spotify-part-3-fleet-wide-refactoring&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fleet Management (3 parts) at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.synopsys.com/blogs/software-security/agile-cicd-devops-glossary/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Continuous Integration and Continuous Delivery&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.fb.com/web/rapid-release-at-massive-scale/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Continuous Integration Stack at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/towards-true-continuous-integration-distributed-repositories-and-dependencies-2a2e3108c051&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Continuous Integration with Distributed Repositories and Dependencies at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2019/12/continuous-integration-and-deployment-with-bazel/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Continuous Integration and Deployment with Bazel at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/adopting-bazel-for-web-at-scale-a784b2dbe325&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adopting Bazel for Web at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.buzzfeed.com/continuous-deployments-at-buzzfeed-d171f76c1ac4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Continuous Deployments at BuzzFeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/155765242061/open-sourcing-screwdriver-yahoos-continuous&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Screwdriver: Continuous Delivery Build System for Dynamic Infrastructure at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.betterment.com/resources/ci-cd-shortening-the-feedback-loop/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CI/CD at Betterment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/engineering-brainly/ci-cd-at-scale-fdfb0f49e031&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CI/CD at Brainly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.shopify.com/blogs/engineering/scaling-ios-ci-with-anka&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling iOS CI with Anka at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2019/04/Scaling-Jira-Server-Administration-For-The-Enterprise.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Jira Server at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://flexport.engineering/how-flexport-halved-testing-costs-with-an-auto-scaling-ci-cd-cluster-8304297222f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Auto-scaling CI/CD cluster at Flexport&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;availability&#34;&gt;Availability
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://queue.acm.org/detail.cfm?id=2371297&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resilience Engineering: Learning to Embrace Failure&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2017/11/resilience-engineering-at-linkedin-with-project-waterbear&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resilience Engineering with Project Waterbear at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.iheart.com/resiliency-against-traffic-oversaturation-77c5ed92a5fb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resiliency against Traffic Oversaturation at iHeartRadio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.gojekengineering.com/resiliency-in-distributed-systems-efd30f74baf4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resiliency in Distributed Systems at GO-JEK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/practical-nosql-resilience-design-pattern-for-the-enterprise/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Practical NoSQL Resilience Design Pattern for the Enterprise at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/Ensuring-Quoras-Resilience-to-Disaster&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ensuring Resilience to Disaster at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/expedia-website-resiliency?utm_source=presentations_about_Case_Study&amp;amp;utm_medium=link&amp;amp;utm_campaign=Case_Study&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Site Resiliency at Expedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/resiliency-and-disaster-recovery-with-kafka/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resiliency and Disaster Recovery with Kafka at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/kafka/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Disaster Recovery for Multi-Region Kafka at Uber&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://cloudpatterns.org/mechanisms/failover_system&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Failover&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon16/program/presentation/heady&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Evolution of Global Traffic Routing and Failover&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17asia/program/presentation/liu_zehua&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Testing for Disaster Recovery Failover Testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.risingstack.com/designing-microservices-architecture-for-failure/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Designing a Microservices Architecture for Failure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.gosquared.com/use-elb-automatic-failover&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ELB for Automatic Failover at GoSquared&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://americanexpress.io/eliminate-the-database-for-higher-availability/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Eliminate the Database for Higher Availability at American Express&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.vinted.com/2015/09/03/failover-with-redis-sentinel/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Failover with Redis Sentinel at Vinted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.freeagent.com/2017/02/06/ha-infrastructure-without-breaking-the-bank/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High-availability SaaS Infrastructure at FreeAgent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.blog/2018-06-20-mysql-high-availability-at-github/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MySQL High Availability at GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.eventbrite.com/engineering/mysql-high-availability-at-eventbrite/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MySQL High Availability at Eventbrite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/business-continuity-disaster-recovery-in-the-microservices-world-ef2adca363df&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Business Continuity &amp;amp; Disaster Recovery at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.vivekpanyam.com/scaling-a-web-service-load-balancing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Load Balancing&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Introduction to Modern Network Load Balancing and Proxying&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.f5.com/company/blog/top-five-scalability-patterns&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Top Five (Load Balancing) Scalability Patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon15europe/program/presentation/shuff&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Load Balancing infrastructure to support more than 1.3 billion users at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/1734309626831603/dhcplb-an-open-source-load-balancer/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DHCPLB: DHCP Load Balancer at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/1906146702752923/open-sourcing-katran-a-scalable-network-load-balancer/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Katran: Scalable Network Load Balancer at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/daperture-load-balancer.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deterministic Aperture: A Distributed, Load Balancing Algorithm at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/netflix-shares-cloud-load-balancing-and-failover-tool-eureka-c10647ef95e5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Load Balancing with Eureka at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/netflix-edge-load-balancing-695308b5548c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Edge Load Balancing at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/open-sourcing-zuul-2-82ea476cb2b3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zuul 2: Cloud Gateway at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2017/05/taking-zero-downtime-load-balancing-even-further.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Load Balancing at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/introducing-glb/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Load Balancing at Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/vimeo-engineering-blog/improving-load-balancing-with-a-new-consistent-hashing-algorithm-9f1bd75709ed&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Consistent Hashing to Improve Load Balancing at Vimeo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.500px.com/udp-load-balancing-with-keepalived-167382d7ad08&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;UDP Load Balancing at 500 pixel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/qalm/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;QALM: QoS Load Management Framework at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17europe/program/presentation/rastogi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Traffic Steering using Rum DNS at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/10/dropbox-traffic-infrastructure-edge-network/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Traffic Infrastructure (Edge Network) at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2020/01/intelligent-dns-based-load-balancing-at-dropbox/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Intelligent DNS based load balancing at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stripe.com/en-sg/blog/secret-life-of-dns&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monitor DNS systems at Stripe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/monday-engineering/how-and-why-we-migrated-our-dns-from-cloudflare-to-a-multi-dns-architecture-part-3-584a470f4062&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Multi-DNS Architecture (3 parts) at Monday&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/hulu-tech-blog/building-hulus-dynamic-anycast-dns-infrastructure-985a7a11fd30&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dynamic Anycast DNS Infrastructure at Hulu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.keycdn.com/support/rate-limiting/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rate Limiting&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.cloudflare.com/counting-things-a-lot-of-different-things/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rate Limiting for Scaling to Millions of Domains at Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/111288877956/cloud-bouncer-distributed-rate-limiting-at-yahoo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Bouncer: Distributed Rate Limiting at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stripe.com/blog/rate-limiters&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling API with Rate Limiters at Stripe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://allegro.tech/2017/04/hermes-max-rate.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Rate Limiting at Allegro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.twilio.com/blog/2017/11/chaos-engineering-ratequeue-ha.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ratequeue: Core Queueing-And-Rate-Limiting System at Twilio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.grab.com/quotas-service&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quotas Service at Grab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/figma-design/an-alternative-approach-to-rate-limiting-f8a06cf7c94c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rate Limiting at Figma&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@BotmetricHQ/top-11-hard-won-lessons-learned-about-aws-auto-scaling-5bfe56da755f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/auto-scaling-pinterest-df1d2beb4d64&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/square-corner-blog/autoscaling-based-on-request-queuing-c4c0f57f860f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling Based on Request Queuing at Square&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.trivago.com/2017/02/17/your-definite-guide-for-autoscaling-jenkins/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling Jenkins at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2017/11/20/autoscaling-pub-sub-consumers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling Pub-Sub Consumers at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2018/12/18/bigtable-autoscaler-saving-money-and-time-using-managed-storage/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling Bigtable Clusters based on CPU Load at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2019/06/autoscaling-aws-step-functions-activities.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Autoscaling AWS Step Functions Activities at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/scryer-netflixs-predictive-auto-scaling-engine-a3f8fc922270&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scryer: Predictive Auto Scaling Engine at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/palantir/bouncer-simple-aws-auto-scaling-rollovers-c5af601d65d4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bouncer: Simple AWS Auto Scaling Rollovers at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2019/02/autoscaling-mesos-clusters-with-clusterman.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clusterman: Autoscaling Mesos Clusters at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36737.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Availability in Globally Distributed Storage Systems at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/68823943185/nodejs-high-availability&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NodeJS High Availability at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.linkedin.com/pulse/introduction-every-day-monday-operations-benjamin-purgason&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Operations (11 parts) at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17americas/program/presentation/barot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monitoring Powers High Availability for LinkedIn Feed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/166966743929963/how-production-engineers-support-global-events-on-facebook/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Supporting Global Events at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/blablacar-tech/the-expendables-backends-high-availability-at-blablacar-8cea3b95b26b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High Availability at BlaBlaCar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@NetflixTechBlog/tips-for-high-availability-be0472f2599c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High Availability at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.twilio.com/engineering/2011/12/12/scaling-high-availablity-infrastructure-in-cloud&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High Availability Cloud Infrastructure at Twilio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2019/01/automating-datacenter-operations-at-dropbox/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Automating Datacenter Operations at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://technology.riotgames.com/news/globalizing-player-accounts&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Globalizing Player Accounts at Riot Games&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;stability&#34;&gt;Stability
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martinfowler.com/bliki/CircuitBreaker.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Circuit Breaker&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/circuit-breaking-distributed-systems&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Circuit Breaking in Distributed Systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://f5.com/about-us/blog/articles/the-art-of-scaling-containers-circuit-breakers-28919&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Circuit Breaker for Scaling Containers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/lessons-in-resilience-at-SoundCloud&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lessons in Resilience at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.trivago.com/2016/02/23/protector/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Protector: Circuit Breaker for Time Series Databases at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.heroku.com/improved-production-stability-with-circuit-breakers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improved Production Stability with Circuit Breakers at Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/zendesk-engineering/the-joys-of-circuit-breaking-ee6584acd687&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Circuit Breaker at Zendesk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/traveloka-engineering/circuit-breakers-dont-let-your-dependencies-bring-you-down-5ba1c5cf1eec&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Circuit Breaker at Traveloka&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://shopify.engineering/circuit-breaker-misconfigured&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Circuit Breaker at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.javaworld.com/article/2824163/application-performance/stability-patterns-applied-in-a-restful-architecture.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Timeouts&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/fault-tolerance-in-a-high-volume-distributed-system-91ab4faae74a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fault Tolerance (Timeouts and Retries, Thread Separation, Semaphores, Circuit Breakers) at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doordash.engineering/2018/12/21/enforce-timeout-a-doordash-reliability-methodology/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Enforce Timeout: A Reliability Methodology at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/a-vip-connection-timeout-issue-caused-by-snat-and-tcp-tw-recycle/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Troubleshooting a Connection Timeout Issue with tcp_tw_recycle Enabled at eBay&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/booking-com-infrastructure/better-crash-safe-replication-for-mysql-a336a69b317f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Crash-safe Replication for MySQL at Booking.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://skife.org/architecture/fault-tolerance/2009/12/31/bulkheads.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bulkheads: Partition and Tolerate Failure in One Part&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.microsoft.com/en-us/sql/relational-databases/policy-based-management/place-data-and-log-files-on-separate-drives&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Steady State: Always Put Logs on Separate Disk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.sosp.org/2001/papers/welsh.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Throttling: Maintain a Steady Pace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2017/11/improving-resiliency-and-stability-of-a-large-scale-api&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Multi-Clustering: Improving Resiliency and Stability of a Large-scale Monolithic API Service at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.riotgames.com/news/determinism-league-legends-fixing-divergences&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Determinism (4 parts) in League of Legends Server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;performance&#34;&gt;Performance
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stackify.com/application-performance-metrics/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Optimization on OS, Storage, Database, Network&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.instagram.com/improving-performance-with-background-data-prefetching-b191acb39898&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Performance with Background Data Prefetching at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2020/fixing-linux-filesystem-performance-regressions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fixing Linux filesystem performance regressions at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/how-ebays-shopping-cart-used-compression-techniques-to-solve-network-io-bottlenecks/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Compression Techniques to Solve Network I/O Bottlenecks at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing Web Servers for High Throughput and Low Latency at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/linux-performance-analysis-in-60-000-milliseconds-accc10403c55&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linux Performance Analysis in 60.000 Milliseconds at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.mixpanel.com/2018/07/31/live-downsizing-google-cloud-pds-for-fun-and-profit/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Live Downsizing Google Cloud Persistent Disks (PD-SSD) at Mixpanel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://zapier.com/engineering/celery-python-jemalloc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Decreasing RAM Usage by 40% Using jemalloc with Python &amp;amp; Celery at Zapier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/reducing-slacks-memory-footprint-4480fec7e8eb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reducing Memory Footprint at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/continuous-load-testing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Continuous Load Testing at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/driving-user-growth-with-performance-improvements-cfc50dafadd7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Improvements at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=f9xI2jR71Ms&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Server Side Rendering at Wix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/02/making-30x-performance-improvements-on-yelps-mysqlstreamer.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;30x Performance Improvements on MySQLStreamer at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/optimizing-the-netflix-api-5c9ac715cf19&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing APIs at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/performance-monitoring-with-riemann-and-clojure-eafc07fcd375&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Monitoring with Riemann and Clojure at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zynga.com/blogs/engineering/live-games-have-evolving-performance&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Tracking Dashboard for Live Games at Zynga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/optimization-of-cal-report-hadoop-mapreduce-job/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing CAL Report Hadoop MapReduce Jobs at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/performance-tuning-on-quartz-scheduler/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Tuning on Quartz Scheduler at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.riotgames.com/news/profiling-optimisation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Profiling C++ (Part 1: Optimization, Part 2: Measurement and Analysis) at Riot Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/homeaway-tech-blog/profiling-react-server-side-rendering-to-free-the-node-js-event-loop-7f0fe455a901&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Profiling React Server-Side Rendering at HomeAway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/dailymotion-engineering/hardware-assisted-video-transcoding-at-dailymotion-66cd2db448ae&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hardware-Assisted Video Transcoding at Dailymotion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/11/cross-shard-transactions-at-10-million-requests-per-second/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cross Shard Transactions at 10 Million RPS at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/api-profiling-at-pinterest-6fa9333b4961&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;API Profiling at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2017/07/generating-web-pages-in-parallel-with-pagelets.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pagelets Parallelize Server-side Processing at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/improving-key-expiration-in-redis.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving key expiration in Redis at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/mindgeek-engineering-blog/ad-delivery-network-performance-optimization-with-flame-graphs-bc550cf59cf7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ad Delivery Network Performance Optimization with Flame Graphs at MindGeek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/predictive-cpu-isolation-of-containers-at-netflix-91f014d856c7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Predictive CPU isolation of containers at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/improving-hdfs-i-o-utilization-for-efficiency/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving HDFS I/O Utilization for Efficiency at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2020/04/23/cloud-jewels-estimating-kwh-in-the-cloud/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Jewels: Estimating kWh in the Cloud at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.indeedblog.com/blog/2019/12/unthrottled-fixing-cpu-limits-in-the-cloud/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unthrottled: Fixing CPU Limits in the Cloud (2 parts) at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://confluence.atlassian.com/enterprise/garbage-collection-gc-tuning-guide-461504616.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Optimization by Tuning Garbage Collection&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/garbage-collection/garbage-collection-optimization-high-throughput-and-low-latency-java-applications&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Garbage Collection in Java Applications at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/adobetech/engineering-high-throughput-low-latency-machine-learning-services-7d45edac0271&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Garbage Collection in High-Throughput, Low-Latency Machine Learning Services at Adobe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/garbage-collection-in-redux-applications&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Garbage Collection in Redux Applications at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitch.tv/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap-26c2462549a2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Garbage Collection in Go Application at Twitch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.linux.com/blog/can-nodejs-scale-ask-team-alibaba&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analyzing V8 Garbage Collection Logs at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://instagram-engineering.com/copy-on-write-friendly-python-garbage-collection-ad6ed5233ddf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python Garbage Collection for Dropping 50% Memory Growth Per Request at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/removing-oobgc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Impact of Removing Out of Band Garbage Collector (OOBGC) at Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://allegro.tech/2018/05/a-comedy-of-errors-debugging-java-memory-leaks.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Debugging Java Memory Leaks at Allegro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=X4tmr3nhZRg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing JVM at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/jvm-tuning-garbage-collection/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tuning JVM Memory for Large-scale Services at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartglobaltech/solr-performance-tuning-beb7d0d0f8d9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Solr Performance Tuning at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.flipkart.tech/memory-tuning-a-high-throughput-microservice-ed57b3e60997&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Memory Tuning a High Throughput Microservice at Flipkart&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.google.com/web/fundamentals/performance/why-performance-matters/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Optimization on Image, Video, Page Load&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.facebook.com/posts/129055711052260/optimizing-360-photos-at-scale/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing 360 Photos at Scale at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2017/05/30/reducing-image-file-size-at-etsy/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reducing Image File Size in the Photos Infrastructure at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/improving-gif-performance-on-pinterest-8dad74bf92f1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving GIF Performance at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/optimizing-video-playback-performance-caf55ce310d1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing Video Playback Performance at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/optimized-shot-based-encodes-now-streaming-4b9464204830&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing Video Stream for Low Bandwidth with Dynamic Optimizer at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://youtube-eng.googleblog.com/2018/04/making-high-quality-video-efficient.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adaptive Video Streaming at YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/dailymotion/reducing-video-loading-time-fa9c997a2294&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reducing Video Loading Time at Dailymotion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zillow.com/engineering/improving-homepage-performance/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Homepage Performance at Zillow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/expedia-engineering/go-fast-or-go-home-the-process-of-optimizing-for-client-performance-57bb497402e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Process of Optimizing for Client Performance at Expedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/bbc-design-engineering/bbc-world-service-web-performance-26b08f7abfcc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Web Performance at BBC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.akamai.com/2016/02/understanding-brotlis-potential.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Optimization by Brotli Compression&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2017/05/boosting-site-speed-using-brotli-compression&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Boosting Site Speed Using Brotli Compression at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/booking-com-development/bookings-journey-with-brotli-978b249d34f3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Brotli at Booking.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.treebo.com/a-tale-of-brotli-compression-bcb071d9780a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Brotli at Treebo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/infrastructure/deploying-brotli-for-static-content&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deploying Brotli for Static Content at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2017/07/progressive-enhancement-with-brotli.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Progressive Enhancement with Brotli at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doordash.engineering/2019/01/02/speeding-up-redis-with-compression/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Speeding Up Redis with Compression at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.techempower.com/benchmarks/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Optimization on Languages and Frameworks&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/python-at-netflix-bba45dae649e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://instagram-engineering.com/python-at-scale-strict-modules-c0bb9245c834&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python at scale (3 parts) at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.issuu.com/2018/12/10/our-current-ocaml-best-practices-part-2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OCaml best practices (2 parts) at Issuu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/taking-php-seriously-cf7a60065329&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PHP at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.trivago.com/2020/03/02/why-we-chose-go/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Go at Trivago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2021/11/08/etsys-journey-to-typescript/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TypeScript at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.etsy.com/sg-en/codeascraft/sealed-classes-opened-my-mind&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kotlin for taming state at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kotlin at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/bumble-tech/bpf-and-go-modern-forms-of-introspection-in-linux-6b9802682223&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BPF and Go at Bumble&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/gitlab-magazine/why-we-use-ruby-on-rails-to-build-gitlab-601dce4a7a38&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ruby on Rails at GitLab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/figma-design/rust-in-production-at-figma-e10a0ec31929&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rust in production at Figma&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.wework.com/choosing-a-language-stack-cac3726928f6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Choosing a Language Stack at WeWork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Switching from Go to Rust at Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/agoda-engineering/happy-asp-net-core-performance-optimization-4e21a383d299&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ASP.NET Core Performance Optimization at Agoda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/data-race-patterns-in-go/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Race Patterns in Go at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/java-21-virtual-threads-dude-wheres-my-lock-3052540e231d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Java 21 Virtual Threads at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;intelligence&#34;&gt;Intelligence
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://insights.sei.cmu.edu/sei_blog/2017/05/reference-architectures-for-big-data-systems.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Big Data&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/uber-big-data-platform/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.unibw.de/code/events-u/jt-2018-workshops/ws3_bigdata_vortrag_widmann.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at BMW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=CSDIThSwA7s&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.flipkart.tech/overview-of-flipkart-data-platform-20c6d3e9a196&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at Flipkart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/coupang-tech/evolving-the-coupang-data-platform-308e305a9c45&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at Coupang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doordash.engineering/2020/09/25/how-doordash-is-scaling-its-data-platform/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.khanacademy.org/posts/khanalytics.htm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Platform at Khan Academy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/data-infrastructure-at-airbnb-8adfb34f169c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Infrastructure at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/big-data-infrastructure-linkedin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Infrastructure at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.gojekengineering.com/data-infrastructure-at-go-jek-cd4dc8cbd929&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Infrastructure at GO-JEK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/scalable-and-reliable-data-ingestion-at-pinterest-b921c2ee8754&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Ingestion Infrastructure at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/behind-the-pins-building-analytics-f7b508cdacab&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Analytics Architecture at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.atspotify.com/2022/03/why-we-switched-our-data-orchestration-service/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Orchestration Service at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2017/10/23/big-data-processing-at-spotify-the-road-to-scio-part-2/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Big Data Processing (2 parts) at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cdn.oreillystatic.com/en/assets/1/event/160/Big%20data%20processing%20with%20Hadoop%20and%20Spark%2C%20the%20Uber%20way%20Presentation.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Big Data Processing at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cdn.oreillystatic.com/en/assets/1/event/269/Lyft_s%20analytics%20pipeline_%20From%20Redshift%20to%20Apache%20Hive%20and%20Presto%20Presentation.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analytics Pipeline at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.grammarly.com/blog/building-a-versatile-analytics-pipeline-on-top-of-apache-spark&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analytics Pipeline at Grammarly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/teads-engineering/give-meaning-to-100-billion-analytics-events-a-day-d6ba09aa8f44&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analytics Pipeline at Teads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/paypal-ml-fraud-prevention-2018&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ML Data Pipelines for Real-Time Fraud Prevention at PayPal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cdn.oreillystatic.com/en/assets/1/event/269/Big%20data%20analytics%20and%20machine%20learning%20techniques%20to%20drive%20and%20grow%20business%20Presentation%201.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Big Data Analytics and ML Techniques at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cdn.oreillystatic.com/en/assets/1/event/137/Building%20a%20self-serve%20real-time%20reporting%20platform%20at%20LinkedIn%20Presentation%201.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Self-Serve Reporting Platform on Hadoop at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2019/04/privacy-preserving-analytics-and-reporting-at-linkedin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Privacy-Preserving Analytics and Reporting at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/how-we-build-a-robust-analytics-platform-using-spark-kafka-and-cassandra-lambda-architecture-70c2d1bc8981&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analytics Platform for Tracking Item Availability at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/en-SG/blog/real-time-analytics-for-mobile-app-crashes/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-Time Analytics for Mobile App Crashes using Apache Pinot at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.fb.com/data-center-engineering/hardware-analytics-and-lifecycle-optimization-halo-at-facebook/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HALO: Hardware Analytics and Lifecycle Optimization at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://techblog.king.com/rbea-scalable-real-time-analytics-king/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RBEA: Real-time Analytics Platform at King&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/aresdb/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AresDB: GPU-Powered Real-time Analytics Engine at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/athenax/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AthenaX: Streaming Analytics Platform at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/en-SG/blog/jupiter-batch-ingestion-platform/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jupiter: Config Driven Adtech Batch Ingestion Platform at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/delta-a-data-synchronization-and-enrichment-platform-e82c36a79aee&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Delta: Data Synchronization and Enrichment Platform at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/keystone-real-time-stream-processing-platform-a3ee651812a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Keystone: Real-time Stream Processing Platform at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/databook/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Databook: Turning Big Data into Knowledge with Metadata at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/amundsen-lyfts-data-discovery-metadata-engine-62d27254fbb9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Amundsen: Data Discovery &amp;amp; Metadata Engine at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/maze/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Maze: Funnel Visualization Platform at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/metacat-making-big-data-discoverable-and-meaningful-at-netflix-56fb36a53520&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Metacat: Making Big Data Discoverable and Meaningful at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/capturing-data-evolution-in-a-service-oriented-architecture-72f7c643ee6f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SpinalTap: Change Data Capture System at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/announcing-the-accelerator-processing-1-000-000-000-lines-per-second-on-a-single-computer/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Accelerator: Fast Data Processing Framework at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/180867271141/a-new-chapter-for-omid&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Omid: Transaction Processing Platform at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/157196488076/open-sourcing-tensorflowonspark-distributed-deep&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TensorFlowOnSpark: Distributed Deep Learning on Big Data Clusters at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/139916828451/caffeonspark-open-sourced-for-distributed-deep&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CaffeOnSpark: Distributed Deep Learning on Big Data Clusters at Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/adobetech/spark-on-scala-adobe-analytics-reference-architecture-7457f5614b4c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Spark on Scala: Analytics Reference Architecture at Adobe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.atspotify.com/2020/11/02/spotifys-new-experimentation-platform-part-2/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Experimentation Platform (2 parts) at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/https-medium-com-jonathan-parks-scaling-erf-23fd17c91166&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Experimentation Platform at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2017/10/zalando-smart-product-platform.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Smart Product Platform at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.slideshare.net/wyukawa/strata2017-sg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Log Analysis Platform at LINE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/myntra-engineering/universal-dashboarding-platform-udp-data-visualisation-platform-at-myntra-5f2522fcf72d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Visualisation Platform at Myntra&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/building-and-scaling-data-lineage-at-netflix-to-improve-data-infrastructure-reliability-and-1a52526a7977&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building and Scaling Data Lineage at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/building-a-scalable-data-management-system-for-computer-vision-tasks-a6dee8f1c580&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building a scalable data management system for computer vision tasks at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2019/07/31/an-introduction-to-structured-data-at-etsy/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Structured Data at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/scaling-a-mature-data-pipeline-managing-overhead-f34835cbc866&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling a Mature Data Pipeline - Managing Overhead at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/on-spark-hive-and-small-files-an-in-depth-look-at-spark-partitioning-strategies-a9a364f908&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Spark Partitioning Strategies at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2021/the-exabyte-club--linkedin-s-journey-of-scaling-the-hadoop-distr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling the Hadoop Distributed File System at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2021/scaling-linkedin-s-hadoop-yarn-cluster-beyond-10-000-nodes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Hadoop YARN cluster beyond 10,000 nodes at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/securely-scaling-big-data-access-controls-at-pinterest-bbc3406a1695&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Big Data Access Controls at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.csie.ntu.edu.tw/~cjlin/talks/bigdata-bilbao.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Machine Learning&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2020/07/ML-platform-overview.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning Platform at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2021/12/21/redesigning-etsys-machine-learning-platform/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning Platform at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2022/04/zalando-machine-learning-platform.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning Platform at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/en-SG/blog/scaling-ai-ml-infrastructure-at-uber/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling AI/ML Infrastructure at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/the-recommendation-system-at-lyft-67bc9dcc1793&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Recommendation System at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/lyfts-reinforcement-learning-platform-670f77ff46ec&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reinforcement Learning Platform at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.etsy.com/sg-en/codeascraft/building-a-platform-for-serving-recommendations-at-etsy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Platform for Serving Recommendations at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.atspotify.com/2022/06/how-we-built-infrastructure-to-run-user-forecasts-at-spotify/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Infrastructure to Run User Forecasts at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.fb.com/developer-tools/aroma/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aroma: Using ML for Code Recommendation at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/introducing-flyte-cloud-native-machine-learning-and-data-processing-platform-fb2bb3046a59&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flyte: Cloud Native Machine Learning and Data Processing Platform at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/lyftlearn-ml-model-training-infrastructure-built-on-kubernetes-aef8218842bb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LyftLearn: ML Model Training Infrastructure built on Kubernetes at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/horovod/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Horovod: Open Source Distributed Deep Learning Framework for TensorFlow at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.uber.com/blog/genie-ubers-gen-ai-on-call-copilot/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Genie: Gen AI On-Call Copilot at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/cota/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;COTA: Improving Customer Care with NLP &amp;amp; Machine Learning at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/manifold/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Manifold: Model-Agnostic Visual Debugging Tool for Machine Learning at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/topics/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Repo-Topix: Topic Extraction Framework at Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/05/concourse--generating-personalized-content-notifications-in-near&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Concourse: Generating Personalized Content Notifications in Near-Real-Time at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/altus-care-apply-chatbot-to-ebay-platform-engineering/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Altus Care: Applying a Chatbot to Platform Engineering at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/pykrylov-accelerating-machine-learning-research-at-ebay/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PyKrylov: Accelerating Machine Learning Research at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.box.com/blog/box-graph-how-we-built-spontaneous-social-network/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Box Graph: Spontaneous Social Network at Box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hackernoon.com/pricingnet-modelling-the-global-airline-industry-with-neural-networks-833844d20ea6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PricingNet: Pricing Modelling with Neural Networks at Skyscanner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/pintext-a-multitask-text-embedding-system-in-pinterest-b80ece364555&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PinText: Multitask Text Embedding System at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/searchsage-learning-search-query-representations-at-pinterest-654f2bb887fc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SearchSage: Learning Search Query Representations at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/machine-learning/cannes--how-ml-saves-us--1-7m-a-year-on-document-previews&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cannes: ML saves $1.7M a year on document previews at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2018/01/building-a-distributed-ml-pipeline-part1.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Gradient Boosted Trees for Click-Through-Rate Prediction at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://machinelearning.apple.com/2017/12/06/learning-with-privacy-at-scale.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Learning with Privacy at Scale at Apple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/mercari-engineering/mercaris-image-classification-experiment-using-deep-learning-9b4e994a18ec&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deep Learning for Image Classification Experiment at Mercari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://allegro.tech/2016/12/deep-learning-for-frame-detection.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deep Learning for Frame Detection in Product Images at Allegro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/hulu-tech-blog/content-based-video-relevance-prediction-b2c448e14752&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Content-based Video Relevance Prediction at Hulu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2024/03/moderating-inappropriate-video-content-at-yelp.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moderating Inappropriate Video Content at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.tripadvisor.com/improving-tripadvisor-photo-selection-deep-learning/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Photo Selection With Deep Learning at TripAdvisor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tripadvisor.com/engineering/personalized-recommendations-for-experiences-using-deep-learning/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Personalized Recommendations for Experiences Using Deep Learning at TripAdvisor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/bbc-design-engineering/developing-personalised-recommender-systems-at-the-bbc-e26c5e0c4216&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Personalised Recommender Systems at BBC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://technology.condenast.com/story/handbag-brand-and-color-detection&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning (2 parts) at Condé Nast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://technology.condenast.com/story/natural-language-processing-and-content-analysis-at-conde-nast-part-2-system-architecture&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Natural Language Processing and Content Analysis (2 parts) at Condé Nast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.iheart.com/mapping-the-world-of-music-using-machine-learning-part-2-aa50b6a0304c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mapping the World of Music Using Machine Learning (2 parts) at iHeartRadio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/using-machine-learning-to-improve-streaming-quality-at-netflix-9651263ef09f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning to Improve Streaming Quality at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.gojekengineering.com/how-we-use-machine-learning-to-match-drivers-riders-b06d617b9e5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning to Match Drivers &amp;amp; Riders at GO-JEK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://youtube-eng.googleblog.com/2015/10/improving-youtube-video-thumbnails-with_8.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Video Thumbnails with Deep Neural Nets at YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.instacart.com/how-instacart-delivers-on-time-using-quantile-regression-2383e2e03edb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quantile Regression for Delivering On Time at Instacart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2018/02/search-deep-neural-network.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cross-Lingual End-to-End Product Search with Deep Learning at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.janestreet.com/real-world-machine-learning-part-1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning at Jane Street&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.quora.com/A-Machine-Learning-Approach-to-Ranking-Answers-on-Quora&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning for Ranking Answers End-to-End at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.flipboard.com/2017/02/storyclustering&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clustering Similar Stories Using LDA at Flipboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.flickr.net/2017/03/07/introducing-similarity-search-at-flickr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Similarity Search at Flickr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.indeedblog.com/blog/2016/04/building-a-large-scale-machine-learning-pipeline-for-job-recommendations/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Large-Scale Machine Learning Pipeline for Job Recommendations at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.taboola.com/deep-learning-from-prototype-to-production/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deep Learning from Prototype to Production at Taboola&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cdn.oreillystatic.com/en/assets/1/event/144/Atom%20smashing%20using%20machine%20learning%20at%20CERN%20Presentation.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Atom Smashing using Machine Learning at CERN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.engineering/mapping-mediums-tags-1b9a78d77cf0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mapping Tags at Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.monsanto.com/2015/11/23/chinese-restaurant-process/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clustering with the Dirichlet Process Mixture Model in Scala at Monsanto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.foursquare.com/you-are-probably-here-better-map-pins-with-dbscan-random-forests-9d51e8c1964d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Map Pins with DBSCAN &amp;amp; Random Forests at Foursquare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/forecasting-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Forecasting at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/transforming-financial-forecasting-machine-learning/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Financial Forecasting at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/insights/2018/ml-workflows.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Productionizing ML with Workflows at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ebayinc.com/stories/blogs/tech/gui-testing-powered-by-deep-learning/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GUI Testing Powered by Deep Learning at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.pivotal.io/post/scaling-machine-learning-to-recommend-driving-routes/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Machine Learning to Recommend Driving Routes at Pivotal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/doordash-real-time-predictions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-Time Predictions at DoorDash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/09/machine-intelligence-at-dropbox-an-update-from-our-dbxi-team/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Intelligence at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.dropbox.com/tech/2018/10/using-machine-learning-to-index-text-from-billions-of-images/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning for Indexing Text from Billions of Images at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2018/07/12/modeling-user-journey-via-semantic-embeddings/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Modeling User Journeys via Semantic Embeddings at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/09/automated-fake-account-detection-at-linkedin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Automated Fake Account Detection at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/contextualizing-airbnb-by-building-knowledge-graph-b7077e268d5a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Knowledge Graph at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://instagram-engineering.com/core-modeling-at-instagram-a51e0158aa48&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Core Modeling at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.mercari.com/entry/2019/04/26/163000&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Neural Architecture Search (NAS) for Prohibited Item Detection at Mercari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/amenity-detection-and-beyond-new-frontiers-of-computer-vision-at-airbnb-144a4441b72e&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Computer Vision at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zillow.com/engineering/behind-zillow-3d-home-backend-algorithms/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;3D Home Backend Algorithms at Zillow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/making-long-term-forecasts-at-lyft-fac475b3ba52&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Long-term Forecasts at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2019/10/discovering-popular-dishes-with-deep-learning.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discovering Popular Dishes with Deep Learning at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/splitnet-architecture-for-ad-candidate-ranking.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SplitNet Architecture for Ad Candidate Ranking at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.indeedblog.com/blog/2019/09/jobs-filter/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jobs Filter at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2019/12/architecting-wait-time-estimations.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecting Restaurant Wait Time Predictions at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2016/08/07/commodity-music-ml-services/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Music Personalization at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sg.godaddy.com/engineering/2019/07/26/domain-name-valuation/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deep Learning for Domain Name Valuation at GoDaddy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stripe.com/blog/similarity-clustering&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Similarity Clustering to Catch Fraud Rings at Stripe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2020/10/29/bringing-personalized-search-to-etsy/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Personalized Search at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.lyft.com/ml-feature-serving-infrastructure-at-lyft-d30bf2d3c32a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ML Feature Serving Infrastructure at Lyft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2021/03/23/how-we-built-a-context-specific-bidding-system-for-etsy-ads/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Context-Specific Bidding System at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2021/05/moderating-promotional-spam-and-inappropriate-content-in-photos-at-scale-at-yelp.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moderating Promotional Spam and Inappropriate Content in Photos at Scale at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/machine-learning/optimizing-payments-with-machine-learning&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optimizing Payments with Machine Learning at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/scaling-media-machine-learning-at-netflix-f19b400243&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Media Machine Learning at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/ebays-blazingly-fast-billion-scale-vector-similarity-engine/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Similarity Engine at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.etsy.com/codeascraft/machine-learning-in-content-moderation-at-etsy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Machine Learning in Content Moderation at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;architecture&#34;&gt;Architecture
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.engineering/the-stack-that-helped-medium-drive-2-6-millennia-of-reading-time-e56801f7c492&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tech Stack at Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.shopify.com/blogs/engineering/e-commerce-at-scale-inside-shopifys-tech-stack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tech Stack at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/building-services-at-airbnb-part-4-23c95e428064&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Services (4 parts) at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://evernote.com/blog/a-digest-of-evernotes-architecture/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of Evernote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.riotgames.com/news/chat-service-architecture-persistence&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of Chat Service (3 parts) at Riot Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://technology.riotgames.com/news/architecture-league-client-update&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of League of Legends Client Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2020/building-twitters-ad-platform-architecture-for-the-future.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of Ad Platform at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eng.uber.com/architecture-api-gateway/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of API Gateway at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/tinder/how-we-built-the-tinder-api-gateway-831c6ca5ceca&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of API Gateway at Tinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.engineering/how-slack-built-shared-channels-8d42c895b19f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Basic Architecture of Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/a-lightweight-distributed-architecture-to-handle-thousands-of-library-releases-at-ebay/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lightweight Distributed Architecture to Handle Thousands of Library Releases at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/architecture/brief-history-scaling-linkedin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Back-end at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yahooeng.tumblr.com/post/157200523046/introducing-tripod-flickrs-backend-refactored&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Back-end at Flickr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/zendesk-engineering/the-history-of-infrastructure-at-zendesk-part-3-foundation-team-forming-and-evolving-9859e40f5390&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Infrastructure (3 parts) at Zendesk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bytes.grubhub.com/cloud-infrastructure-at-grubhub-94db998a898a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Infrastructure at Grubhub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/01/now-you-see-me--now-you-dont--linkedins-real-time-presence-platf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-time Presence Platform at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2019/05/building-member-trust-through-a-centralized-and-scalable-setting&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Settings Platform at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/glassdoor-engineering/building-a-nearline-system-for-scale-and-performance-part-ii-9e01bf51b23d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nearline System for Scale and Performance (2 parts) at Glassdoor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/building-a-real-time-user-action-counting-system-for-ads-88a60d9c9a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Real-time User Action Counting System for Ads at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.riotgames.com/news/riot-games-api-deep-dive&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;API Platform at Riot Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://open.nytimes.com/play-by-play-moving-the-nyt-games-platform-to-gcp-with-zero-downtime-cf425898d569&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Games Platform at The New York Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bytes.swiggy.com/kabootar-swiggys-communication-platform-e5a43cc25629&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kabootar: Communication Platform at Swiggy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/https-medium-com-netflix-techblog-simone-a-distributed-simulation-service-b2c85131ca1b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Simone: Distributed Simulation Service at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2017/04/how-yelp-runs-millions-of-tests-every-day.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Seagull: Distributed System that Helps Running &amp;gt; 20 Million Tests Per Day at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/agoda-engineering/priceaggregator-an-intelligent-system-for-hotel-price-fetching-part-3-52acfc705081&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PriceAggregator: Intelligent System for Hotel Price Fetching (3 parts) at Agoda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/tinder-engineering/phoenix-tinders-testing-platform-part-iii-520728b9537&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Phoenix: Testing Platform (3 parts) at Tinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hexagonal Architecture at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.slideshare.net/linecorp/architecture-sustaining-line-sticker-services&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of Sticker Services at LINE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@palantir/terraforming-stack-overflow-enterprise-in-aws-47ee431e6be7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stack Overflow Enterprise at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Pinterest_Engineering/building-a-dynamic-and-responsive-pinterest-7d410e99f0a9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of Following Feed, Interest Feed, and Picked For You at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.wework.com/our-api-specification-workflow-9337448d6ee6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;API Specification Workflow at WeWork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/netflix-techblog/implementing-the-netflix-media-database-53b5a840b42a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Media Database at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/walmartlabs/member-transaction-history-architecture-8b6e34b87c21&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Member Transaction History Architecture at Walmart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/infrastructure/-testing-our-new-sync-engine&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sync Engine (2 parts) at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.twitter.com/engineering/en_us/topics/infrastructure/2021/how-we-built-twitter-s-highly-reliable-ads-pacing-service&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ads Pacing Service at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://netflixtechblog.com/rapid-event-notification-system-at-netflix-6deb1d2b57d1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rapid Event Notification System at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.redhat.com/architect/portfolio/detail/12-integrating-a-modern-payments-architecture&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architectures of Finance, Banking, and Payment Systems&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bank Backend at Monzo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@Wealthsimple/engineering-at-wealthsimple-reinventing-our-trading-platform-for-scale-17e332241b6c&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Trading Platform for Scale at Wealthsimple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/margobank/choosing-an-architecture-85750e1e5a03&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Core Banking System at Margo Bank&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/nubank-architecture&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture of Nubank&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://tech.transferwise.com/the-transferwise-stack-heartbeat-of-our-little-revolution/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tech Stack at TransferWise&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/build-addepar/our-tech-stack-a4f55dab4b0d&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tech Stack at Addepar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Avoiding Double Payments in a Distributed Payments System at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.etsy.com/sg-en/codeascraft/scaling-etsy-payments-with-vitess-part-3--reducing-cutover-risk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Payments (3 parts) at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://paytm.com/blog/engineering/how-paytm-handles-millions-of-digital-transactions-safely-everyday/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Handles Millions of Digital Transactions Safely Everyday at Paytm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.grammarly.com/blog/engineering/billing-and-payments-platform/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Billing and Payment Platform at Grammarly&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;interview&#34;&gt;Interview
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Designing Large-Scale Systems&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.codinghorror.com/my-scaling-hero/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;My Scaling Hero - Jeff Atwood (a dose of Endorphins before your interview, JK)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Software Engineering Advice from Building Large-Scale Distributed Systems - Jeff Dean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lethain.com/introduction-to-architecting-systems-for-scale/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Introduction to Architecting Systems for Scale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hackernoon.com/anatomy-of-a-system-design-interview-4cb57d75a53f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Anatomy of a System Design Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;8 Things You Need to Know Before a System Design Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hackernoon.com/top-10-system-design-interview-questions-for-software-engineers-8561290f0444&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Top 10 System Design Interview Questions &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Top 10 Common Large-Scale Software Architectural Patterns in a Nutshell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lynnlangit.com/2017/03/14/beyond-relational/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Big Data Design Patterns - Lynn Langit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hackernoon.com/how-not-to-design-netflix-in-your-45-minute-system-design-interview-64953391a054&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How NOT to design Netflix in your 45-minute System Design Interview?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://zapier.com/engineering/api-best-practices/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;API Best Practices: Webhooks, Deprecation, and Design&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cse.wustl.edu/~jain/cse567-06/ftp/os_monitors/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Explaining Low-Level Systems (OS, Network/Protocol, Database, Storage)&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://veithen.github.io/2013/11/18/iowait-linux.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Precise Meaning of I/O Wait Time in Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://research.google.com/archive/paxos_made_live.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paxos Made Live – An Engineering Perspective&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How to do Distributed Locking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://elliot.land/post/sql-transaction-isolation-levels-explained&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SQL Transaction Isolation Levels Explained&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.glassdoor.com/Interview/What-happens-when-you-type-www-google-com-in-your-browser-QTN_56396.htm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&amp;ldquo;What Happens When&amp;hellip; and How&amp;rdquo; Questions&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Netflix: What Happens When You Press Play?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://monzo.com/blog/2018/04/05/how-monzo-to-monzo-payments-work/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monzo: How Peer-To-Peer Payments Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://githubengineering.com/transit-and-peering-how-your-requests-reach-github/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Transit and Peering: How Your Requests Reach GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://labs.spotify.com/2018/08/31/smoother-streaming-with-bbr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How Spotify Streams Music&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;organization&#34;&gt;Organization
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.soundcloud.com/blog/engineering-levels&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Engineering Levels at SoundCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/palantir/dev-versus-delta-demystifying-engineering-roles-at-palantir-ad44c2a6e87&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Engineering Roles at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dropbox.tech/culture/our-updated-engineering-career-framework&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Engineering Career Framework at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=-PXi_7Ld5kU&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Engineering Teams at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/03/scaling-decision-making-across-teams-within-linkedin-engineering&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Decision-Making Across Teams at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.gojekengineering.com/the-dynamics-of-scaling-an-organisation-cb96dbe8aecd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Data Science Team at GOJEK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2018/05/scaling-agile-zalando.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Agile at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hackernoon.com/how-we-run-bol-com-with-60-autonomous-teams-fe7a98c0759&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Agile at bol.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.intercom.com/how-we-build-software/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lessons Learned from Scaling a Product Team at Intercom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@eleonorazucconi/toby-oliver-cto-typeform-on-hiring-managing-and-scaling-engineering-teams-86bef9e5a708&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hiring, Managing, and Scaling Engineering Teams at Typeform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://instagram-engineering.com/scaling-the-datagram-team-fc67bcf9b721&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling the Datagram Team at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/flexport-design/designing-a-design-team-a9a066bc48a5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling the Design Team at Flexport&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/salesforce-ux/the-salesforce-team-model-for-scaling-a-design-system-d89c2a2d404b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Team Model for Scaling a Design System at Salesforce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/wish-engineering/scaling-the-analytics-team-at-wish-part-4-recruiting-2a9823b9f5a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Analytics Team (4 parts) at Wish&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/transferwise-ideas/from-2-founders-to-1000-employees-how-a-small-scale-startup-grew-into-a-global-community-9f26371a551b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;From 2 Founders to 1000 Employees at Transferwise&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/thinking-design/lessons-learned-growing-a-ux-team-from-10-to-170-f7b47be02262&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lessons Learned Growing a UX Team from 10 to 170 at Adobe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@sarahtavel/five-lessons-from-scaling-pinterest-6a699a889b08&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Five Lessons from Scaling at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://engineering.vinted.com/2018/09/04/how-we-approach-engineering-at-vinted/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Approach Engineering at Vinted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.indeedblog.com/blog/2018/10/using-metrics-to-improve-the-development-process-and-coach-people/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Using Metrics to Improve the Development Process (and Coach People) at Indeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@SkyscannerEng/9-mistakes-to-avoid-while-creating-an-internal-product-63d579b00b1a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mistakes to Avoid while Creating an Internal Product at Skyscanner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://codeascraft.com/2018/01/04/selecting-a-cloud-provider/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RACI (Responsible, Accountable, Consulted, Informed) at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2018/10/four-pillars-leadership.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Four Pillars of Leading People (Empathy, Inspiration, Trust, Honesty) at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.shopify.com/blogs/engineering/pair-programming-explained&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pair Programming at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.asana.com/2017/12/distributed-responsibility-engineering-manager/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Responsibility at Asana&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.zalando.com/posts/2019/03/rotating-engineers-at-zalando.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rotating Engineers at Zalando&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/pinterest-engineering/how-pinterest-supercharged-its-growth-team-with-experiment-idea-review-fd6571a02fb8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Experiment Idea Review at Pinterest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.atspotify.com/2020/06/25/tech-migrations-the-spotify-way/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tech Migrations at Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineeringblog.yelp.com/2021/01/whose-code-is-it-anyway.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Improving Code Ownership at Yelp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.ebayinc.com/engineering/how-creating-an-agile-code-base-helped-ebay-pivot-for-apple-silicon/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agile Code Base at eBay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/miro-engineering/agile-data-engineering-at-miro-ec2dcc8a3fcb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agile Data Engineering at Miro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/airbnb-engineering/incident-management-ae863dc5d47f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Automated Incident Management through Slack at Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/bbc-product-technology/refactor-organisation-80e4e171d922&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Refactor Organization at BBC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ai.google/research/pubs/pub47025&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Review&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@palantir/code-review-best-practices-19e02780015f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Review at Palantir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linecorp.com/en/blog/effective-code-review/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Review at LINE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.engineering/code-reviews-at-medium-bed2c0dce13a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Reviews at Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.linkedin.com/blog/2018/06/scaling-collective-code-ownership-with-code-reviews&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Review at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/disney-streaming/the-secret-to-better-code-reviews-c14c7884b9ac&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Review at Disney&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.netlify.com/blog/2020/03/05/feedback-ladders-how-we-encode-code-reviews-at-netlify/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Review at Netlify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;talk&#34;&gt;Talk
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=Y6Ev8GIlbxc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Distributed Systems in One Lesson - Tim Berglund, Senior Director of Developer Experience at Confluent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon17americas/program/presentation/erlich&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Real Time Infrastructure at Facebook - Jeff Barber and Shie Erlich, Software Engineer at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usenix.org/conference/srecon16/program/presentation/alvidrez&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building Reliable Social Infrastructure for Google - Marc Alvidrez, Senior Manager at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=K8YuavUy6Qc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Building a Distributed Build System at Google Scale - Aysylu Greenberg, SDE at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=ggizCjUCCqE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Site Reliability Engineering at Dropbox - Tammy Butow, Site Reliability Engineering Manager at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=H4vMcD7zKM0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How Google Does Planet-Scale for Planet-Scale Infra - Melissa Binde, SRE Director for Google Cloud Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=CZ3wIuvmHeM&amp;amp;t=2837s&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Netflix Guide to Microservices - Josh Evans, Director of Operations Engineering at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=1-3Ahy7Fxsc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Achieving Rapid Response Times in Large Online Services - Jeff Dean, Google Senior Fellow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=N8NWDHgWA28&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture to Handle 80K RPS Celebrity Sales at Shopify - Simon Eskildsen, Engineering Lead at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=QCHiNEw73AU&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lessons of Scale at Facebook - Bobby Johnson, Director of Engineering at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.salesforce.com/video/1757880/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Optimization for the Greater China Region at Salesforce - Jeff Cheng, Enterprise Architect at Salesforce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://vimeo.com/252367076&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How GIPHY Delivers a GIF to 300 Millions Users - Alex Hoang and Nima Khoshini, Services Engineers at GIPHY&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=wzsxJqeVIhY&amp;amp;list=PLMu8-hpCxIVENuAue7bd0eCAglLGY_8AW&amp;amp;index=7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;High Performance Packet Processing Platform at Alibaba - Haiyong Wang, Senior Director at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://atscaleconference.com/videos/solving-large-scale-data-center-and-cloud-interconnection-problems/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Solving Large-scale Data Center and Cloud Interconnection Problems -  Ihab Tarazi, CTO at Equinix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=PE4gwstWhmc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Dropbox - Kevin Modzelewski, Back-end Engineer at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=IhGWOaD5BYQ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Reliability at Dropbox - Sat Kriya Khalsa, SRE at Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://atscaleconference.com/videos/performance-scale-2018-opening-remarks/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling with Performance at Facebook - Bill Jia, VP of Infrastructure at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=IO4teCbHvZw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Live Videos to a Billion Users at Facebook - Sachin Kulkarni, Director of Engineering at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=hnpzNAPiC0E&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Infrastructure at Instagram - Lisa Guo, Instagram Engineering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=6OvrFkLSoZ0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Infrastructure at Twitter - Yao Yue, Staff Software Engineer at Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=LfqyhM1LeIU&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Infrastructure at Etsy - Bethany Macri, Engineering Manager at Etsy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://atscaleconference.com/videos/scaling-alibabas-real-time-infrastructure-for-global-shopping-holiday/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Real-time Infrastructure at Alibaba for Global Shopping Holiday - Xiaowei Jiang, Senior Director at Alibaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=cdsfRXr9pJU&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Data Infrastructure at Spotify - Matti (Lepistö) Pehrs, Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=jQNCuD_hxdQ&amp;amp;list=RDhnpzNAPiC0E&amp;amp;index=11&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Pinterest - Marty Weiner, Pinterest’s founding engineer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/slack-scalability&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Slack - Bing Wei, Software Engineer (Infrastructure) at Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=5yDO-tmIoXY&amp;amp;feature=youtu.be&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Backend at Youtube - Sugu Sougoumarane, SDE at Youtube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=nuiLcWE8sPA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Backend at Uber - Matt Ranney, Chief Systems Architect at Uber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=tbqcsHg-Q_o&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Global CDN at Netflix - Dave Temkin, Director of Global Networks at Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=bxhYNfFeVF4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Load Balancing Infra to Support 1.3 Billion Users at Facebook - Patrick Shuff, Production Engineer at Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=RlkCdM_f3p4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling (a NSFW site) to 200 Million Views A Day And Beyond - Eric Pickup, Lead Platform Developer at MindGeek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/presentations/quora-analytics&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Counting Infrastructure at Quora - Chun-Ho Hung and Nikhil Gar, SEs at Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=g_MPGU_m01s&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Git at Microsoft - Saeed Noursalehi, Principal Program Manager at Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=F-f0-k46WVk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Multitenant Architecture Across Multiple Data Centres at Shopify - Weingarten, Engineering Lead at Shopify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;a-piece-of-cake&#34;&gt;A Piece of Cake
&lt;/h2&gt;&lt;p&gt;Roses are red. Violets are blue. &lt;a class=&#34;link&#34; href=&#34;https://nguyenquocbinh.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Binh&lt;/a&gt; likes sweet. &lt;a class=&#34;link&#34; href=&#34;https://paypal.me/binhnguyennus&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Treat Binh a tiramisu?&lt;/a&gt; :cake:&lt;/p&gt;
</description>
        </item>
        <item>
        <title>backstage</title>
        <link>https://producthunt.programnotes.cn/en/p/backstage/</link>
        <pubDate>Sat, 09 Aug 2025 15:29:14 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/backstage/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1633588189646-c212f17b6cca?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTQ3MjQ0NTR8&amp;ixlib=rb-4.1.0" alt="Featured image of post backstage" /&gt;&lt;h1 id=&#34;backstagebackstage&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/backstage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;backstage/backstage&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/assets/headline.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;headline&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;backstage&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backstage&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;English | &lt;a class=&#34;link&#34; href=&#34;README-ko_kr.md&#34; &gt;한국어&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README-zh_Hans.md&#34; &gt;中文版&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README-fr_FR.md&#34; &gt;Français&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://opensource.org/licenses/Apache-2.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/License-Apache%202.0-blue.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.cncf.io/projects&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/cncf%20status-incubation-blue.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CNCF Status&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/backstage-687207715902193673&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/discord/687207715902193673?logo=discord&amp;amp;label=Discord&amp;amp;color=5865F2&amp;amp;logoColor=white&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Discord&#34;
	
	
&gt;&lt;/a&gt;
&lt;img src=&#34;https://img.shields.io/badge/code_style-prettier-ff69b4.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Code style&#34;
	
	
&gt;
&lt;a class=&#34;link&#34; href=&#34;https://codecov.io/gh/backstage/backstage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/codecov/c/github/backstage/backstage&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Codecov&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/backstage/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/v/release/backstage/backstage&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bestpractices.coreinfrastructure.org/projects/7678&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://bestpractices.coreinfrastructure.org/projects/7678/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;OpenSSF Best Practices&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://securityscorecards.dev/viewer/?uri=github.com/backstage/backstage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://api.securityscorecards.dev/projects/github.com/backstage/backstage/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;OpenSSF Scorecard&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-is-backstage&#34;&gt;What is Backstage?
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backstage&lt;/a&gt; is an open source framework for building developer portals. Powered by a centralized software catalog, Backstage restores order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly without compromising autonomy.&lt;/p&gt;
&lt;p&gt;Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/assets/header.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;software-catalog&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Out of the box, Backstage includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/features/software-catalog/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backstage Software Catalog&lt;/a&gt; for managing all your software such as microservices, libraries, data pipelines, websites, and ML models&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/features/software-templates/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backstage Software Templates&lt;/a&gt; for quickly spinning up new projects and standardizing your tooling with your organization’s best practices&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/features/techdocs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backstage TechDocs&lt;/a&gt; for making it easy to create, maintain, find, and use technical documentation, using a &amp;ldquo;docs like code&amp;rdquo; approach&lt;/li&gt;
&lt;li&gt;Plus, a growing ecosystem of &lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/backstage/tree/master/plugins&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;open source plugins&lt;/a&gt; that further expand Backstage’s customizability and functionality&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Backstage was created by Spotify but is now hosted by the &lt;a class=&#34;link&#34; href=&#34;https://www.cncf.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Native Computing Foundation (CNCF)&lt;/a&gt; as an Incubation level project. For more information, see the &lt;a class=&#34;link&#34; href=&#34;https://backstage.io/blog/2022/03/16/backstage-turns-two#out-of-the-sandbox-and-into-incubation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;announcement&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;project-roadmap&#34;&gt;Project roadmap
&lt;/h2&gt;&lt;p&gt;For information about the detailed project roadmap including delivered milestones, see &lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/overview/roadmap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;the Roadmap&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started
&lt;/h2&gt;&lt;p&gt;To start using Backstage, see the &lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/getting-started&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Getting Started documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation
&lt;/h2&gt;&lt;p&gt;The documentation of Backstage includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Main documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/features/software-catalog/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Software Catalog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/overview/architecture-overview&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Architecture&lt;/a&gt; (&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/architecture-decisions/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Decisions&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/dls/design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Designing for Backstage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/storybook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Storybook - UI components&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;community&#34;&gt;Community
&lt;/h2&gt;&lt;p&gt;To engage with our community, you can use the following resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/backstage-687207715902193673&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord chatroom&lt;/a&gt; - Get support or discuss the project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Contributing to Backstage&lt;/a&gt; - Start here if you want to contribute&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/backstage/labels/rfc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RFCs&lt;/a&gt; - Help shape the technical direction&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/docs/faq&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FAQ&lt;/a&gt; - Frequently Asked Questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;CODE_OF_CONDUCT.md&#34; &gt;Code of Conduct&lt;/a&gt; - This is how we roll&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;ADOPTERS.md&#34; &gt;Adopters&lt;/a&gt; - Companies already using Backstage&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://backstage.io/blog/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blog&lt;/a&gt; - Announcements and updates&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://spoti.fi/backstagenewsletter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Newsletter&lt;/a&gt; - Subscribe to our email newsletter&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/community&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backstage Community Sessions&lt;/a&gt; - Join monthly meetups and explore Backstage community&lt;/li&gt;
&lt;li&gt;Give us a star ⭐️ - If you are using Backstage or think it is an interesting project, we would love a star ❤️&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;governance&#34;&gt;Governance
&lt;/h2&gt;&lt;p&gt;See the &lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/community/blob/main/GOVERNANCE.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GOVERNANCE.md&lt;/a&gt; document in the &lt;a class=&#34;link&#34; href=&#34;https://github.com/backstage/community&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;backstage/community&lt;/a&gt; repository.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;Copyright 2020-2025 © The Backstage Authors. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: &lt;a class=&#34;link&#34; href=&#34;https://www.linuxfoundation.org/trademark-usage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.linuxfoundation.org/trademark-usage&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Licensed under the Apache License, Version 2.0: &lt;a class=&#34;link&#34; href=&#34;http://www.apache.org/licenses/LICENSE-2.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;security&#34;&gt;Security
&lt;/h2&gt;&lt;p&gt;Please report sensitive security issues using Spotify&amp;rsquo;s &lt;a class=&#34;link&#34; href=&#34;https://hackerone.com/spotify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bug-bounty program&lt;/a&gt; rather than GitHub.&lt;/p&gt;
&lt;p&gt;For further details, see our complete &lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;security release process&lt;/a&gt;.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>kubesphere</title>
        <link>https://producthunt.programnotes.cn/en/p/kubesphere/</link>
        <pubDate>Sun, 03 Aug 2025 15:29:40 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/kubesphere/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1484820986637-7ec3e85b394f?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTQyMDYxMjV8&amp;ixlib=rb-4.1.0" alt="Featured image of post kubesphere" /&gt;&lt;h1 id=&#34;kubespherekubesphere&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/kubesphere/kubesphere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kubesphere/kubesphere&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://kubesphere.io/&#34;&gt;&lt;img src=&#34;docs/images/kubesphere-icon.gif&#34; alt=&#34;banner&#34; width=&#34;200px&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;b&gt;The container platform tailored for &lt;i&gt;Kubernetes multi-cloud, datacenter, and edge&lt;/i&gt; management&lt;/b&gt;
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a href=&#34;https://goreportcard.com/report/github.com/kubesphere/kubesphere&#34;&gt;&lt;img src=&#34;https://goreportcard.com/badge/github.com/kubesphere/kubesphere&#34; alt=&#34;A+&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;https://hub.docker.com/r/kubesphere/ks-installer&#34;&gt;&lt;img src=&#34;https://img.shields.io/docker/pulls/kubesphere/ks-installer&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/kubesphere/kubesphere/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/issues/kubesphere/kubesphere/good%20first%20issue?logo=github&#34; alt=&#34;good first issue&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;https://twitter.com/intent/follow?screen_name=KubeSphere&#34;&gt;&lt;img src=&#34;https://img.shields.io/twitter/follow/KubeSphere?style=social&#34; alt=&#34;follow on Twitter&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;https://join.slack.com/t/kubesphere/shared_invite/zt-2b4t6rdb4-ico_4UJzCln_S2c1pcrIpQ&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/Slack-2000%2B-blueviolet?logo=slack&amp;amp;logoColor=white&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;https://www.youtube.com/channel/UCyTdUQUYjf7XLjxECx63Hpw&#34;&gt;&lt;img src=&#34;https://img.shields.io/youtube/channel/subscribers/UCyTdUQUYjf7XLjxECx63Hpw?style=social&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;what-is-kubesphere&#34;&gt;What is KubeSphere
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;English | &lt;a class=&#34;link&#34; href=&#34;README_zh.md&#34; &gt;中文&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere&lt;/a&gt; is a &lt;strong&gt;distributed operating system for cloud-native application management&lt;/strong&gt;,
using &lt;a class=&#34;link&#34; href=&#34;https://kubernetes.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes&lt;/a&gt; as its kernel. It provides a plug-and-play architecture, allowing third-party
applications to be seamlessly integrated into its ecosystem. KubeSphere is also a multi-tenant container platform with
full-stack automated IT operation and streamlined DevOps workflows. It provides developer-friendly wizard web UI,
helping enterprises to build out a more robust and feature-rich platform, which includes most common functionalities
needed for enterprise Kubernetes strategy, see &lt;a class=&#34;link&#34; href=&#34;#features&#34; &gt;Feature List&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;The following screenshots give a close insight into KubeSphere. Please
check &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/docs/introduction/what-is-kubesphere/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;What is KubeSphere&lt;/a&gt; for further information.&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt;
      &lt;td width=&#34;50%&#34; align=&#34;center&#34;&gt;&lt;b&gt;Workbench&lt;/b&gt;&lt;/td&gt;
      &lt;td width=&#34;50%&#34; align=&#34;center&#34;&gt;&lt;b&gt;Project Resources&lt;/b&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
     &lt;td&gt;&lt;img src=&#34;docs/images/console.png&#34;/&gt;&lt;/td&gt;
     &lt;td&gt;&lt;img src=&#34;docs/images/project.png&#34;/&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
      &lt;td width=&#34;50%&#34; align=&#34;center&#34;&gt;&lt;b&gt;CI/CD Pipeline&lt;/b&gt;&lt;/td&gt;
      &lt;td width=&#34;50%&#34; align=&#34;center&#34;&gt;&lt;b&gt;App Store&lt;/b&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
     &lt;td&gt;&lt;img src=&#34;docs/images/cicd.png&#34;/&gt;&lt;/td&gt;
     &lt;td&gt;&lt;img src=&#34;docs/images/app-store.png&#34;/&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2 id=&#34;demo-environment&#34;&gt;Demo environment
&lt;/h2&gt;&lt;p&gt;🎮 &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.cloud/en/console/managed-cluster/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere Lite&lt;/a&gt; provides you with free, stable, and
out-of-the-box managed cluster service. After registration and login, you can easily create a K8s cluster with
KubeSphere installed in only 5 seconds and experience feature-rich KubeSphere.&lt;/p&gt;
&lt;p&gt;🖥 You can view the &lt;a class=&#34;link&#34; href=&#34;https://youtu.be/YxZ1YUv0CYs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Demo Video&lt;/a&gt; to get started with KubeSphere.&lt;/p&gt;
&lt;h2 id=&#34;features&#34;&gt;Features
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🧩 Extensible Architecture&lt;/b&gt;&lt;/summary&gt;  
Designed for flexibility, supporting plugin-based extensions and seamless integrations. Easily customize and expand functionalities to meet evolving needs. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/01-intro/02-architecture/&#34;&gt;Learn more&lt;/a&gt;.  
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🕸 Provisioning Kubernetes Cluster&lt;/b&gt;&lt;/summary&gt;
  Support deploy Kubernetes on any infrastructure, support online and air-gapped installation. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/03-installation-and-upgrade/02-install-kubesphere/&#34;&gt;Learn more&lt;/a&gt;.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🔗 Kubernetes Multi-cluster Management&lt;/b&gt;&lt;/summary&gt;
  Provide a centralized control plane to manage multiple Kubernetes clusters, and support the ability to propagate an app to multiple K8s clusters across different cloud providers.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🤖 Kubernetes DevOps&lt;/b&gt;&lt;/summary&gt;
  Provide GitOps-based CD solutions and use Argo CD to provide the underlying support, collecting CD status information in real time. With the mainstream CI engine Jenkins integrated, DevOps has never been easier. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/11-use-extensions/01-devops/01-overview/&#34;&gt;Learn more&lt;/a&gt;.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🔎 Cloud Native Observability&lt;/b&gt;&lt;/summary&gt;
  Multi-dimensional monitoring, events and auditing logs are supported; multi-tenant log query and collection, alerting and notification are built-in. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/11-use-extensions/05-observability-platform/&#34;&gt;Learn more&lt;/a&gt;.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🌐 Service Mesh (Istio-based)&lt;/b&gt;&lt;/summary&gt;
  Provide fine-grained traffic management, observability and tracing for distributed microservice applications, provides visualization for traffic topology. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/11-use-extensions/03-service-mesh/&#34;&gt;Learn more&lt;/a&gt;.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;💻 App Store&lt;/b&gt;&lt;/summary&gt;
  Provide an App Store for Helm-based applications, and offer application lifecycle management on Kubernetes platform. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/11-use-extensions/02-app-store/02-app-management/&#34;&gt;Learn more&lt;/a&gt;.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;💡 Edge Computing Platform&lt;/b&gt;&lt;/summary&gt;
  KubeSphere integrates &lt;a href=&#34;https://kubeedge.io/en/&#34;&gt;KubeEdge&lt;/a&gt; to enable users to deploy applications on the edge devices and view logs and monitoring metrics of them on the console. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/11-use-extensions/17-kubeedge/&#34;&gt;Learn more&lt;/a&gt;.
  &lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🗃 Support Multiple Storage and Networking Solutions&lt;/b&gt;&lt;/summary&gt;
  &lt;li&gt;Support GlusterFS, CephRBD, NFS, LocalPV solutions, and provide CSI plugins to consume storage from multiple cloud providers.&lt;/li&gt;&lt;li&gt;Provide Load Balancer Implementation &lt;a href=&#34;https://github.com/kubesphere/openelb&#34;&gt;OpenELB&lt;/a&gt; for Kubernetes in bare-metal, edge, and virtualization.&lt;/li&gt;&lt;li&gt; Provides network policy and Pod IP pools management, support Calico, Flannel, Kube-OVN&lt;/li&gt;.&lt;/li&gt;.
  &lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🏢 Multi-Tenancy&lt;/b&gt;&lt;/summary&gt;  
Isolated workspaces with role-based access control ensure secure resource sharing across multiple tenants. Supports fine-grained permissions and quota management. &lt;a href=&#34;https://kubesphere.io/docs/v4.1/08-workspace-management/&#34;&gt;Learn more&lt;/a&gt;.  
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;b&gt;🧠 GPU Workloads Scheduling and Monitoring&lt;/b&gt;&lt;/summary&gt;
  Create GPU workloads on the GUI, schedule GPU resources, and manage GPU resource quotas by tenant.
  &lt;/details&gt;
&lt;h2 id=&#34;architecture&#34;&gt;Architecture
&lt;/h2&gt;&lt;p&gt;KubeSphere 4.x adopts a microkernel + extension components architecture (&lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/docs/v4.1/01-intro/01-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;codename LuBan&lt;/a&gt;). The core part (KubeSphere Core) only includes the essential basic functions required for system operation, with independent functional modules split and provided in the form of extension components. Users can dynamically manage the extension components during system operation. With the extension capabilities, KubeSphere can support more application scenarios and meet the needs of different users.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/images/architecture.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Architecture&#34;
	
	
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;latest-release&#34;&gt;Latest release
&lt;/h2&gt;&lt;p&gt;🎉 KubeSphere v4.1.2 was released! It brings enhancements and better user experience, see
the &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/docs/v4.1/20-release-notes/release-v412/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Release Notes For 4.1.2&lt;/a&gt; for the updates.&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation
&lt;/h2&gt;&lt;p&gt;KubeSphere can run anywhere from on-premise datacenter to any cloud to edge. In addition, it can be deployed on any
version-compatible Kubernetes cluster. KubeSphere consumes very few resources, and you can
optionally &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/docs/v4.1/02-quickstart/03-install-an-extension/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;install additional extensions after installation&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;quick-start&#34;&gt;Quick start
&lt;/h3&gt;&lt;h4 id=&#34;installing-on-k8s&#34;&gt;Installing on K8s
&lt;/h4&gt;&lt;p&gt;Run the following commands to install KubeSphere on an existing Kubernetes cluster:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.3.tgz --debug --wait
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;kubesphere-for-hosted-kubernetes-services&#34;&gt;KubeSphere for hosted Kubernetes services
&lt;/h3&gt;&lt;p&gt;KubeSphere is hosted on the following cloud providers, and you can try KubeSphere by one-click installation on their
hosted Kubernetes services.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aws.amazon.com/quickstart/architecture/qingcloud-kubesphere/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere for Amazon EKS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://market.azure.cn/marketplace/apps/qingcloud.kubesphere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere for Azure AKS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://marketplace.digitalocean.com/apps/kubesphere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere for DigitalOcean Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.qingcloud.com/products/kubesphereqke&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere on QingCloud AppCenter(QKE)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can also install KubeSphere on other hosted Kubernetes services within minutes, see
the &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/docs/v4.1/02-quickstart/01-install-kubesphere/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;step-by-step guides&lt;/a&gt; to get started.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;👨‍💻 No internet access? Refer to
the &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/docs/v4.1/03-installation-and-upgrade/02-install-kubesphere/04-offline-installation/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Air-gapped Installation&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;guidance-discussion-contribution-and-support&#34;&gt;Guidance, discussion, contribution, and support
&lt;/h2&gt;&lt;p&gt;You can reach the KubeSphere &lt;a class=&#34;link&#34; href=&#34;https://github.com/kubesphere/community&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;community&lt;/a&gt; and developers via the following
channels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://join.slack.com/t/kubesphere/shared_invite/zt-2b4t6rdb4-ico_4UJzCln_S2c1pcrIpQ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Slack Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/channel/UCyTdUQUYjf7XLjxECx63Hpw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Youtube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://x.com/KubeSphere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X/Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;:hugs: Please submit any KubeSphere bugs, issues, and feature requests
to &lt;a class=&#34;link&#34; href=&#34;https://github.com/kubesphere/kubesphere/issues&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere GitHub Issue&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;:heart_decoration: The KubeSphere team also provides efficient official ticket support to respond in hours. For more
information, click &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.cloud/en/ticket/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere Online Support&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;contribution&#34;&gt;Contribution
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/kubesphere/community/tree/master/developer-guide/development&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere Development Guide&lt;/a&gt;
explains how to build and develop KubeSphere.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dev-guide.kubesphere.io/extension-dev-guide/en/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KubeSphere Extension Development Guide&lt;/a&gt; explains how to
develop KubeSphere extensions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;code-of-conduct&#34;&gt;Code of conduct
&lt;/h2&gt;&lt;p&gt;Participation in the KubeSphere community is governed by
the &lt;a class=&#34;link&#34; href=&#34;https://github.com/kubesphere/community/blob/master/code-of-conduct.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code of Conduct&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;security&#34;&gt;Security
&lt;/h2&gt;&lt;p&gt;The security process for reporting vulnerabilities is described in &lt;a class=&#34;link&#34; href=&#34;./SECURITY.md&#34; &gt;SECURITY.md&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;who-are-using-kubesphere&#34;&gt;Who are using KubeSphere
&lt;/h2&gt;&lt;p&gt;The &lt;a class=&#34;link&#34; href=&#34;https://kubesphere.io/case/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;user case studies&lt;/a&gt; page includes the user list of the project. You
can &lt;a class=&#34;link&#34; href=&#34;https://github.com/kubesphere/kubesphere/issues/4123&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;leave a comment&lt;/a&gt; to let us know your use case.&lt;/p&gt;
&lt;hr&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/cncf/artwork/refs/heads/main/other/cncf-landscape/horizontal/color/cncf-landscape-horizontal-color.svg&#34; width=&#34;150&#34;/&gt;&amp;nbsp;&amp;nbsp;&lt;img src=&#34;https://raw.githubusercontent.com/cncf/artwork/refs/heads/main/other/cncf/horizontal/color/cncf-color.svg&#34; width=&#34;200&#34;/&gt;&amp;nbsp;&amp;nbsp;
&lt;br/&gt;&lt;br/&gt;
KubeSphere is a member of CNCF and a &lt;a href=&#34;https://www.cncf.io/certification/software-conformance/#logos&#34;&gt;Kubernetes Conformance Certified platform
&lt;/a&gt;, which enriches the &lt;a href=&#34;https://landscape.cncf.io/?landscape=observability-and-analysis&amp;group=certified-partners-and-providers&amp;item=platform--certified-kubernetes-distribution--kubesphere&#34;&gt;CNCF CLOUD NATIVE Landscape.
&lt;/a&gt;
&lt;/p&gt;
</description>
        </item>
        <item>
        <title>WasmEdge</title>
        <link>https://producthunt.programnotes.cn/en/p/wasmedge/</link>
        <pubDate>Fri, 18 Jul 2025 15:35:26 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/wasmedge/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1630231211819-a131d7538a41?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTI4MjQwNDR8&amp;ixlib=rb-4.1.0" alt="Featured image of post WasmEdge" /&gt;&lt;h1 id=&#34;wasmedgewasmedge&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/WasmEdge/WasmEdge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WasmEdge/WasmEdge&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;right&#34;&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;README-zh.md&#34; &gt;中文&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README-zh-TW.md&#34; &gt;正體中文&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;README-ja.md&#34; &gt;日本語で読む&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/wasmedge-runtime-logo.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;WasmEdge Logo&#34;
	
	
&gt;&lt;/p&gt;
&lt;h1 id=&#34;-wasmedge-is-the-easiest-and-fastest-way-to-run-llms-on-your-own-devices-&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://llamaedge.com/docs/user-guide/llm/get-started-with-llamaedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;🤩 WasmEdge is the easiest and fastest way to run LLMs on your own devices. 🤩&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;&lt;a href=&#34;https://trendshift.io/repositories/2481&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://trendshift.io/api/badge/repositories/2481&#34; alt=&#34;WasmEdge%2FWasmEdge | Trendshift&#34; style=&#34;width: 250px; height: 55px;&#34; width=&#34;250&#34; height=&#34;55&#34;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime. It is &lt;a class=&#34;link&#34; href=&#34;https://ieeexplore.ieee.org/document/9214403&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;the fastest Wasm VM&lt;/a&gt;. WasmEdge is an official sandbox project hosted by the &lt;a class=&#34;link&#34; href=&#34;https://www.cncf.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CNCF&lt;/a&gt;. &lt;a class=&#34;link&#34; href=&#34;https://github.com/LlamaEdge/LlamaEdge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LlamaEdge&lt;/a&gt; is an application framework built on top of WasmEdge to run GenAI models (e.g., &lt;a class=&#34;link&#34; href=&#34;https://llamaedge.com/docs/user-guide/llm/get-started-with-llamaedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LLM&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://llamaedge.com/docs/user-guide/speech-to-text/quick-start-whisper&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;speech-to-text&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://llamaedge.com/docs/user-guide/text-to-image/quick-start-sd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;text-to-image&lt;/a&gt;, and &lt;a class=&#34;link&#34; href=&#34;https://github.com/LlamaEdge/whisper-api-server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TTS&lt;/a&gt;) across GPUs on servers, personal computers, and edge devices. Additional &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/start/usage/use-cases/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;use cases&lt;/a&gt; include microservices on the edge cloud, serverless SaaS APIs, embedded functions, smart contracts, and smart devices.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/WasmEdge/WasmEdge/actions/workflows/build.yml?query=event%3Apush&amp;#43;&amp;#43;branch%3Amaster&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/WasmEdge/WasmEdge/actions/workflows/build.yml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;build&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://codecov.io/gh/WasmEdge/WasmEdge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://codecov.io/gh/WasmEdge/WasmEdge/branch/master/graph/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;codecov&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/WasmEdge/WasmEdge/actions/workflows/codeql-analysis.yml?query=event%3Apush&amp;#43;&amp;#43;branch%3Amaster&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/WasmEdge/WasmEdge/actions/workflows/codeql-analysis.yml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CodeQL&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://app.fossa.com/projects/git%2Bgithub.com%2FWasmEdge%2FWasmEdge?ref=badge_shield&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://app.fossa.com/api/projects/git%2Bgithub.com%2FWasmEdge%2FWasmEdge.svg?type=shield&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;FOSSA Status&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bestpractices.coreinfrastructure.org/projects/5059&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://bestpractices.coreinfrastructure.org/projects/5059/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CII Best Practices&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h1 id=&#34;quick-start-guides&#34;&gt;Quick start guides
&lt;/h1&gt;&lt;p&gt;🚀 &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/start/install&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Install&lt;/a&gt; WasmEdge &lt;br&gt;
👷🏻‍♂️ &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/build-wasmedge-from-source&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Build&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/contribute/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;contribute to&lt;/a&gt; WasmEdge &lt;br&gt;
⌨️ &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/running-with-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Run&lt;/a&gt; a standalone Wasm program or a &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/develop-wasm-apps-in-javascript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JavaScript program&lt;/a&gt; from CLI or &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/start/getting-started/quick_start_docker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docker&lt;/a&gt; &lt;br&gt;
🤖 &lt;a class=&#34;link&#34; href=&#34;https://llamaedge.com/docs/user-guide/llm/get-started-with-llamaedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chat&lt;/a&gt; with an open source LLM via &lt;a class=&#34;link&#34; href=&#34;https://github.com/LlamaEdge/LlamaEdge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LlamaEdge&lt;/a&gt; &lt;br&gt;
🔌 Embed a Wasm function in your &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/go-sdk-for-embedding-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Go&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/rust-sdk-for-embedding-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rust&lt;/a&gt;, or &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/c-sdk-for-embedding-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;C&lt;/a&gt; app &lt;br&gt;
🛠 Manage and orchestrate Wasm runtimes using &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/deploy-wasmedge-apps-in-kubernetes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/embed/use-case/yomo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;data streaming frameworks&lt;/a&gt;, and &lt;a class=&#34;link&#34; href=&#34;https://medium.com/ethereum-on-steroids/running-ethereum-smart-contracts-in-a-substrate-blockchain-56fbc27fc95a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blockchains&lt;/a&gt; &lt;br&gt;
📚 &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Check out our official documentation&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id=&#34;introduction&#34;&gt;Introduction
&lt;/h1&gt;&lt;p&gt;The WasmEdge Runtime provides a well-defined execution sandbox for its contained WebAssembly bytecode program. The runtime offers isolation and protection for operating system resources (e.g., file system, sockets, environment variables, processes) and memory space. The most important use case for WasmEdge is to safely execute user-defined or community-contributed code as plug-ins in a software product (e.g., SaaS, software-defined vehicles, edge nodes, or even blockchain nodes). It enables third-party developers, vendors, suppliers, and community members to extend and customize the software product. &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/contribute/users&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Learn more here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;performance&#34;&gt;Performance
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2010.07115&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;A Lightweight Design for High-performance Serverless Computing&lt;/a&gt;, published on IEEE Software, Jan 2021. &lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2010.07115&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://arxiv.org/abs/2010.07115&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/articles/arm-vs-x86-cloud-performance/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Performance Analysis for Arm vs. x86 CPUs in the Cloud&lt;/a&gt;, published on infoQ.com, Jan 2021. &lt;a class=&#34;link&#34; href=&#34;https://www.infoq.com/articles/arm-vs-x86-cloud-performance/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.infoq.com/articles/arm-vs-x86-cloud-performance/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.suborbital.dev/suborbital-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WasmEdge is the fastest WebAssembly Runtime in Suborbital Reactr test suite&lt;/a&gt;, Dec 2021&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;features&#34;&gt;Features
&lt;/h2&gt;&lt;p&gt;WasmEdge can run standard WebAssembly bytecode programs compiled from C/C++, Rust, Swift, AssemblyScript, or Kotlin source code. It &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/develop-wasm-apps-in-javascript&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;runs JavaScript&lt;/a&gt;, including 3rd party ES6, CJS, and NPM modules, in a secure, fast, lightweight, portable, and containerized sandbox. It also supports mixing of those languages (e.g., to &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/develop/javascript/rust&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;use Rust to implement a JavaScript API&lt;/a&gt;), the &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/develop/javascript/networking#fetch-client&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fetch&lt;/a&gt; API, and &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/develop/javascript/ssr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Server-side Rendering (SSR)&lt;/a&gt; functions on edge servers.&lt;/p&gt;
&lt;p&gt;WasmEdge supports &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/start/wasmedge/extensions/proposals&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;all standard WebAssembly features and many proposed extensions&lt;/a&gt;. It also supports a number of extensions tailored for cloud-native and edge computing uses (e.g., the &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/socket-networking&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WasmEdge network sockets&lt;/a&gt;,&lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/database-drivers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Postgres and MySQL-based database driver&lt;/a&gt;, and the &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/ai-inference&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WasmEdge AI extension&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more about &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/start/wasmedge/features&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;technical highlights&lt;/a&gt; of WasmEdge.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;integrations-and-management&#34;&gt;Integrations and management
&lt;/h2&gt;&lt;p&gt;WasmEdge and its contained wasm program can be started from the &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/running-with-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CLI&lt;/a&gt; as a new process, or from an existing process. If started from an existing process (e.g., from a running &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/go-sdk-for-embedding-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Go&lt;/a&gt; or &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/rust-sdk-for-embedding-wasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rust&lt;/a&gt; program), WasmEdge will simply run inside the process as a function. Currently, WasmEdge is not yet thread-safe. In order to use WasmEdge in your own application or cloud-native frameworks, please refer to the guides below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/embed/overview&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Embed WasmEdge into a host application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/category/deploy-wasmedge-apps-in-kubernetes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Orchestrate and manage WasmEdge instances using container tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/develop/rust/dapr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Run a WasmEdge app as a Dapr microservice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;community&#34;&gt;Community
&lt;/h1&gt;&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;We welcome contributions from the community! Please check out our:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./docs/CONTRIBUTING.md&#34; &gt;Contributing Guide&lt;/a&gt; for how to get started&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./docs/GOVERNANCE.md&#34; &gt;Governance documentation&lt;/a&gt; for project decision-making processes&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./docs/CODE_OF_CONDUCT.md&#34; &gt;Code of Conduct&lt;/a&gt; for community standards&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Want to become a maintainer? See our &lt;a class=&#34;link&#34; href=&#34;./CONTRIBUTION_LADDER.md&#34; &gt;Contributor Ladder&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;roadmap&#34;&gt;Roadmap
&lt;/h2&gt;&lt;p&gt;Check out our &lt;a class=&#34;link&#34; href=&#34;https://github.com/WasmEdge/WasmEdge/blob/master/docs/ROADMAP.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;project roadmap&lt;/a&gt; to see the upcoming features and plans for WasmEdge.&lt;/p&gt;
&lt;h2 id=&#34;contact&#34;&gt;Contact
&lt;/h2&gt;&lt;p&gt;If you have any questions, feel free to open a GitHub issue on a related project or to join the following channels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mailing list: Send an email to &lt;a class=&#34;link&#34; href=&#34;https://groups.google.com/g/wasmedge/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WasmEdge@googlegroups.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Discord: Join the &lt;a class=&#34;link&#34; href=&#34;https://discord.gg/h4KDyB8XTt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WasmEdge Discord server&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;Slack: Join the #WasmEdge channel on the &lt;a class=&#34;link&#34; href=&#34;https://slack.cncf.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CNCF Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;X (formerly Twitter): Follow @realwasmedge on &lt;a class=&#34;link&#34; href=&#34;https://x.com/realwasmedge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;adopters&#34;&gt;Adopters
&lt;/h2&gt;&lt;p&gt;Check out our &lt;a class=&#34;link&#34; href=&#34;https://wasmedge.org/docs/contribute/users/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;list of Adopters&lt;/a&gt; who are using WasmEdge in their projects.&lt;/p&gt;
&lt;h2 id=&#34;community-meeting&#34;&gt;Community Meeting
&lt;/h2&gt;&lt;p&gt;We host a monthly community meeting to showcase new features, demo new use cases, and a Q&amp;amp;A part. Everyone is welcome!&lt;/p&gt;
&lt;p&gt;Time: The first Tuesday of each month at 11PM Hong Kong Time/ 7AM PST.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.google.com/document/d/1iFlVl7R97Lze4RDykzElJGDjjWYDlkI8Rhf8g4dQ5Rk/edit#&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Public meeting agenda/notes&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://us06web.zoom.us/j/82221747919?pwd=3MORhaxDk15rACk7mNDvyz9KtaEbWy.1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zoom link&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;license&#34;&gt;License
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://app.fossa.com/projects/git%2Bgithub.com%2FWasmEdge%2FWasmEdge?ref=badge_large&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://app.fossa.com/api/projects/git%2Bgithub.com%2FWasmEdge%2FWasmEdge.svg?type=large&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;FOSSA Status&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>appwrite</title>
        <link>https://producthunt.programnotes.cn/en/p/appwrite/</link>
        <pubDate>Fri, 23 May 2025 15:28:13 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/appwrite/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1731635793345-81555953ba2a?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NDc5ODUyNzh8&amp;ixlib=rb-4.1.0" alt="Featured image of post appwrite" /&gt;&lt;h1 id=&#34;appwriteappwrite&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/appwrite&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;appwrite/appwrite&lt;/a&gt;
&lt;/h1&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://apwr.dev/appcloud&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Get started with Appwrite&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=1g8tuogsp7A&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Join the Init kick off event 19th of May: The future of Appwrite with Founder &amp;amp; CEO Eldad Fux&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;p align=&#34;center&#34;&gt;
    &lt;a href=&#34;https://appwrite.io&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;./public/images/banner.png&#34; alt=&#34;Appwrite banner, with logo and text saying &#34;Build Like a Team of Hundreds&#34;&gt;&lt;/a&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;b&gt;Appwrite is a backend platform for developing Web, Mobile, and Flutter applications. Built with the open source community and optimized for developer experience in the coding languages you love.&lt;/b&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&lt;/p&gt;
&lt;!-- [![Build Status](https://img.shields.io/travis/com/appwrite/appwrite?style=flat-square)](https://travis-ci.com/appwrite/appwrite) --&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/static/v1?label=We%27re&amp;amp;message=Hiring&amp;amp;color=blue&amp;amp;style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;We’re Hiring label&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://hacktoberfest.appwrite.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/static/v1?label=hacktoberfest&amp;amp;message=ready&amp;amp;color=191120&amp;amp;style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Hacktoberfest label&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/discord?r=Github&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/discord/564160730845151244?label=discord&amp;amp;style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Discord label&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/appwrite/actions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/actions/workflow/status/appwrite/appwrite/tests.yml?branch=master&amp;amp;label=tests&amp;amp;style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Build Status label&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://twitter.com/appwrite&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/twitter/follow/appwrite?color=00acee&amp;amp;label=twitter&amp;amp;style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;X Account label&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!-- [![Docker Pulls](https://img.shields.io/docker/pulls/appwrite/appwrite?color=f02e65&amp;style=flat-square)](https://hub.docker.com/r/appwrite/appwrite) --&gt;
&lt;!-- [![Translate](https://img.shields.io/badge/translate-f02e65?style=flat-square)](docs/tutorials/add-translations.md) --&gt;
&lt;!-- [![Swag Store](https://img.shields.io/badge/swag%20store-f02e65?style=flat-square)](https://store.appwrite.io) --&gt;
&lt;p&gt;English | &lt;a class=&#34;link&#34; href=&#34;README-CN.md&#34; &gt;简体中文&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Appwrite is an end-to-end backend server for Web, Mobile, Native, or Backend apps packaged as a set of Docker&lt;nobr&gt; microservices. Appwrite abstracts the complexity and repetitiveness required to build a modern backend API from scratch and allows you to build secure apps faster.&lt;/p&gt;
&lt;p&gt;Using Appwrite, you can easily integrate your app with user authentication and multiple sign-in methods, a database for storing and querying users and team data, storage and file management, image manipulation, Cloud Functions, messaging, and &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;more services&lt;/a&gt;.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
    &lt;br /&gt;
    &lt;a href=&#34;https://www.producthunt.com/posts/appwrite-2?utm_source=badge-top-post-badge&amp;utm_medium=badge&amp;utm_souce=badge-appwrite-2&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=360315&amp;theme=light&amp;period=daily&#34; alt=&#34;Appwrite - 100&amp;#0037;&amp;#0032;open&amp;#0032;source&amp;#0032;alternative&amp;#0032;for&amp;#0032;Firebase | Product Hunt&#34; style=&#34;width: 250px; height: 54px;&#34; width=&#34;250&#34; height=&#34;54&#34; /&gt;&lt;/a&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/public/images/github.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Appwrite project dashboard showing various Appwrite features&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Find out more at: &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://appwrite.io&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Table of Contents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#getting-started&#34; &gt;Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#self-hosting&#34; &gt;Self-Hosting&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#unix&#34; &gt;Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#windows&#34; &gt;Windows&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#cmd&#34; &gt;CMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#powershell&#34; &gt;PowerShell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#upgrade-from-an-older-version&#34; &gt;Upgrade from an Older Version&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#one-click-setups&#34; &gt;One-Click Setups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#getting-started&#34; &gt;Getting Started&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#products&#34; &gt;Products&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#sdks&#34; &gt;SDKs&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#client&#34; &gt;Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#server&#34; &gt;Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#community&#34; &gt;Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#architecture&#34; &gt;Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#contributing&#34; &gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#security&#34; &gt;Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#follow-us&#34; &gt;Follow Us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#license&#34; &gt;License&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started
&lt;/h2&gt;&lt;p&gt;The easiest way to get started with Appwrite is by &lt;a class=&#34;link&#34; href=&#34;https://cloud.appwrite.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;signing up for Appwrite Cloud&lt;/a&gt;. While Appwrite Cloud is in public beta, you can build with Appwrite completely free, and we won&amp;rsquo;t collect you credit card information.&lt;/p&gt;
&lt;h2 id=&#34;self-hosting&#34;&gt;Self-Hosting
&lt;/h2&gt;&lt;p&gt;Appwrite is designed to run in a containerized environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool, such as &lt;a class=&#34;link&#34; href=&#34;https://kubernetes.io/docs/home/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://docs.docker.com/engine/swarm/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docker Swarm&lt;/a&gt;, or &lt;a class=&#34;link&#34; href=&#34;https://rancher.com/docs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rancher&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Before running the installation command, make sure you have &lt;a class=&#34;link&#34; href=&#34;https://www.docker.com/products/docker-desktop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docker&lt;/a&gt; installed on your machine:&lt;/p&gt;
&lt;h3 id=&#34;unix&#34;&gt;Unix
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -it --rm &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --volume /var/run/docker.sock:/var/run/docker.sock &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --volume &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;pwd&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;/appwrite:/usr/src/code/appwrite:rw &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --entrypoint&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    appwrite/appwrite:1.7.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;windows&#34;&gt;Windows
&lt;/h3&gt;&lt;h4 id=&#34;cmd&#34;&gt;CMD
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -it --rm &lt;span class=&#34;se&#34;&gt;^
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt; &lt;/span&gt;   --volume //var/run/docker.sock:/var/run/docker.sock &lt;span class=&#34;se&#34;&gt;^
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt; &lt;/span&gt;   --volume &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%cd%&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;/appwrite:/usr/src/code/appwrite:rw &lt;span class=&#34;se&#34;&gt;^
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt; &lt;/span&gt;   --entrypoint=&lt;span class=&#34;s2&#34;&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;^
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt; &lt;/span&gt;   appwrite/appwrite:1.7.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;powershell&#34;&gt;PowerShell
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;run&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-it&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-rm&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-volume&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sock&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;sock&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-volume&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pwd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;appwrite&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;usr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;appwrite&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rw&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-entrypoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;appwrite&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;appwrite&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;1.7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Once the Docker installation is complete, go to http://localhost to access the Appwrite console from your browser. Please note that on non-Linux native hosts, the server might take a few minutes to start after completing the installation.&lt;/p&gt;
&lt;p&gt;For advanced production and custom installation, check out our Docker &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/environment-variables&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;environment variables&lt;/a&gt; docs. You can also use our public &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/install/compose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docker-compose.yml&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/install/env&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;.env&lt;/a&gt; files to manually set up an environment.&lt;/p&gt;
&lt;h3 id=&#34;upgrade-from-an-older-version&#34;&gt;Upgrade from an Older Version
&lt;/h3&gt;&lt;p&gt;If you are upgrading your Appwrite server from an older version, you should use the Appwrite migration tool once your setup is completed. For more information regarding this, check out the &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/self-hosting&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Installation Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;one-click-setups&#34;&gt;One-Click Setups
&lt;/h2&gt;&lt;p&gt;In addition to running Appwrite locally, you can also launch Appwrite using a pre-configured setup. This allows you to get up and running quickly with Appwrite without installing Docker on your local machine.&lt;/p&gt;
&lt;p&gt;Choose from one of the providers below:&lt;/p&gt;
&lt;table border=&#34;0&#34;&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34; width=&#34;100&#34; height=&#34;100&#34;&gt;
      &lt;a href=&#34;https://marketplace.digitalocean.com/apps/appwrite&#34;&gt;
        &lt;img width=&#34;50&#34; height=&#34;39&#34; src=&#34;public/images/integrations/digitalocean-logo.svg&#34; alt=&#34;DigitalOcean Logo&#34; /&gt;
          &lt;br /&gt;&lt;sub&gt;&lt;b&gt;DigitalOcean&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;
        &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;100&#34; height=&#34;100&#34;&gt;
      &lt;a href=&#34;https://gitpod.io/#https://github.com/appwrite/integration-for-gitpod&#34;&gt;
        &lt;img width=&#34;50&#34; height=&#34;39&#34; src=&#34;public/images/integrations/gitpod-logo.svg&#34; alt=&#34;Gitpod Logo&#34; /&gt;
          &lt;br /&gt;&lt;sub&gt;&lt;b&gt;Gitpod&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;    
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;100&#34; height=&#34;100&#34;&gt;
      &lt;a href=&#34;https://www.linode.com/marketplace/apps/appwrite/appwrite/&#34;&gt;
        &lt;img width=&#34;50&#34; height=&#34;39&#34; src=&#34;public/images/integrations/akamai-logo.svg&#34; alt=&#34;Akamai Logo&#34; /&gt;
          &lt;br /&gt;&lt;sub&gt;&lt;b&gt;Akamai Compute&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;    
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;100&#34; height=&#34;100&#34;&gt;
      &lt;a href=&#34;https://aws.amazon.com/marketplace/pp/prodview-2hiaeo2px4md6&#34;&gt;
        &lt;img width=&#34;50&#34; height=&#34;39&#34; src=&#34;public/images/integrations/aws-logo.svg&#34; alt=&#34;AWS Logo&#34; /&gt;
          &lt;br /&gt;&lt;sub&gt;&lt;b&gt;AWS Marketplace&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;    
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2 id=&#34;getting-started-1&#34;&gt;Getting Started
&lt;/h2&gt;&lt;p&gt;Getting started with Appwrite is as easy as creating a new project, choosing your platform, and integrating its SDK into your code. You can easily get started with your platform of choice by reading one of our Getting Started tutorials.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Platform&lt;/th&gt;
          &lt;th&gt;Technology&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Web app&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/web&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Web&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/nextjs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Next.js&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/react&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for React&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/vue&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Vue.js&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/nuxt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Nuxt&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/sveltekit&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for SvelteKit&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/refine&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Refine&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/angular&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Angular&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Mobile and Native&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/react-native&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for React Native&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/flutter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Flutter&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/apple&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Apple&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/android&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Android&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Server&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/node&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Node.js&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/python&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Python&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/dotnet&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for .NET&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/dart&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Dart&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/ruby&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Ruby&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/deno&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Deno&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for PHP&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/kotlin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Kotlin&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/quick-starts/swift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quick start for Swift&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;products&#34;&gt;Products
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/account&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Account&lt;/strong&gt;&lt;/a&gt; - Manage current user authentication and account. Track and manage the user sessions, devices, sign-in methods, and security logs.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/server/users&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Users&lt;/strong&gt;&lt;/a&gt; - Manage and list all project users when building backend integrations with Server SDKs.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/teams&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Teams&lt;/strong&gt;&lt;/a&gt; - Manage and group users in teams. Manage memberships, invites, and user roles within a team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/databases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Databases&lt;/strong&gt;&lt;/a&gt; - Manage databases, collections, and documents. Read, create, update, and delete documents and filter lists of document collections using advanced filters.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/storage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/a&gt; - Manage storage files. Read, create, delete, and preview files. Manipulate the preview of your files to perfectly fit your app. All files are scanned by ClamAV and stored in a secure and encrypted way.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/server-nodejs/functions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Functions&lt;/strong&gt;&lt;/a&gt; - Customize your Appwrite project by executing your custom code in a secure, isolated environment. You can trigger your code on any Appwrite system event either manually or using a CRON schedule.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/messaging&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Messaging&lt;/strong&gt;&lt;/a&gt; - Communicate with your users through push notifications, emails, and SMS text messages using Appwrite Messaging.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/realtime&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Realtime&lt;/strong&gt;&lt;/a&gt; - Listen to real-time events for any of your Appwrite services including users, storage, functions, databases, and more.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/locale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Locale&lt;/strong&gt;&lt;/a&gt; - Track your user&amp;rsquo;s location and manage your app locale-based data.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs/references/cloud/client-web/avatars&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Avatars&lt;/strong&gt;&lt;/a&gt; - Manage your users&amp;rsquo; avatars, countries&amp;rsquo; flags, browser icons, and credit card symbols. Generate QR codes from links or plaintext strings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete API documentation, visit &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://appwrite.io/docs&lt;/a&gt;. For more tutorials, news and announcements check out our &lt;a class=&#34;link&#34; href=&#34;https://medium.com/appwrite-io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blog&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://discord.gg/GSeTUeA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord Server&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;sdks&#34;&gt;SDKs
&lt;/h3&gt;&lt;p&gt;Below is a list of currently supported platforms and languages. If you would like to help us add support to your platform of choice, you can go over to our &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-generator&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SDK Generator&lt;/a&gt; project and view our &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-generator/blob/master/CONTRIBUTING.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;contribution guide&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;client&#34;&gt;Client
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-web&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Web&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-flutter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flutter&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-apple&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Apple&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-android&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Android&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-react-native&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;React Native&lt;/a&gt; - &lt;strong&gt;Beta&lt;/strong&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;server&#34;&gt;Server
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-node&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NodeJS&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PHP&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-dart&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dart&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-deno&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deno&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-ruby&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ruby&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-python&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-kotlin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kotlin&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-swift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Swift&lt;/a&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-for-dotnet&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;.NET&lt;/a&gt; - &lt;strong&gt;Beta&lt;/strong&gt; (Maintained by the Appwrite Team)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;community&#34;&gt;Community
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/m1ga/ti.appwrite&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Appcelerator Titanium&lt;/a&gt; (Maintained by &lt;a class=&#34;link&#34; href=&#34;https://github.com/m1ga/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Michael Gangolf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;:white_check_mark:   &lt;a class=&#34;link&#34; href=&#34;https://github.com/GodotNuts/appwrite-sdk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Godot Engine&lt;/a&gt; (Maintained by &lt;a class=&#34;link&#34; href=&#34;https://github.com/fenix-hub&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fenix-hub @GodotNuts&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking for more SDKs? - Help us by contributing a pull request to our &lt;a class=&#34;link&#34; href=&#34;https://github.com/appwrite/sdk-generator&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SDK Generator&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id=&#34;architecture&#34;&gt;Architecture
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/specs/overview.drawio.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Appwrite Architecture showing how Appwrite is built and the services and tools it uses&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Appwrite uses a microservices architecture that was designed for easy scaling and delegation of responsibilities. In addition, Appwrite supports multiple APIs, such as REST, WebSocket, and GraphQL to allow you to interact with your resources by leveraging your existing knowledge and protocols of choice.&lt;/p&gt;
&lt;p&gt;The Appwrite API layer was designed to be extremely fast by leveraging in-memory caching and delegating any heavy-lifting tasks to the Appwrite background workers. The background workers also allow you to precisely control your compute capacity and costs using a message queue to handle the load. You can learn more about our architecture in the &lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md#architecture-1&#34; &gt;contribution guide&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;All code contributions, including those of people having commit access, must go through a pull request and be approved by a core developer before being merged. This is to ensure a proper review of all the code.&lt;/p&gt;
&lt;p&gt;We truly :heart: pull requests! If you wish to help, you can learn more about how you can contribute to this project in the &lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md&#34; &gt;contribution guide&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;security&#34;&gt;Security
&lt;/h2&gt;&lt;p&gt;For security issues, kindly email us at &lt;a class=&#34;link&#34; href=&#34;mailto:security@appwrite.io&#34; &gt;security@appwrite.io&lt;/a&gt; instead of posting a public issue on GitHub.&lt;/p&gt;
&lt;h2 id=&#34;follow-us&#34;&gt;Follow Us
&lt;/h2&gt;&lt;p&gt;Join our growing community around the world! Check out our official &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/blog&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blog&lt;/a&gt;. Follow us on &lt;a class=&#34;link&#34; href=&#34;https://twitter.com/appwrite&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://www.linkedin.com/company/appwrite/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LinkedIn&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://dev.to/appwrite&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dev Community&lt;/a&gt; or join our live &lt;a class=&#34;link&#34; href=&#34;https://appwrite.io/discord&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord server&lt;/a&gt; for more help, ideas, and discussions.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;This repository is available under the &lt;a class=&#34;link&#34; href=&#34;./LICENSE&#34; &gt;BSD 3-Clause License&lt;/a&gt;.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
