On Premise Event Sense Cloud Respond

On-premises event processing with Cloud-based response.

Pattern Definition

ProblemHow do I use Cloud resources to respond to when on-premises event processing determines a need to respond?
ContextThis pattern is applicable when there is a desire to use Cloud-based applications to respond to events that are processed on premises. While it is possible to have a point-to-point connection to a single Cloud-based application (SaaS or an application deployed to PaaS or IaaS) for response, sending the event to a PaaS 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 already exists.
  • Majority of events are generated on premises
  • The number of incoming events is significantly greater that the number of responses required.
  • Cloud-based applications (e.g. SaaS) are required to respond to the events.
SolutionThis pattern employs an Stream Processing Platform only on premises. 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 SaaS. PaaS or application running on IaaS.
ConsequencesPros:
  • Provides the quickest way to add Cloud-based responses to existing event processing capability.
  • Only one Stream Processing Platform to manage.
  • Leverages existing on-premises Event Processing Platform.
Cons:
  • Not a good solution if the large majority of events are generated in the Cloud.
  • Not a good solution if incoming events generate nearly as many needs to respond.

Interaction Views

On-Premise Stream


On-Premise Stream

Event processing on premises using stream processing platform with response in the Cloud. 

Interactions

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

Notes

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