<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: microservices</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/microservices.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2025-05-08T19:30:54+00:00</updated><author><name>Simon Willison</name></author><entry><title>Quoting Oleg Pustovit</title><link href="https://simonwillison.net/2025/May/8/oleg-pustovit/#atom-tag" rel="alternate"/><published>2025-05-08T19:30:54+00:00</published><updated>2025-05-08T19:30:54+00:00</updated><id>https://simonwillison.net/2025/May/8/oleg-pustovit/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://nexo.sh/posts/microservices-for-startups/"&gt;&lt;p&gt;Microservices only pay off when you have real scaling bottlenecks, large teams, or independently evolving domains. Before that? You’re paying the price without getting the benefit: duplicated infra, fragile local setups, and slow iteration.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://nexo.sh/posts/microservices-for-startups/"&gt;Oleg Pustovit&lt;/a&gt;, Microservices Are a Tax Your Startup Probably Can’t Afford&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/startups"&gt;startups&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/software-architecture"&gt;software-architecture&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="startups"/><category term="software-architecture"/><category term="microservices"/></entry><entry><title>Quoting Kellan Elliott-McCrea</title><link href="https://simonwillison.net/2023/Jan/24/kellan-elliott-mccrea/#atom-tag" rel="alternate"/><published>2023-01-24T05:26:47+00:00</published><updated>2023-01-24T05:26:47+00:00</updated><id>https://simonwillison.net/2023/Jan/24/kellan-elliott-mccrea/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://laughingmeme.org/2023/01/23/software-and-its-discontents-part-2-complexity.html"&gt;&lt;p&gt;Large teams spend more time dealing with coordination and are more likely to reach for architecture and abstractions that they hope will reduce coordination costs, aka if I architect this well enough I don’t have to speak to my colleagues. Microservices, event buses, and schema free databases are all examples of attempts to architect our way around coordination. A decade in we’ve learned that these patterns raise the cost of reasoning about a system, during onboarding, during design, and during incidents and outages.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://laughingmeme.org/2023/01/23/software-and-its-discontents-part-2-complexity.html"&gt;Kellan Elliott-McCrea&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/kellan-elliott-mccrea"&gt;kellan-elliott-mccrea&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/software-architecture"&gt;software-architecture&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="kellan-elliott-mccrea"/><category term="software-architecture"/><category term="microservices"/></entry><entry><title>Quoting sagichmal</title><link href="https://simonwillison.net/2020/Jul/25/sagichmal/#atom-tag" rel="alternate"/><published>2020-07-25T23:43:56+00:00</published><updated>2020-07-25T23:43:56+00:00</updated><id>https://simonwillison.net/2020/Jul/25/sagichmal/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://news.ycombinator.com/item?id=23946654"&gt;&lt;p&gt;Organizations adopt microservices when the logistical overhead of coordinating teams against a monolith becomes so large that it starts affecting product velocity. Microservices are a way to release that organizational/logistical friction, at great technical cost.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://news.ycombinator.com/item?id=23946654"&gt;sagichmal&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="microservices"/></entry><entry><title>Quoting Alexandra Noonan</title><link href="https://simonwillison.net/2020/Apr/29/alexandra-noonan/#atom-tag" rel="alternate"/><published>2020-04-29T17:56:00+00:00</published><updated>2020-04-29T17:56:00+00:00</updated><id>https://simonwillison.net/2020/Apr/29/alexandra-noonan/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.infoq.com/news/2020/04/microservices-back-again/"&gt;&lt;p&gt;If microservices are implemented incorrectly or used as a band-aid without addressing some of the root flaws in your system, you'll be unable to do new product development because you're drowning in the complexity.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.infoq.com/news/2020/04/microservices-back-again/"&gt;Alexandra Noonan&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/software-architecture"&gt;software-architecture&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="software-architecture"/><category term="microservices"/></entry><entry><title>Quoting Petrus Theron</title><link href="https://simonwillison.net/2019/Sep/28/petrus-theron/#atom-tag" rel="alternate"/><published>2019-09-28T16:23:52+00:00</published><updated>2019-09-28T16:23:52+00:00</updated><id>https://simonwillison.net/2019/Sep/28/petrus-theron/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://twitter.com/petrustheron/status/1177902838787330048"&gt;&lt;p&gt;Microservices are about scaling teams, not scaling tech&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://twitter.com/petrustheron/status/1177902838787330048"&gt;Petrus Theron&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="microservices"/></entry><entry><title>Announcing Envoy Mobile</title><link href="https://simonwillison.net/2019/Jun/18/announcing-envoy-mobile/#atom-tag" rel="alternate"/><published>2019-06-18T18:42:25+00:00</published><updated>2019-06-18T18:42:25+00:00</updated><id>https://simonwillison.net/2019/Jun/18/announcing-envoy-mobile/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://eng.lyft.com/announcing-envoy-mobile-5c2067d9ade0"&gt;Announcing Envoy Mobile&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
This is a fascinating development: Lyft’s Envoy proxy / service mesh has been widely adopted across the industry as a server-side component for adding smart routing and observability to the network calls made between services in microservice architectures. “The reality is that three 9s at the server-side edge is meaningless if the user of a mobile application is only able to complete the desired product flows a fraction of the time”—so Lyft are building a C++ embedded library companion to Envoy which is designed to be shipped as part of iOS and Android client applications. “Envoy Mobile in conjunction with Envoy in the data center will provide the ability to reason about the entire distributed system network, not just the server-side portion.” Their decision to release an early working prototype and then conduct ongoing development entirely in the open is interesting too.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/mobile"&gt;mobile&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="mobile"/><category term="microservices"/></entry><entry><title>Domains Search for Web: Instant, Serverless &amp; Global</title><link href="https://simonwillison.net/2018/Jan/26/domains-search/#atom-tag" rel="alternate"/><published>2018-01-26T01:14:52+00:00</published><updated>2018-01-26T01:14:52+00:00</updated><id>https://simonwillison.net/2018/Jan/26/domains-search/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://zeit.co/blog/domains-search-web"&gt;Domains Search for Web: Instant, Serverless &amp;amp; Global&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The team at Zeit are pioneering a whole bunch of fascinating web engineering architectural patterns. Their new domain name autocomplete search uses Next.js and server-side rendering on first load, then switches to client-side rendering from then on. It can then load results asynchronously over a custom WebSocket protocol as the microservices on the backend finish resolving domain availability from the various different TLD providers.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/rauchg/status/956402473354366977"&gt;Guillermo Rauch‏&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/domains"&gt;domains&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/websockets"&gt;websockets&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zeit-now"&gt;zeit-now&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="domains"/><category term="websockets"/><category term="zeit-now"/><category term="microservices"/></entry><entry><title>now-ab</title><link href="https://simonwillison.net/2017/Nov/16/now-ab/#atom-tag" rel="alternate"/><published>2017-11-16T23:03:55+00:00</published><updated>2017-11-16T23:03:55+00:00</updated><id>https://simonwillison.net/2017/Nov/16/now-ab/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/sergiodxa/now-ab"&gt;now-ab&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Intriguing example of a Zeit Now microservice: now-ab is a Node.js HTTP proxy which proxies through to one of two or more other Now-deployed applications based on a cookie. If you don’t have the cookie, it picks a backend at random and sets the cookie. Admittedly this is the easiest part of implementing A/B testing (the hard part is the analytics: tracking exposures and conversions) but as an example of a microservice architectural pattern this is fascinating.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ab-testing"&gt;ab-testing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nodejs"&gt;nodejs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zeit-now"&gt;zeit-now&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microservices"&gt;microservices&lt;/a&gt;&lt;/p&gt;



</summary><category term="ab-testing"/><category term="nodejs"/><category term="zeit-now"/><category term="microservices"/></entry></feed>