It’s a great pleasure to announce the public availability of the book, ‘Microservices for Enterprise’ which I co-authored with Prabath.
Why “Microservices for Enterprise”?
This is the second book that I’ve published and the very first book that is written on a generic and broad topic such as Microservices (my first book was on a WSO2 specific technology, WSO2 ESB).
So, first of all, why we have thought of writing a book on Microservice architecture? Microservice architecture is probably the most widely discussed and adopted architecture pattern in the crowded fields of modern software architecture. With the rise of cloud-native architecture, software applications are no longer built as monolithic applications, rather as a collection of microservices or serverless functions, leveraging technologies such as Docker and Kubernetes.
So, almost all the enterprises are either practicing or trying to adopt microservices architecture. While it is easier for a small green field startup to realize microservice architecture, introducing and practicing microservice in a real-world enterprise is a daunting task.
The book “Microservices for Enterprise”, provides a comprehensive understanding of microservices architectural principles and how to use microservices in real-world scenarios.
The main objective of this book is to discuss the key challenges and solutions around building microservices in the enterprise application environment. This book provides a comprehensive understanding of microservices architectural principles and how to use microservices in real-world scenarios, in a technology and vendor agnostic way.
The Inception of “Microservices for Enterprise”
I have been working on the Enterprise Integration domain(as an integration lead and an architect of WSO2 ESB)for nearly a decade or so. I started looking more seriously at microservices architecture back in 2015. It’s mainly because it has a lot of promises on the elimination of centralized ESB which was the foundation of Enterprise Integration at that time(and still plays a dominant role in that domain). However, I found that most of the resources that we had on microservice architecture were only focusing on the theoretical aspects but not on the pragmatic usage of it.
I tried to address these concerns with a detailed blog, which was written in 2015 on various aspect of microservices architecture. The feedback was overwhelming and the content of the same blog post has been used to recreate various white papers and other articles. In fact, it is still the most popular DZone article in the DZone microservices zone.
Since then I have been continuously learning and practicing the architectural and technology aspects of microservices. I’ve also started a new publication on medium dedicated to microservices, in which I talked about various emerging architectural concepts in microservices (At the time when people were fiddling to understand service mesh, I also did a detail blog post on the service mesh and the pragmatic application of it, which also got great community feedback.
And we have been continuously working with the SF Bay area microservices communities, and we got a great opportunity to share the knowledge and experience.
One of the Microservices aspects that were barely discussed in those days was Microservices Security. That’s when Prabath came up with this comprehensive guide on microservices security patterns and their application. I guess that’s still one of the most comprehensive resources on Microservices security.
So, with all these achievement and feedback, we thought of sharing our knowledge and experience through a new book on Microservice Architecture and its applications.
Obviously, we don’t want to write ‘yet another book’ on microservices. So, even before start writing the book we have identified some key differentiators for the book.
Vendor and Technology Neutral
It’s sad that most of the microservices books out there are heavily trying to promote technologies or vendors backing them. In fact, some of them have solely written to promote the technology that they work on.
All the content of the book is 100% vendor and technology neutral. You will learn most of the open technologies related to microservice design and implementation.
We have taken an opinionated approach of not being based on any technology or vendor. All the content of the book is 100% vendor and technology neutral. This means that this book is not about building microservices with a selected technology such as Spring Boot. Rather we empower the reader with the knowledge of most of the popular open source technologies and let the reader decide on what to use.
What we have presented in the book is a vendor-neutral approach for selecting the best of breed technologies to realize microservices architecture. We have provided guidance on understanding the technology space but let the readers select the technology they prefer.
Fundamentals explained with real-world use cases
There are a lot of resources out there to learn microservices fundamentals but they hardly describe how to use those concepts in practice. (For example, they talk a lot about the elimination of central Enterprise Service Bus(ESB), but doesn’t really explain how ).
The book “Microservices for Enterprise”, fosters mastering microservices architecture from design to development, deployment, and administration through real-world use cases.
We have covered all of the fundamental concepts of Microservices architecture with the use of real-world use cases. Also whenever required we have included sample code for each such use case for you to try them out.
State of the Art Technologies
Microservices landscape is constantly changing. This means that the architecture and technologies that you use to build your business use cases have to be future proof. This book covers all the latest technologies and architectural patterns which are used in modern microservices implementations.
REST, gRPC, Kafka, AMQP
GraphQL, OpenAPI, ProtoBuf, Avro
Docker, Kubernetes, Helm, Metaparticle
Choreography and Reactive Composition
Event-driven microservices, CQRS, Event Souring
Spring Boot, Vert.x, Camel, Ballerina, Akka
Service Mesh, Istio, Envoy, Linkerd
API Management, API Gateway and Governance
Event and Stream Processing
OAuth2, OpenID Connect, JWT, Spiffe, XACML
Grafana, ELK, Prometheus, Jaeger, Zipkin Fluentd
We have also included patterns and technologies that are emerging and has the potential of dominating the space in the future.
Microservices messaging, integration, resiliency, elimination of ESB and Service Mesh
We put a lot of weight into inter-microservices communication which is a key challenge in building microservice architecture. We have several chapters focusing on this area and we have provided comprehensive guidelines on the topics such as eliminating centralized ESB, using inter-service communication resiliency, using Service Mesh in practice etc.
The book includes the proven and industry-accepted security patterns for securing your microservices architecture along with comprehensive samples on how to implement them. This could probably be the only microservices book that treats security as a first-class concept and cover it in detail.
Insights from San Francisco Bay Area Microservice communities
We got the opportunity to interact with a large community in the San Francisco Bay Area and share the knowledge on the bleeding edge technologies and architectural patterns. (Both Prabath and I are running two large meetup groups on Microservices and Identity & Access Management, in the Bay Are). So I guess that helps us to keep the content of the book up to date with the state of the art technologies and also to include microservices implementation challenges of large-scale enterprises.
Writing a book on such a broad and popular topic wasn’t an easy task. This book wouldn’t have been possible without my family. Without their dedication and help, I won’t be able to complete such an uphill task.
I should be grateful to Prabath, who is the co-author of this book. Prabath is one of my best mentors, colleague, and friend, who has encouraged me and guide me in writing books.
So, please share your thoughts. We would love to hear your feedback!