Persistently Flocking to Containers with Kaminario K2 All-flash Storage

Kaminario continues to evolve its application-focused data services with the release of a Flocker plug-in  in partnership with ClusterHQ. Flocker, for those of you who don’t know, is an open-source data volume manager for Dockerized applications. The Kaminario Flocker plugin allows customers to run and manage their containerized Docker environments on Kaminario’s K2 all-flash storage thus leveraging the inherent performance, efficiency, scale and availability benefits of K2. Before diving into the details of the plugin, a brief flashback on how (and why) we got here –

Driving the need for persistent storage

Last week we posted a blog on the importance of applications that make our lives easier and what they share in common. This week we explore the path to developing these applications in the most efficient manner. It’s no secret that enterprises are flocking to the idea of crafting agile approaches to software development. This is driven largely by these three necessities –

  1. Applications have to be delivered to the market at a sustainably fast and unvarying pace to stay competitive and at times, even relevant
  2. Consumption models have evolved leading to broader set of distribution channels
  3. Digital disruption is forcing enterprises to diversify their application portfolio and offer new sources of revenue

One such agile software development approach has been the use of containers to simplify the packaging and deployment of uniform applications. Containers solve many problems by encapsulating an entire runtime environment that can be moved between computing environments. The open-source project, Docker, has helped popularize the use of this technology that automates the deployment of Linux applications inside software containers. Initially and by definition, containers like Docker were built to be stateless. In other words, when you move a container between systems, it loses access to the underlying source system data. If you are a developer building and running applications dependent on stateful services like databases (which is pretty much everyone), this isn’t cool! Here’s where the folks at ClusterHQ come in – as I said at the beginning of the post, ClusterHQ has developed an open-source container data volume manager for Dockerized applications called Flocker. Flocker provides the ability for the source data volume to move with the container providing flexibility to stateful database applications.

TraditionalvsFlocker
Native Docker vs. Using Flocker Image credit : ClusterHQ

The K2 Flocker plugin makes shared storage for containers possible

This is where Kaminario comes in. Kaminario’s K2 all-flash platform plays a key part in enabling the on-demand application development world for our customers. K2 is a cost-effective storage platform which has true scale on-demand capabilities where flash performance and capacity can be scaled independently of each other. This agility is what makes K2 an ideal persistent storage solution for Dockerized applications enabled by Flocker.

The Flocker cluster is composed of the following set of services –

  1. The Flocker control service that exposes the REST API for management of the cluster configuration
  2. Flocker agents that are installed on each node in the cluster
  3. The Flocker plugin for Docker and the ability to use Docker Swarm, Mesos or other management tools to manage your containers

The Kaminario Flocker plugin allows data volumes contained on a K2 to map to every node in the cluster thus enabling high availability across the cluster, with management over the RESTful API.

K2FlockerPluginArch
Flocker Architecture with K2 Backend Shared Storage

Let’s go through an example

Illustrating this with a simple example –  creating a Docker container based on a MongoDB image running on a K2 storage volume using Flocker

<[root@flocker-node01 ~]# docker run –name some-mongo

–volume-driver flocker

-v mongo-01:/data/db

-d mongo…>

The red parameter sets up Docker to use Flocker as the volume driver and the blue parameter provides the K2 storage volume a name (mongo-01) besides mapping it to the data inside the container.

Manage through the CLI or the GUI

ClusterVolumeHubOther critical functions such as discovery, provisioning, de-provisioning, etc. are also enabled by the plugin to take advantage of the K2 shared scale-out architecture. Additionally, customers also have the option of using ClusterHQ’s monitoring GUI called VolumeHub to monitor the cluster and its attached volumes.

 

Kaminario’s continued investment in Open Source integration points is a testament to both the growing needs of the software development community and the demands of modern on-demand applications.  Agility, speed, availability and cost-efficiency are some of the key drivers for not only the move to embracing container management technologies but also primary drivers for customers moving to Kaminario’s K2 all-flash storage.

Bottom line

Kaminario’s Flocker plugin provides all-flash persistent storage for Dockerized applications that can leverage the intelligent features of the K2 array such as – global data reduction, global meta data management, highly resilient architecture and a flexible scale-up and –out platform.

This and so much more at VMworld 2016

I will be discussing containers and modern storage strategies for on-demand applications with Eric Burgener from IDC at VMworld 2016 session this week. Come meet us and get insights on how this industry is shaping up and how you can evolve your own storage architectures to stay ahead of the curve.

Can’t make the session? Drop by our booth (#1765) to learn how Kaminario is helping businesses optimize their data center and creating new revenue streams with the most cost-efficient all-flash platform on the planet. Oh, I almost forgot – win some uber-cool prizes while you’re at it. It’s simple,  play the game and tell us what you hate about the current storage buying process. J

New Call-to-action