3 ms·
This seems to argue that any microsevice shared by many other microservices is an antipattern. Lots of apps use S3 as a common store. Is S3 an antipattern? The
by lobster_johnson 10y ago
This seems to argue that any microsevice shared by many other microservices is an antipattern.
Lots of apps use S3 as a common store. Is S3 an antipattern? The same goes for things like SQS, Google Pub/Sub, Google Datastore, etc. In my opinion, the idea that microservices must be isolated silos is misguided.
There are many things that are top-down (high-level control plane, many small individual, stateless parts controlled by it), but the opposite of this is the bottom-up "shared substrate". Things like data storages and buses that have the responsibility of storing state or shuffling data between actors.
In fact, I consider microservice that's a silo — that is, has its own private data store — to be an antipattern in many cases. To borrow an old phrase, data wants to be free. Today's backend patterns are very API-centric, with APIs acting as awkward gatekeepers to small amounts of data. It's a much better idea to invert this, Haskell-style: Let the data be first class, and orient your APIs to work on your data.