Federator - The Horizontal Storage Controller
Horizontal Storage Controller
Federator® is a control-path-only software-defined storage controller that simplifies and automates storage discovery, abstraction, delivery, monitoring, and optimizatioin.

Federator storage federation technology enables multiple pools from a heterogeneous physical storage environment to work together in an abstracted layer as virtual pools for data storage, access, migration, and management. Federator recognizes the built-in functionalities of underlying storage resources and uses them to define storage on demand, matching the requirements of end users or individual applications.

Traffic Modeling and Dynamic Offering
To guarantee quality of service (QoS), traditional storage hypervisors would sum up the peak values of IOPS requirement of individual workloads and consider that as the total IOPS to be provisioned for a storage pool. This approach leads to a substantial waste of system resources as workloads, when carefully planned in advance, rarely peak at the same time.
The above diagram illustrates three typical workloads (VDI, E-Commerce, and web server) and their IOPS consumption curves over the course of 24 hours. Notice that although their IOPS patterns are somewhat complementary, a static system has no knowledge of this information and would have to provision for the worst-case scenario (6,400 IOPS) to guarantee performance, as indicated by the yellow line.

If there were unlimited IT budgets, an enterprise could certainly deploy an all-solid-state storage infrastructure for its most I/O-demanding applications. Unfortunately, most corporations don't have that sort of luxury so some kind of storage-equivalent of statistical multiplexing is desperately needed. After all, flash is still nine times more expensive than spinning disks.

Federator’s dynamic offering allows a volume to be provisioned with a variable IOPS. Just the right amount of system resources (CPU, RAM, and Flash) will be allocated for a given pool to support the summation of the actual IOPS usage of each volume at any given point in time. The red zone in the diagram above shows the savings of IOPS that would be otherwise wasted.

Traffic patterns of each workload can be predefined by the storage administrator or dynamically determined and optimized by Federator’s built-in Traffic Modeling Module (TMM), or both. TMM employs advanced artificial neural network and fuzzy logic algorithms to provide the intelligence for both short-term (responsive) and long-term (predictive) storage resource management. This crucial knowledge of the network usage patterns can then be used by Federator to intelligently and dynamically allocate, or pre-allocate, needed storage resources to areas that need it the most in real time1.

Key Benefits
How it Works
When Federator is introduced into a storage environment, the system administrator needs to perform a few simple steps to include the desired storage arrays to be managed. The same routine has to be repeated every time when a new array is added to the network.
Federator automatically discovers supported storages on the network. Manual discovery is also supported.
Discovered storage resources and their associated features and characteristics are imported and abstracted into virtual storage pools.
Virtual storage pools are classified based on their capabilities and performance characteristics. Administrators can set an arbitrary cost value or any other custom tag for each storage pool.
Administrators create service catalogs with storage offerings based on different capabilities and performance levels such as size, IOPS, cost, and thin provisioning. For ease of use for the end users, administrators may choose to create a "menu" of pre-configured storage tiers for typical applications such as Oracle database, web server, or VDI.
Users can request for storage through a customized self-service portal such as OpenStack Dashboard. Applications can also request for storage directly through an HTTP REST API.
OpenStack Integration
Federator can be run in any cloud environment, and is already tightly integrated with OpenStack, the leading open-source cloud operating system. OpenStack users can access Federator directly from Horizon.
Federator features a comprehensive open RESTful API that allows software vendors to develop rich data service applications based on a flat storage infrastructure. Listed below are the supported classes:
  • Authentication
  • Sessions
  • Users
  • Tasks
  • Unmanaged
  • Orders
  • Offerings
  • Initiator Groups (igroups)
  • Initiators
  • Hypervisors
  • Hypervisor Portals
  • Hypervisor Adapters
  • Pools
  • Pool Profiles
  • Volume Groups (vgroups)
  • Volumes
  • Replications
  • Snapshots
  • Exports
  • Licenses
To show how easy it is for applications to programmatically request storage services, here is an example of a CURL command to request a clone based on an existing snapshot.
CURL Command
$ curl https://{root}/v2/volumes/ \
  -H "X-Auth-Token: fed_test_ed00058da30a048240f824" \
  -H "Content-Type: application/json" \
  -d '{
     "offering": 1,
     "capacity": 1099511627776,
     "alias": "MyVolume“,
     "from": "/v2/volumes/1/snapshots/2"
{   "id": 1,
    "uuid": "8b3d5c13-e858-4a21-9aa7-491770d40d3b",
    "vgroup": null,
    "alias": "MyVolume",
    "description": "",
    "capacity": 1099511627776,
    "state": "online",
    "type": "volume",
    "offering": 1,
    "pool": 1,
    "from": "/v2/volumes/1/snapshots/1",
    "snapshots": "/v2/volumes/1/snapshots/",
    "exports":  "/v2/volumes/1/exports/"
1This capability requires the integration with ProphetStor's storage hypervisor Flexvisor®.