At a recent meetup about microservices the speaker told us that he would not be talking about the technical implementation details of a microservices architecture. At first I was a little bit disappointed because hey, I like technical implementation details. After a while it started to make sense though. A microservices architecture should really be tailor-made to fit with your organisation and technology landscape. As such, any implementation details he would have given us would likely be of little immediate use and only lead to debate. So how then can we talk about microservices implementations? To approach this question, I think it's helpful to zoom out a little bit and get a high-level overview of what a microservices architecture actually encompasses.

While reading up on microservices I was struck by the breadth of the subject. What seems like a simple premise - small autonomous services that work together - actually requires a lot of thought and consideration in a multitude of (non-technical) areas. I have tried to capture my research in a mind map (right-click to download a high-res version):

As you can see, the mind map is quite elaborate and spans a wide variety of topics. A lot of the content is based on the excellent book building microservices by Sam Newman, which I wholeheartedly recommend. It will further clarify a lot of the concepts that have been reduced to a single keyword in the mindmap. Of course I've also gathered a lot of information from the vast number of online blogs and articles about microservices. I did try to look for common microservices concepts and patterns before including them in the mindmap.

Some of the keywords and concepts are broad topics in their own right. However they all have a strong relation with the microservices architectural style. I encourage you to read up on those that you may be less familiar with. Usually a simple google search that combines microservices with a specific mind map keyword will provide you with the necessary links for further investigation.

From this broad picture we can now zoom back in on the details. I would advise you to use this mind map sort of like a checklist or road-map while building out a microservices architecture. It might help to prevent a narrow technical-only focus. Try to review every category and keyword in the mind map and ask yourself (or your team) if it applies to your particular situation and how you intend to deal with it (or not) on your way towards microservices.