Portworx Provides a Container-Level Approach to Managing Stateful Applications
Portworx has made its mark in the container networking and storage space by providing an automated, DevOps-style approach to persistence and other key concerns of running stateful applications.
Schedulers like Mesos, Kubernetes or Docker Swarm provide the ability to manage containers over multiple nodes. But developers still face a multitude of “How do I” questions, according to CEO and co-founder Murli Thirumale:
How do I ensure persistence with data as a Docker container moves from one node to the other? How do I ensure high availability of that data? How can I ensure that each container gets the performance on IOPs that it needs? How do I secure my data? How do I automate this natively with my container environment?
Portworx, which runs in a container itself, allows developers to manage data services in the same way they deploy apps with Docker or Mesos, he said.
“It’s not something that gets attached to an old infrastructure; it’s part of the DevOps workflow. Everything is purpose-built for containers, so all the data functions — persistence, performance, high availability — [are managed] on a per-container or per-app basis,” he said.
It can run on any cloud or any on-prem server architecture and will run the same way regardless of infrastructure, he said.
Portworx provides container-level snapshots, replication and storage policies; multicluster visibility and management; predictive capacity management; and global file namespace.
Thirumale likes to use the analogy of a MySQL container vs. a WordPress container running on the same host. The MySQL would require higher storage performance, perhaps greater data protection, and more frequent backups. Being highly transactional, it might be used more often than the WordPress container. The trick is to provide each individual container what it needs in an automated way.
He explained Portworx this way:
“On the node, we create a converged node… then we fingerprint everything under that from a storage viewpoint. We look at any attached storage and turn that into one large pool. Aggregating all that storage into one big block pool. We’re then able to tier that into high-, medium-, low-performance tiers. Then we look up into the container ecosystem and are able to carve out virtual volumes based on each container’s application needs. Then it is attached it directly to that container.”
It makes the data available across all the nodes no matter where the data resides so when a new container fires up, it can find the data.
The Portworx platform is tightly integrated with a scheduler — Mesos, Docker Swarm, Kubernetes — so though it is deployed separately, the data is managed via that scheduler. It’s all done in-band as part of the DevOps workflow and fully automated end to end.
It’s a cloud-native solution. Old storage array manufacturers are basically building connectors to Docker or custom appliances for containers, an approach that really doesn’t scale to thousands of nodes, he said.
Persisting data with high availability and data protection are among the biggest barriers for container adoption in the enterprise for production workloads, according to a Gartner report that notes growing interest in shared storage infrastructure options for stateful applications. It calls the container storage infrastructure market “chaotic market with unclear business models.”
Sapphire Ventures managing director Jai Das noted that manual infrastructure tweaking and custom scripting to maintain persistence with stateful containers negates the benefits of being able to spin up containers quickly. Portworx eliminates the need to map storage volumes to hosts for stateful applications, rather providing automated access to a shared storage pool, he explained in a blog post outlining its reasoning behind leading a recent $20 million funding round.
“Underpinning its product is the philosophy that storage management and provisioning should be both simple — it should just work — and comprehensive in addressing DevOps needs of simplicity and scalability while also addressing enterprise IT needs such as security and performance reliability,” he said.
GE uses Portworx in its Predix platform, which it offers to customers who want to provide their own IoT service.
It’s also used in Lufthansa’s BoardConnect entertainment system, which it provides to 300 airlines worldwide. Each has its own content-management system, which runs on the Azure cloud. Lufthansa set high requirements for availability and performance for the service, but also wanted it to be cloud and storage agnostic and offer an on-prem option as well, he said.
The Los Altos, Calif.-based company launched in 2014 by the founding team — Goutham Rao, Thirumale, Vinod Jayaraman — of Ocarina Networks, a storage optimization company acquired by Dell in 2010. Its recent funding brings the total investment to $28.5 million.
“There seems to be increasing demand and focus on data persistence for container applications among enterprise end users,” said 451 Research analyst Jay Lyman. “Vendors such as Portworx and others are responding since this need increases as container applications move beyond web and stateless applications to databases and other data-centric applications, as well as beyond development and testing to production.”
In a report written last summer, Lyman noted that Portworx enables rapid deployment of stateful, distributed applications, allowing DevOps to automate storage provisioning in a container-centric way but that the company may need to open-source some of its software.
“It is our belief that community software that extends beyond specific vendors will win the most traction in this market,” he wrote.
Portworx is among a group, including Docker, Kubernetes, Mesosphere and Cloud Foundry, discussing whether the container ecosystem would benefit from a standardized API for addressing and managing storage volumes. Called the Container Storage Interface initiative, it’s essentially a GitHub document for now.
The group’s first debate was on whether an orchestrator or scheduler should assume the role of data container, or data volume, lifecycle management.
“We really think that the storage decisions are driven more by the application’s needs than by a scheduler’s,” Thirumale said.
Cloud Foundry is a sponsor of The New Stack.