Placement Control Middleware

Registered by David Hadas

Building on the Swift container-sync ability, this work automates the container creating and configuration across multiple clusters and opens the door for a placement engine in Swift.

A placement engine can decide for each request where from a set of clusters the request should be served (its implementation is suggested to be outside of the scope of Swift).

The Placement Middleware would act based on such decision by:
GET/HEAD
    * Redirecting the client for calls that should be served elsewhere
    * serving from local store for that can be served locally
PUT/POST/DELETE to containers/accounts
    * Propagating the requests to peer clusters.
PUT/POST/DELETE to objects
    * Serve locally (relying on container sync to do the rest).

This work can be implemented as a Middleware.

It is one step in a long road map if we are to allow people to use multiple clusters in the future and to control the placement.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
David Hadas
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.