News for hackers. Stuff that matters.
Re:Is a shared database in microservices actually an anti-pa... by barrkel on Sunday February 24, 2019 @06:07PM (#19241244)
The trouble is, if you push state into different services behind APIs, you end up reinventing 50 to 80% of RDBMS anyhow. You need transactions, replication, indexing, integrity, backups etc. etc. You can use an event stream (a substitute for a commit log) but then you need to migrate your event stream, be able to undo events in the stream, etc. It's complexity you really ought to avoid unless you need it for serious business reasons.

Monolithic architectures have tended to last for decades in mature industries. I don't think we have a good handle on the lifetime of microservice architectures yet - typically, when they come into being out of necessity rather than fashion, they're part of a startup that hit a major hockey-stick and needed multiple teams working concurrently without stepping on each other, and microservices serve an organizational purpose rather than an architecture purpose.

I will second what other people say: the database tends to stick around. Code may rot, but the data is reused by the next generation.

Re:Is a shared database in microservices actually an anti-pa... by NicoJuicy on Sunday February 24, 2019 @06:53PM (#19241475)
> multiple teams working concurrently without stepping on each other, and microservices serve an organizational purpose rather than an architecture purpose.

I so hard agree with this.

Re:Is a shared database in microservices actually an anti-pa... by quizotic on Sunday February 24, 2019 @11:25PM (#19242912)
Agree you need all of these things and more... but if you could do this above the microservice level, as a piece of K8S or whatever the MSA, then you might have an advance over RDBMS.

The result would be the same features/guaranteed you have with current DBMS, but you get independent deployability, elastic scalability, redundant availability, and other advantages of microservices that are missing with traditional DBMS.