CPC G06F 9/4881 (2013.01) [G06F 9/542 (2013.01); H04L 67/10 (2013.01); H04L 67/306 (2013.01)] | 21 Claims |
1. A method comprising:
receiving, by a service layer of a Functions-as-a-Service (FaaS) infrastructure in a first computing cloud, information pertaining to a plurality of event sources running in a plurality of second computing clouds distinct from the first computing cloud, the information including, for each event source, account credentials for connecting to the event source and a list of event types emitted by the event source;
instantiating, by the service layer based on the received information, a plurality of event proxies in the FaaS infrastructure corresponding to the plurality of event sources, wherein the plurality of event proxies are long-lived software processes that are communicatively coupled with an event bus of the FaaS infrastructure and wherein the instantiating includes, for each event proxy:
connecting the event proxy to its respective event source using the respective event source's account credentials;
subscribing the event proxy to inbound events from the respective event source that are of a type in the respective event source's list of event types; and
subscribing the event proxy to outbound events from the FaaS infrastructure that are destined for the respective event source; and
at a time a function of the FaaS infrastructure generates an outbound event destined for a first event source in the plurality of event sources:
retrieving, by a first event proxy in the plurality of event proxies that corresponds to the first event source, the outbound event from an outbound queue of the event bus;
translating, by the first event proxy, the outbound event into a format understood by the first event source; and
transmitting, by the first event proxy, the translated outbound event to the first event source in its respective second computing cloud.
|