Random Short Take #54

Welcome to Random Short Take #54. A few players have worn 54 in the NBA, but my favourite was Horace Grant. Let’s get random.

  • This project looked like an enjoyable, and relatively accessible, home project – building your own NVMe-based storage server.
  • When I was younger I had nightmares based on horror movies and falling out of bed (sometimes with both happening at the same time). Now this is the kind of thing that keeps me awake at night.
  • Speaking of disastrous situations, the OVH problem was a real problem for a lot of people. I wish them all the best with the recovery.
  • Tony has been doing things with vSAN in his lab and in production – worth checking out.
  • The folks at StorageOS have been hard at work improving their Kubernetes storage platform. You can read more about that here.
  • DH2i has a webinar coming up on SQL Server resilience that’s worth checking out. Details here.
  • We’re talking more about burnout in the tech industry, but probably not enough still. This article from Tom was insightful.

What’s The Buzz About StorageOS?

I wrote about StorageOS almost twelve months ago, and recently had the opportunity to catch up with Chris Brandon about what StorageOS have been up to. They’ve been up to a fair bit as it happens, so I thought I’d share some of the details here.

 

The Announcement

What’s StorageOS? According to Brandon it’s “[a] software-defined, scale-out/up storage platform for running enterprise containerized applications in production”. The “buzz” is that StorageOS is now generally available for purchase and they’ve secured some more funding.

 

Cloud Native Storage, Eh?

StorageOS have come up with some thinking around the key tenets of cloud native storage. To wit, it needs to be:

  • Application Centric;
  • Application Platform Agnostic;
  • Declarative and Composable;
  • API Driven and Self-Managed;
  • Agile;
  • Natively Secure;
  • Performant; and
  • Consistently Available.

 

What Can StorageOS Do For Me?

According to Brandon, StorageOS offers are a number of benefits:

  • It’s Enterprise Class – so you can keep your data safe and available;
  • Policy Management allows you to enforce policies and rules while still enabling storage self-service by developers and DevOps teams;
  • Deploy It Anywhere – cloud, VM or server – you decide;
  • Data Services – Replication for HA, data reduction, storage pooling and agility to scale up or scale out based on application requirements;
  • Performance – Optimised to give you the best performance from your platform;
  • Cost-Effective Pricing – Only pay for the storage you use. Lower OpEx and CapEx;
  • Integrated Storage – Integrated into your favorite platforms with extensible plugins and APIs; and
  • Made Easy – Automated configuration and simple management.

 

Architecture

There is a container installed on each node and this runs both the data plane and control plane.

Data Plane

  • Manages data access requests
  • Pools aggregated storage for presentation
  • Runs as a container

Control Plane

  • Manages config, health, scheduling, policy, provisioning and recovery
  • API is accessed by plugins, CLI, GUI
  • Runs as a container

Containers are also used to create a highly available storage pool.

[Image courtesy of StorageOS]

 

Thoughts And Further Reading

StorageOS secured some funding recently and have moved their headquarters from London to New York. They’re launching at KubeCon, Red Hat Summit and dockercon. They have a number of retail and media customers and are working closely with strategic partners. They’ll initially be shipping the Enterprise version, and there is a Professional version on the way. They are also committed to always having a free version available for developers to try it out (this is capacity limited to 100GB right now).

We’ve come some way from the one application per host approach of the early 2000s. The problem, however, is that “legacy” storage hasn’t been a good fit for containers. And containers have had some problems with storage in general. StorageOS are working hard to fix some of those issues and are looking to deliver a product that neatly sidesteps some of the issues inherent in container storage while delivering some features that have been previously unavailable in container deployments.

The team behind the company have some great heritage with cloud-native applications, and I like that they’re working hard to make sure this really is a cloud-native solution, not just a LUN being pointed at an operating environment. Ease of consumption is a popular reason for shifting to the cloud, and StorageOS are ensuring that people can leverage their product with a simple to understand subscription model. They’re not your stereotypical cloud neckbeards though (that’s my prejudice, not yours). The financial services background comes through in the product architecture, with a focus on availability and performance being key to the platform. I also like the policy-based approach to data placement and the heavy focus on orchestration and automation. You can read more about some of the product features here.

Things have really progressed since I first spoke to StorageOS last year, and I’m looking forward to seeing what they come up with in the next 12 months.

StorageOS – A Quick Introduction

 

I had the opportunity to talk to Chris Brandon, Founder and CEO of StorageOS, recently, and thought it might be worthwhile putting together a brief introductory post. I had spoken to them a few months ago but this time round the concepts started to sink into my somewhat thick skull.

 

What Do They Do?

Persistent container storage. Chris described the solution as an “[e]nterprise-class cloud storage platform that runs on commodity hardware, VM and cloud storage infrastructure”:

  • Designed for high-performance applications;
  • Lightweight, 40MB Docker plugin supports hyperconverged or centralised deployments;
  • Ideal for running databases and CI/CD workloads -all while reducing complexity and cost;
  • Priced for rapid adoption, scales to enterprise deployments; and
  • Policy engine automates volume placement and data services.

[image via StorageOS]

 

Architecture

The architecture is split into a ‘Data Plane and a ‘Control Plane’. Storage media is consumed by the Data Plane and presented as virtual volumes. The Control Plane manages configuration and provides an API interface for provisioning. The configuration is persisted using a Key Value Store.

[image via StorageOS]

 

Benefits?

According to StorageOS, there are a few, including:

  • Agile, On-Demand: API driven, automated policy driven provisioning
  • Anywhere: Deploy standalone or hyper-converged in VMs, cloud, x86 servers and laptops
  • Made Easy: Easy to deploy, simple to manage, integrates with Docker and Kubernetes
  • On-Demand: Pay by usage, subscription based license
  • Enterprise Ready: Deterministic performance, highly available, durable and secure

 

How Can I Access It?

There’s a free developer version with community support available already. You can run it on your computer, in VMs or in the cloud. It offers 30 days of full functionality, and from there on is free to use without enterprise features.

A “Professional Edition” is coming in mid 2017, and an Enterprise Edition is “coming soon”.

 

Conclusion

Chris tells me there’s been a big uptake in retail right now. A lot of people I speak to are interested in working with containers, or are already well down the track. Storage has been a problem for them. I’m keen to see how this progresses and whether StorageOS gets the traction they need. I certainly believe there’s a place in the market for solutions like this, and if you’re into this kind of thing, I urge you to have a look at the beta. You can even find some handy instructions here.