Cloud Event Sense Cloud Respond

Cloud–based processing of events with Cloud-based response.

Pattern Definition

ProblemHow do I use Cloud resources to process incoming events, sense a need to respond, and then respond?
ContextThis pattern is applicable when there is a desire to leverage Cloud computing to process high volume events and respond to the events with Cloud-based systems.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 is not desirable.
  • Event response capability is available in the Cloud.
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 SaaS, PaaS, or application running on IaaS. 
ConsequencesPros:
  • Provides the quickest way to add event processing capability.
  • Only one Stream Processing Platform to manage.
  • Leverages Cloud-based response capability.
Cons:
  • Not a good solution if the large majority of events are generated on-premises.

Interaction Views


Cloud Stream

Events from event generators processed in the Cloud with response in the Cloud. 

Interactions

  1. Cloud-based event generators send events to the streaming processing platform.
  2. On-premises event generators send events to the streaming processing platform
  3. The streaming processing platform filters, correlates, aggregates, and enhances the events and creates outgoing events which are sent are sent to SaaS, PaaS, or an application running on IaaS to be handled.

Notes

  1. The outbound event from the
    streaming processing platform could be sent directly to a Cloud-based application (SaaS or an application hosted on PaaS or IaaS), however, sending the event to a PaaS platform allows for a more flexible event response.