Being able to run about four-to-six times the number of server application instances in comparison to traditional VMs on the same hardware is one of the reasons why the adoption rate of Docker containers has skyrocketed. The advantage of containers in packaging applications, dependencies, and configurations not only allows portable and flexible packaged applications that are fast and easy to deploy, update, and scale, but can also help cloud and database service providers cut down costs by providing higher infrastructure utilization. Without the overhead of an additional OS, or the abstraction of a hypervisor, containers are able to be more densely placed on server resources, leading to higher resource utilization and greater efficiency.
One limitation of using containers is that their associated volumes, housing the application data, exist for only as long as the containers do. This makes containers lose their value for applications that require data-retention, such as a database application. Flocker, an open-source container data volume-manager from ClusterHQ, tries to fill that gap by allowing a Flocker data volume, called a dataset, to be used with any container in the cluster. Unlike Docker volumes which are tied to a single server, Flocker datasets are portable, and can be easily moved between nodes in a cluster. You can learn more about Flocker and how you can get started on the ClusterHQ website.
With containers quickly evolving into a new application deployment paradigm, it makes perfect sense to leverage their benefits with OpenStack. NetApp’s OpenStack journey begins with connecting the legendary NetApp experience to cloud storage through openness, community engagement, and absolute customer focus. NetApp brings proven enterprise-level storage solutions to OpenStack by providing improved performance, efficiency, and data protection and recovery – thus making deployments of cloud services simpler, faster, and more scalable.
Flocker provides support for multiple storage back-ends using plugins, including a driver for Cinder, the block storage provisioning and management framework for OpenStack. This backend driver can be used with the Flocker dataset agent nodes, deployed as virtual machines by OpenStack Nova. After installing the Flocker service on your control host and your nodes, you will need to create a configuration file on the nodes at
/etc/flocker/agent.yml to start the Flocker agent and ensure it can take advantage of the Cinder integration. The configuration file must include
control-service items. You may refer to the Flocker documentation for the contents of those blocks. When configuring the Cinder driver, the
dataset block, which houses the configuration parameters for the dataset backend, must be configured for your environment. It’s also important to note that all the nodes must be configured to use the same dataset backend.
You can learn more about the configuration file on ClusterHQ website, but here’s a sample of the
dataset block in your
agent.yml which uses the Cinder integration:
dataset: backend: openstack auth_plugin: password auth_url: <horizon auth url> region: <region name> tenant_name: <tenant> username: <tenant user> password: <password>
You can see a demonstration of Flocker being used in conjunction with NetApp’s Unified Cinder driver to manage container volumes in an OpenStack environment here:
Using Flocker with NetApp’s Cinder driver for OpenStack makes all our enterprise-level benefits available to you, thus bringing the NetApp efficiency, security, and flexibility to various operational tasks:
- Move databases to a different virtual machine, or bare metal
- Minimal downtime while upgrading server hardware
- Manually failover containers to a new machine, reattaching existing data volumes with no data loss
- Speed up time-to-recovery by attaching a new database container to an existing data volume
- Run containers on bare metal but with the manageability of VMs
- Migrate databases from spinning disk to SSD (currently experimental)
NetApp believes that containers will drastically alter the way that applications are deployed, providing a simplified, scalable, and efficient manner in which to distribute and instantiate applications on demand. Empowering the community by combining Docker, Flocker, and the NetApp storage portfolio, including clustered Data ONTAP and the E-Series platform, means that our customers have a choice of storage which meets the needs of their application, and the business, while providing enterprise class reliability, availability, and serviceability.
If you’re interested in learning more about using Docker, Flocker, or other container technology with NetApp storage, please reach out to Brendan.Wolfe@netapp.com. We’d love to hear how you plan on using Flocker with containers, and how NetApp can evolve and be a better companion to help you go further, faster.