Containers: Is It All About the Storage?

In a recent blog post, HPE claimed “The right persistent storage is key for running enterprise applications in containers”.  In other words, “it’s all about the storage”.

Nothing could be further from the truth. We agree that a good container-aware storage solution is important, but it only solves one of the challenges that face enterprises today.

Diamanti believes that the key for running enterprise applications in containers is a superior cluster system; a system consisting of compute, innovative storage and networking, all integrated through open standards. A system that doesn’t take a PhD in CompSci to stand up and perform day-to-day operations. This will give time back to DevOps engineers to focus on application releases and to implement DevOps practices instead of worry about the “plumbing” aspects of the container infrastructure.

A superior cluster architecture is no good if it’s not open: Integration with open source tools via open standards is important, allowing developers to use the tools they are familiar with, and with full support.

Storage solutions alone don’t solve some of the critical issues and questions that arise when enterprises approach Containers and Orchestration for the first time:

  • What Orchestration is right for us?
  • What Container runtime is right for us?
  • What is my network connectivity architecture?
  • What is the proper combination of runtime, orchestration tools, instrumentation/visualization that we need to manage and monitor the cluster?
  • How do we architect the cluster for availability?
  • How do we deploy clusters in a repeatable and supportable fashion?
  • How do we deploy upgrades to our software stack over time?
  • How do I solve for storage and network QOS, and node-by-node workload balancing?
  • How do I instrument and monitor individual workloads?

The Diamanti Approach

Diamanti solves the “Day One” challenges for enterprises new to containers by simplifying cluster deployment. Diamanti’s D10 Container Converged Infrastructure utilizes the industry leading container runtime Docker, orchestrated by Kubernetes, the leader in that space. Instead of architecting a Kubernetes cluster as an unique “snowflake” based on individual components, Diamanti nodes come pre-installed with a base of qualified software (standard unaltered versions of Linux OS, Docker runtime, and Kubernetes) combined with a Diamanti command line, WebUI and RESTful API. The Diamanti CLI is used to put a management IP on each host, and from there in just a few lines of CLI, the cluster is formed and all necessary components of the Kubernetes cluster are running. This is where we get “from months to minutes” for your first deployment: The enterprise gets an out-of-the-box Kubernetes/Docker cluster without the hassle.

A talented DevOps hotshot could script out a similar install, after they’ve worked with the container and orchestration environments extensively, and determined all the pieces and policies to make the system reliable. This may prove very difficult since DIY-clusters may involve different HW and SW vendors.

Beyond “Day One”, what happens when a new version of any of the OS, Container or Orchestration stack come out? With DIY, the enterprise is responsible for developing and QA’ing the upgrade procedure. With Diamanti, we ensure that there’s a supportable stack to move to, we develop and QA the upgrade path, and we implement the upgrade from A-to-B with automation.

Throughout the customer’s deployment lifecycle, the Diamanti Cluster simplifies the creation of new networks and persistent storage devices, streamlining day-to-day provisioning.  Possibly even more importantly to Enterprise customers, Diamanti takes on full-stack responsibility, becoming the “one throat to choke” by supplying a support contract for Kubernetes, Docker Runtime, and the underlying Linux OS, in addition to the Diamanti compute, network and storage components. If the apps team runs into an issue, they do not have to worry about which part of the stack might be at fault, they call Diamanti.

Diamanti D10 nodes are industry standard x86 systems; we have added value as a Container Converged Infrastructure both in the high performance NVMe distributed storage controller as well as a high performance network controller that uses SR-IOV to segregate and manage networking on an individual pod-by-pod basis. Diamanti’s differentiation in storage and networking allows fine grained QOS and monitoring of I/O, as well as the first steps in micro-segmentation and a robust future platform for innovation in network security. A discussion into our storage and networking is worthy of its own deep dive.

As Geoffrey Moore suggests in “Dealing with Darwin”, enterprises should spend time and resources on their “Core” value as a company, and less time on everything else, aka “Context”.  Is your core value maintaining a Kubernetes infrastructure, or delivering applications to the end users?

It’s not all about the storage!

Diamanti provides the following benefits to enterprises wishing to deploy on-premises containers:

  • Bare Metal Docker Containers on Kubernetes, in minutes, not months, bringing the agility of public cloud to on-premises private cloud.
  • Quick and reliable deployment and upgradability of the underlying software.
  • Predictable high-performance persistent storage with built-in QOS via the Kubernetes FlexVolume plugin.
  • Persistent IP addressing to ease service discovery and network security. No overlays, no port mapping, no changes to your current network. Each container is a “first class citizen” on the network.
  • Fine grained instrumentation of host resources, pod and container storage and network performance available via Diamanti GUI, CLI and RESTful API.
  • A single support contract covering the entire hardware and software stack of the Container Converged Infrastructure.