When it first appeared, Flocker aimed to solve a long-standing problem with Docker: How to manage the storage used by containers along with containers themselves?
ClusterHQ, maker of Flocker, is now attempting to solve another problem: How to make Flocker leverage features from specific storage vendors -- and more closely integrate that work into Flocker.
Flocker originally supported a few major commodity back ends, like Amazon EBS and EMC's ScaleIO, via a mechanism that could -- in theory -- be leveraged by anyone willing to write a back-end driver.
Since then several storage vendors -- Hedvig, NetApp (via its OnTap product), Huawei, and Nexenta -- have all committed to releasing storage drivers for Flocker by year end. (Two other vendors, Saratoga Speed and ConvergeIO, already have Flocker drivers available.)
ClusterHQ's VP of marketing, Michael Ferranti, explains the advantages of vendor-specific storage support. "If a Docker user picks [for example] Hedvig as their storage back end, they can use Flocker to create and migrate the data volume between hosts, while the Hedvig storage itself provides the additional storage functionality, [namely] deduplication, compression, and tunable replication."
Another possible advantage would be if Flocker (and Docker) was to support the kind of zero-downtime migration that users of VMware vMotion have long enjoyed.
Beyond all this lies yet another big goal: syncing Flocker's work with Docker's still-evolving native ways of handling storage.
Right now Flocker can work on its own to manage Docker volumes -- but as a standalone product and not as part of the Docker toolset. To remedy that, Flocker has an experimental Docker plug-in that allows Flocker to work more closely with Docker via Docker's volume API.
That API is still in development, but a touted advantage of working with it would be to manage Flocker by way of Docker's toolset -- e.g., Swarm and Compose -- which falls in line with Docker's vision of a broad-range stack controlled by one consistent toolset.
That said, Flocker is wise to continue offering its own standalone tools until achieving integration with Docker is no longer a moving target.