Microservices / Tools / Sponsored / Contributed

‘Microservices for the Enterprise’: A Book about Real-World Challenges

20 Jun 2019 3:00pm, by and

WSO2 sponsored this post.

Kasun Indrasiri
Kasun is the director of integration architecture at WSO2 and is an author/evangelist on Microservices Architecture and Enterprise Integration Architecture. He has authored Microservices for Enterprise and Beginning WSO2 ESB. He is an Apache committer and has worked as the product manager and an architect of WSO2 Enterprise Integrator/ESB. Kasun is also a speaker in O'Reilly Software Architecture Conference San Jose, GOTO Chicago 2019 and is a regular speaker at most WSO2 conferences and San Francisco Bay Area microservices meetups. Additionally, he has contributed to InfoQ and InfoWorld, as well as The New Stack. Among his accomplishments, Kasun has founded the Silicon Valley Microservice, APIs and Integration Meetup, a vendor-neutral microservices meetup in the Bay Area.

Microservice architecture is probably the most popular architecture pattern in the crowded fields of modern software architecture. So, almost all the enterprises are either practicing or trying to adopt a microservices architecture. While it is easier for a small greenfield startup to realize microservice architecture, introducing and practicing microservice in a real-world enterprise is a daunting task. There are few good books to learn microservices fundamentals but they hardly discuss the real challenges in realizing microservices for modern enterprises.

This is the exact reason why we decided to write a new book on microservices, appropriately entitled, “Microservices for the Enterprise.”

Among the topics covered, we discuss the key challenges and solutions around building microservices in the modern enterprise software applications in a vendor-neutral way. The microservice fundamentals are explained via use cases from the enterprise software architecture which can also try out by the readers by running hundreds of code samples.

Some of the key concepts that are related to building microservices for your enterprise include:

  • Integrating microservice and elimination of the central Enterprise Service Bus (ESB);
  • Selecting the best interservice communication technique for your service;
  • Deployment with Docker, Kubernetes and CI/CD tools;
  • The role of service mesh;
  • Embracing the cloud native ecosystems (CNCF projects);
  • Decentralized data management;
  • Security patterns for microservices;
  • API management and governance of microservices;
  • Co-existence and connectivity with existing monolithic systems.

Most of the existing books and other online resources just skim through these concepts without ever delving deep into them from an enterprise software application point of view. We put a lot of weight into these concepts in our book by, among other things, by dedicating entire chapters to cover real-world use cases.

For instance, there’s a lot of buzz around “eliminating ESB and building smart-endpoints and dumb pipes,” but hardly any proper guidelines on doing so exist. In our book, we dive into the enterprise use cases of integrating different applications, data and service and convert such use cases to microservices based use cases. As shown in Figure 1, the ESB was used as the centralized monolithic software application that connects everything which contains a significant amount of business logic. Also, it supported a wide variety of integration styles and communication protocols.

Enterprise Service Bus centrally integrates all the different services, systems, and data.

When you move into microservices architecture you have to eliminate this monolithic ESB layer but implement the same functionalities at each service level (Figure 2). Since microservice based application comprises of multiple autonomous but interconnected services, building the interaction between these services are quite critical. There is a lot of network-bound communication that the service developer has to take care of and also different communication styles, protocols, and patterns. So identifying different service types and selecting best of breed technologies for building them is quite important. We can further extend such use cases to support API Management, decentralized data management, enable security use cases and so on.

Microservice integration with active request-response communication and asynchronous event-driven communication.

Also, some of the complexities that we have to deal in such decentralized architectures were one of the key driving forces behind the inception of modern microservice architecture patterns such as service mesh. All such concepts are discussed in detail with dedicated chapters and use cases in the book.

Here are some of the key differentiator that we’ve thrived:

Prabath Siriwardena
Prabath is an identity evangelist, author, blogger and vice president of identity management and security at WSO2, with more than 11 years of industry experience in designing and building critical identity and access management (IAM) infrastructure for global enterprises, including many Fortune 100/500 companies. As a technology evangelist, Prabath has published five books and blogs on various topics from blockchain, PSD2, GDPR, IAM and microservices security. He is the founder of the Silicon Valley IAM User Group, which is the largest IAM meetup in the San Francisco Bay Area.
  • Concise, enterprise use case driven approach to explaining fundamentals;
  • Vendor-neutral and best-of-breed technologies for implementing microservices. (The book covers some of the widely used and bleeding edge technologies and patterns such as technologies for container-native deployment: Docker, Kubernetes, Helm, messaging standards and protocols: gRPC, HTTP2, Kafka, AMQP, OpenAPI, GraphQL etc., microservices integration and composition techniques, Service Mesh: Istio, Linkerd, microservice resilience patterns: circuit breaker, timeouts, bulkheads etc., security standards :OAuth 2, JWT, OpenID Connect, OPA, using APIs, Events and Streams with microservices and building observable microservices using logging, metrics and tracing.
  • State-of-the-art patterns and technologies such as service mesh, Istio;
  • Guidelines on the elimination of ESB and building smart endpoints which are connected with dumb pipes (A look at microservices from an Application Integration perspective);
  • Industry proved and battle-tested microservice patterns;
  • Dedicated chapters on Kubernetes and Service Mesh: Make Kubernetes the de-facto deployment choice and extend it further via Service Mesh;
  • Wide coverage of CNCF projects (Kubernetes, etcd, Prometheus, Fluentd, Envoy/Istio, gRPC, OpenTracing, Jaeger, Linkerd, Helm, Open Policy Agent) with hands-on use cases;
  • Insights from San Francisco Bay Area Microservice communities: Use cases explained in the book are inspired from the existing microservices implementations such as Netflix, Google and authors’ exposure to various meetups and conferences in the San Francisco Bay area.

We would like to invite all the microservices and cloud native enthusiasts to read the book and share the feedback. We would love to hear your feedback.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.