Cloud Event Sense On-Premise Respond

Cloud-based event processing with on-premises response.

Pattern Definition

ProblemHow do I use Cloud resources to process incoming events, sense a need to respond, and respond via on-premises systems?
ContextThis pattern is applicable when there is a desire to leverage Cloud computing to process high volume events while responding to the events with on-premises systems. While it is possible to have a point-to-point connection to a single on-premises application for response, an on-premises Application Integration Platform or Messaging Platform provides a more flexible response capability.
Forces
  • Devices and event generators may be on premises or Cloud based.
  • Near real time response desired for incoming events.
  • An on-premises Stream Processing Platform is not desirable.
  • The number of incoming events is significantly greater that the number of responses required.
  • Event response capability is difficult to move to the Cloud.
  • On-premises Application Integration Platform or Messaging Platform exists.
SolutionThis pattern employs an Stream Processing Platform only in the Cloud. The Stream Processing Platform receives incoming events and then filters, aggregates, correlates and enhances the events to determine when a response is required. If a response is required, a message is sent to an on-premises application, Application Integration Platform or Messaging Platform. The response could be automated or could require human action.
ConsequencesPros:
  • Provides the quickest way to add event processing capability.
  • Only one Stream Processing Platform to manage.
  • Leverages existing on-premises response capability.
Cons:
  • Not a good solution if the large majority of events are generated on-premises.
  • Not a good solution if incoming events generate nearly as many needs to respond.

Interaction Views


Cloud Stream

Events from devices processed in the Cloud with response on premises. 

Interactions

  1. Cloud-based event generators send events to the stream processing platform. An adapter is used to accept incoming events.
  2. On-premises event generators send events to the stream processing platform.
  3. The stream processing platform filters, correlates, aggregates, and enhances the events and creates outgoing events which are sent on premises to be handled.

Notes

  1. The outbound event from the stream processing platform could be sent directly to an on-premises application or systems, however, sending the event to the application integration platform or something similar allows for a more flexible event response.
  2. In order for the stream processing platform to call the on-premises Event Response, some mechanism it will be necessary to allow incoming messages, .e.g., open a port in the on-premises firewall, gateway.