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.
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.
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.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.