#274 in Computers & technology books
Use arrows to jump to the previous/next product
Reddit mentions of Building Microservices: Designing Fine-Grained Systems
Sentiment score: 9
Reddit mentions: 13
We found 13 Reddit mentions of Building Microservices: Designing Fine-Grained Systems. Here are the top ones.
Buying options
View on Amazon.comor
- O Reilly Media
Features:
Specs:
Height | 9.19 Inches |
Length | 7 Inches |
Number of items | 1 |
Weight | 1.04499112188 Pounds |
Width | 0.59 Inches |
There's a misconception that microservices are 'simple'. That's not always the case, they can be complex, efficent beasts, include caching, handle millions of concurrent requests, etc.
However, architecturally, as seen from the outside, microservices do one thing and do it well.
https://youtu.be/CZ3wIuvmHeM
https://martinfowler.com/articles/microservices.html
https://martinfowler.com/microservices/
First of all you have to ask yourself what your service will do. That will drive the architecture. Your question is like asking 'hey I wanna build an app, how should I architecture it'. It all depends the constraints on your problem.
There are some books on the topic that might help.
https://www.amazon.com/Building-Microservices-Designing-Fine-Grained-Systems/dp/1491950358
Basically any SRE advice for a normal service but replace/compliment HAproxy / nginx / ingress controller / ELB with the Tor daemon / OnionBalance.
I run Ablative Hosting and we have a few people who value uptime over anonymity etc and so we follow the usual processes for keeping stuff online.
Have multiples of everything (especially stuff that doesn't keep state), ensure you have monitoring of everything from connections, memory pressure, open files, free RAM etc etc.
Just think of the Tor daemon onion service as just a TCP reverse proxy, with load-balancing capability and then follow any other advice when it comes to building reliable infrastructure;
Once you've got to grips with running a reliable service then you can start layering your Onion reverse proxy / load balancing on top.
All of this aside, check /u/alecmuffett's "Onions that don't suck" repo for examples that are both well setup and stable.
TL;DR; Tor is just a TCP reverse proxy with load balancer capabilities go learn some DevOps dodads
Edit: As per Alec's comment - clarify that Tor is technically a reverse proxy with load-balancing capabilities rather than a straight up TCP load balancer.
I've posted this before but I'll repost it here:
Now in terms of the question that you ask in the title - this is what I recommend:
Job Interview Prep
Junior Software Engineer Reading List
Read This First
Fundementals
Understanding Professional Software Environments
Mentality
History
Mid Level Software Engineer Reading List
Read This First
Fundementals
Software Design
Software Engineering Skill Sets
Databases
User Experience
Mentality
History
Specialist Skills
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
I agree with OP. If you are looking for a good architecture book(s), beside fowlers, I've enjoyed
designing data intensive applications by M. Kleppmann https://dataintensive.net/
I really can't praise Kleppman's book enough.
Just in general, or on a specific topic?
Books I'm reading right now:
This is as good a place to start as any. https://www.youtube.com/watch?v=wgdBVIX9ifA
This video was helpful too: https://www.youtube.com/watch?v=e0E6po7tG-8&t=533s
This book is pretty good https://www.amazon.ca/Building-Microservices-Designing-Fine-Grained-Systems/dp/1491950358/ref=sr_1_1?ie=UTF8&qid=1549050596&sr=8-1&keywords=microservices (updated version coming out in august)
Thanks for your advice. The O'reilly book you mentioned is this one? (Building-Microservices-Sam-Newman). And could you send me some material that you like please? (blog posts included).
I enjoyed building micro services very much.
My other advice would be start building a rest api, figure it out how can you recycle services for multiple sites and what not. As with anything software: Practice makes master.
Two books that will serve you well
It is basically SOA done right as @theplannacleman had mentioned in the comments
As a primer read Martin Fowlers and Chris Richardsons articles in the sites mentioned below as well as Susans Fowlers post on the layers of microservice architecture here
I read Building Microservices by Sam Newman recently. I think it's primarily targetted for people already working in the industry wondering "what the heck is this microservice thing everyone's talking about and how can I go about migrating a monolith-style application to a microservice architecture?"
It approaches the topic in a very pragmatic and practical approach by focusing on avoiding common pitfalls when creating a microservice based application, which I found made it very easy to read and relate to real life situations I encountered in the past.
I don't how suitable it is for a student with little/no work experience, but anyone already familiar with monolithic applications can pick up this book and rake something from it.
I'm reading this right now, it's highly recommended.
Building Microservices: Designing Fine-Grained Systems https://www.amazon.com/dp/1491950358/ref=cm_sw_r_cp_apa_i_.TcmDbE37JJPK
What field do you want to specialize in? Embedded? Web? Mobile?
The best way to learn is by practicing, but if you want more of an abstract, design level read, there are lots of options.
I'm have a web background, so here's three that I've read recently as examples.
I enjoyed this book on microservice design and I think everyone who uses OOP should at least familiarize themselves with the common OOP design patterns.
If you are into JavaScript, Eloquent JavaScript is my go-to for a good mix of summary/detail of the language. It's well written, and comes with fun exercises at the end of each chapter to help solidify your understanding of each concept.
I'm sure there are other great books, but these are some of my favorites so far.
I talk about services and microservices