Managed traffic processing for applications with multiple constituent services
AssigneeAmazon Technologies, Inc.
InventorsJoseph Elmar Magerramov, Shubha Shree Bheemarao, Kiran K Meduri
Life of this patent
Estimating the term…
Abstract
A determination is made that messages from a first constituent service of an application are to be processed at a second constituent service. Networking configuration settings are generated such that a message originating at the first constituent service is directed to a traffic processing agent established by a traffic management service. In response to a receipt of a message from the first constituent service at the agent, one or more packets are delivered to the second constituent service.
Claims20
A system, comprising:
- one or more computing devices;
- wherein the one or more computing devices include instructions that upon execution on or across one or more processors cause the one or more computing devices to:
- obtain, via one or more programmatic interfaces, an indication from a client of a traffic management service that (a) a first constituent service of a distributed application is implemented at least in part using a first resource at a first isolated network, (b) a second constituent service of the distributed application is implemented at least in part using a second resource at a second isolated network that is isolated from the first isolated network and (c) the client has opted in to the use of the traffic management service as an intermediary for traffic flowing between at least the first and second constituent services;
- obtain, via the one or more programmatic interfaces, (a) a connectivity descriptor of the distributed application at the traffic management service, indicating that at least some requests originating at the first constituent service are to be processed at the second constituent service and (b) a traffic processing descriptor of the distributed application, indicating one or more tasks to be performed with respect to the requests, including at least a tracing task;
- identify, at the traffic management service, at least a first hidden multi-tenant traffic processing agent of a fleet of agents of the traffic management service to be used as an intermediary to route traffic from one of the first and second constituent services to another one of the two constituent services;
- cause, by the traffic management service, one or more networking configuration settings associated with the first resource to be set such that a request generated at the first resource at the first isolated network and targeted at the second constituent service at the second isolated network is instead directed to the first hidden multi-tenant traffic processing agent rather than the second constituent service, without providing an indication of the first hidden multi-tenant traffic processing agent to the client;
- cause, by the first hidden multi-tenant traffic processing agent, in response to receiving a particular request generated at the first resource, one or more trace messages to be stored in accordance with the traffic processing descriptor;
- cause, by the first hidden multi-tenant traffic processing agent, one or more packets corresponding to the particular request to be delivered to the second resource, wherein the one or more packets are delivered without requiring the client to configure a network route between the first and second isolated networks.
A method, comprising:
- performing, at one or more computing devices:
- obtaining, via one or more programmatic interfaces, an indication that at least some requests originating at a first constituent service of a first application are to be processed at a second constituent service of the first application, wherein the first constituent service is implemented at least in part at a first resource in a first network, and wherein the second constituent service is implemented at least in part at a second resource in a second network isolated from the first network;
- identifying at least a first hidden traffic processing agent of a traffic management service to be used as an intermediary to route network traffic flowing from one of the first and second constituent services to another one of the two constituent services;
- storing one or more networking configuration settings associated with the first resource, such that a request generated at the first resource at the first network and targeted at the second constituent service at the second network is instead directed to the first hidden traffic processing rather than the second constituent service;
- and
- causing, by the first hidden traffic processing agent, one or more packets corresponding to a particular request generated at the first resource to be delivered to the second resource.
One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause one or more computer systems to:
- determine that one or more messages originating at a first constituent service of a first application are to be processed at a second constituent service of the first application, wherein the first constituent service is implemented at least in part at a first resource in a first network, and wherein the second constituent service is implemented at least in part at a second resource in a second network isolated from the first network;
- generate one or more networking configuration settings associated with the first resource, such that a message originating at the first resource at the first network and targeted at the second constituent service at the second network is instead directed to, rather than the second constituent service, a traffic processing agent established by a traffic management service that is used as an intermediary to route traffic from one of the first and second constituent services to another one of the two constituent services;
- and
- cause, in response to a receipt of a first message at the traffic processing agent from the first resource, one or more packets corresponding to the first message to be delivered to the second resource.
Dependencies are inferred from the claim text.