Found in 4 comments on Hacker News
gazarullz · 2018-06-21 · Original thread
Out of my head, of relevant interest in the distributed systems field are the following books:

Designing Distributed Systems https://www.oreilly.com/library/view/designing-distributed-s...

Building Evolutionary Architectures http://shop.oreilly.com/product/0636920080237.do

Building Microservices http://shop.oreilly.com/product/0636920033158.do

They encompass most of the topics you've enumerated earlier.

berlam · 2016-08-31 · Original thread
If you prefer books, than I can recommend "Building Microservices" from Sam Newman [1]. You get some basic information and pitfalls you should avoid when building microservices.

[1] http://shop.oreilly.com/product/0636920033158.do

If you are thinking about going down the microservice path, then do yourself a favour and read Building Microservices (O'Reilly) [1]. It is a little wordy but lays it down pretty well. I'm not affiliated with them, but do heavily research this space, and the larger ecosystem. I found it pretty well rounded.

I'm not sure this articles 10 question list really covers the scope of what microservice means. For reference, I'm not talking about ~5 microservices here (as that might be trivial), but am thinking in the scope of ~50-100+. In that you should have a pretty good reason to adopt them re: your team size and scale of operations. You can see an increased rate of deployed changes, performance boosts, and freedom to choose languages that fit the problem, but it comes with additional operational complexity. In that, you will pay an upfront tax for using microservices. So, you really need to think about asking yourself these types of questions (and the ones in the article).

- How and where should you break things into microservices (if monolith)?

- Who should own the microservice? What does this mean in terms of coding, testing, deploying, ops issues, etc?

- You will need team buy in. A switch could mean months of work. The upside is massive but you cannot push this on them.

- How do you deal with things at the datastore level (can/should two microservice access the same table space)?

- How are you going to deploy microservice via CI/CD pipeline into your production env?

- How do microservices communicate (RPC, API, etc)?

- What type of metrics do you build into your microservice?

- How can you trace requests when they hit multiple microservices?

- You'll need to beef up your operations tools to manage these microservices too. What does that look like?

These are pretty fundamental things you need to think about and the book does a pretty decent job at explaining it.

[1] http://shop.oreilly.com/product/0636920033158.do

tomchristie · 2015-02-26 · Original thread
Note that the full copy is now available to purchase in both ebook and hardcopy: http://shop.oreilly.com/product/0636920033158.do

(No side-interest here, just found it confusing that the page mentioned "hardcopy expected to be published in May")

Fresh book recommendations delivered straight to your inbox every Thursday.