Posts

Enabling Communication Between Microservices: Why You Need Messaging

Deploying microservices in a distributed environment can present a number of challenges, chief among them being the challenge of getting chatty microservices to communicate effectively. The more you scale your system (load and connections) within and across different environments, the harder this challenge can get, especially if you’ve started with a REST-based communication pattern. Using messaging to enable communication between microservices, however, can help you overcome these challenges and provide several key benefits.

The 5 key benefits of messaging when deploying microservices:

  1. Simple, scalable connectivity
  2. Simple, high availability
  3. Simple producer/consumer scalability
  4. The enablement of publish/subscribe, message filtering, routing and fanout
  5. Message rate and consumer availability decoupling

You may be wondering how REST/HTTP-based communication stacks up against messaging in enabling these benefits. In short, REST is an alternative to messaging and can deliver benefits 1-3 (above), but it doesn’t enable benefits 4 and 5.

Let’s take up each benefit in turn, and we’ll cover the REST vs.… Read the rest

Message Exchange Patterns for Event-Driven Microservices

Whether organizations turn to microservices to solve issues with existing applications or build greenfield applications, creating applications that consist of many single purpose microservices introduces the need for those individual services to interact in real-time to provide value to the end user.

Today REST is most commonly used for these interactions, and it works fine for some situations, but as discussed in my previous blog post there are many advantages to using messaging instead, not the least of which is the ability to use a wide range of synchronous and asynchronous message exchange patterns.

Note: I explored this topic on a deeper level in my latest guide:

These patterns, such as publish/subscribe, request/reply, one-way notification and multi-request/single-response have been a staple of enterprise architecture for many years, and they are ideal for microservices since they are inherently distributed. To prove this point, lets look at  problem.

A Real-World Example: Meet Sol-Beer

The problem I have chosen to solve is near and dear to my heart (as I hope it is to yours!).… Read the rest

Webinar Recap: Microservices in Practice

Microservices are extremely popular these days, and for good reason. They provide a blueprint that make it easier to create robust and scalable applications. During a webinar called “Microservices in Practice” (which you can watch here), Jonathan Schabowsky of Solace’s office of the CTO demonstrated how important the right choice of communications between services really is.

As you might expect, REST was the opening topic. But REST has some limitations that any architecture needs to consider. Jonathan described the challenges in interaction cardinality of synchronous and asynchronous, and how the wrong choice can lead to tightly coupled architecture. During the talk, a poll of the viewers found that 71% felt that asynchronous delivery is very important.

Jonathan then highlighted a few desirable characteristics for microservices: scaling, fault tolerance, performance, management and security. Using personal experience, he guided participants through the role each of these items plays and how to achieve them.… Read the rest

Solace Says: Enabling Event-Driven Microservices

In this edition of Solace Says, I interviewed Jonathan Schabowsky of Solace’s office of the CTO, who recently wrote a blog post about event-driven microservices that’s turned out to be quite popular. In that post, and this video, Jonathan describes the characteristics most microservices share, what they’re commonly used for, and how they share information with REST and/or messaging technology.

REST vs Messaging for Microservices – Which One is Best?

Microservices are extremely popular these days, and for good reason. They provide a blueprint that makes it easier for developers to repeatedly create robust and scalable applications. While there is no official industry-adopted definition of microservices, there are some generally accepted attributes that make up a microservice:

  • Small and single in purpose
  • Communicate via technology agnostic protocols
  • Support continuous integration
  • Independently deployable.

Many of these attributes are interrelated – since services are to be small and single in purpose, they must communicate with each other to provide real business value, and to be independently deployable they need to be small and single in purpose. While each of these are vital attributes, the ability to communicate without being tightly coupled to one another is a critical aspect of microservices architecture.

Note: For a deeper read you can take offline, get our latest paper on event-driven microservices:

Smart Endpoints and Dumb Pipes

Well-known author and developer Martin Fowler advocates what he calls “smart endpoints and dumb pipes” for microservices communication.… Read the rest

“Industry 4.0” is Driving Event-Driven Architecture to the Forefront of Modernization in Europe

The term “industry 4.0” originates from a German government initiative focused integrating the manufacturing industry with internet technologies.

The initiative aims to accelerate the integration of next-generation technologies like big data, cloud, high-performance computing and the Internet of Things with advancements in areas like artificial intelligence, autonomous systems, and 3D printing. It aims to achieve this goal by fostering public-private partnerships, encouraging interoperability standards, and reducing or removing outdated regulatory restrictions.

The concept of this “digital transformation” of manufacturing has spread to include many industries such as logistics and transportation, oil and gas exploration, building maintenance, utilities, traffic management and even healthcare. The concept has caught on in a big way, as shown by this map that highlights a number of industry 4.0 initiatives, some of which refer to the trend as “Smart Industry.”

Whatever it’s called, the effects will be far ranging on both businesses and consumers as companies modernize through embracing these transformational technologies.… Read the rest

Gartner Cranks up the Hype (Cycles)

Once a year, industry analyst firm Gartner publishes wide sweeping set of reports they call Hype Cycles. Each one of these reports takes a typical area of IT investment, for example Big Data, and provides commentary on that topic, as well as the various technologies, IT methodologies and management disciplines that comprise that topic. Hype Cycles highlight overhyped areas and estimate how long technologies and trends will take to reach maturity. The “hype” in hype cycle largely refers to the media’s short attention span – the majority of IT press is focused on new and emerging technologies  while tried and true technologies are deemed passé (as a news story). It’s the same reason that Justin Bieber gets more headlines than Neil Diamond.

In this year’s edition of these reports, Solace is listed as a sample vendor for two important technology trends:

  • Event-driven architecture – Event-driven architecture (EDA) is a design paradigm in which a software component executes in response to receiving one or more event notifications.
Read the rest

Events

Nothing Found

Sorry, no posts matched your criteria