We recently sponsored DockerCon and ContainerCon. Our team agreed that they were some of the hottest tech conferences in recent memory—and a clear sign of the explosive growth of the container market.
With this growth come new vendors, and many attendees asked us, “How are you different from the other container storage providers?” Let’s start by describing Portworx itself.
What is Portworx?
Portworx has developed a new storage architecture—container-defined storage—that is built from the ground up for highly distributed environments. It is deployed and managed as a container by the orchestration software, and it extends storage natively to Docker containers as a volume plug-in.
- Portworx lends itself to a modern DevOps way of deploying applications. We allow for storage infrastructure to be deployed as a container by any orchestration tool. As a result, deploying storage at large scale is extremely simple, requiring no heavy lifting.
- Portworx focuses on higher-density workloads and container-granular operations on commodity servers. At its core, Portworx is built for modern servers and takes advantage of the recent improvements in NVMe, SSD, and faster networking.
- Portworx architecture enables users to scale services in a hybrid cloud environment without requiring a central metadata server in the data path. This is crucial for the adoption of container-defined workflows. We designed the Portworx deployment with container-centric DevOps workflows in mind, to allow native integration with scheduling software such as Kubernetes, Mesos, Swarm, and others. Portworx architecture also allows for DevOps-centric inline provisioning of storage together with the containerized app.
What are the key differentiating features of Portworx?
Apart from being container-native storage, core Portworx container-defined storage differentiators include:
Container-granular volume management: Stateful containerized applications like databases need persist data across distributed nodes. Portworx ensures this by providing a stateful fabric for managing data volumes that is container-SLA-aware. Volume data replicated to ensure state, but also it meets the performance and availability needs of containerized applications. What’s more, Portworx manages snapshots, clones, and replication at a per-container level, enabling DevOps to manage microservices individually, instead of as a group tied to legacy storage structures like LUNs. With Portworx managing stateful containers is easy, and data availability and management at a per container level is simple and automated.
- Host-addressable storage: Host-addressable storage is how you can achieve scaleout storage without any central metadata server. Each volume is directly mapped (i.e., no translation needed) to the host it is attached on. Compared to existing storage solutions, this Portworx approach offers three advantages:
• It makes storage management and provisioning simple by eliminating the need to manage and maintain a central database.
• It makes it easier to elastically scale by adding new nodes.
• It allows for cloud-native architectures where the storage cluster straddles data centers or clouds (private or public).
- Auto-tune: Portworx self-tunes the optimal data placement and tiering algorithms based on each server’s profiles, which avoids the need for manual intervention, tuning, or configuration of RAID parameters or drive groups. All the drives are provided to Portworx as one big global pool, and the Portworx software decides the most optimal configuration.
- Lighthouse cloud-based monitoring and management: Your data stays in your cloud or on premises, and it can be managed via Portworx’s Lighthouse cloud-based service and intuitive UI.
- Quick sync: Quick sync capability provides rack-aware sync for accelerated application performance in a multi-node environment. It allows databases to run at higher IOPS rates, and it enables larger-density deployments by reducing the contention on local drives.
- Global namespace: Volumes can be shared across multiple applications running on different servers.
- Cloud-native extensions, including:
• Automatic snap and backup to S3
• Data reflection, where virtual volumes in the cloud can access data from a different cloud or data center
• CoS matching to EBS volume types
• Restful APIs to query namespace modifications—avoiding expensive namespace operations such as is, find, etc. for metadata management
Portworx takes a fresh approach to container storage.
With the increasing deployment of containers in the enterprise, most storage vendors feel compelled to bolt-on container support, typically as volume plug-ins to Docker. But a siloed array connected to Docker misses the distributed nature of containers, as well as the elegance and ease of linking containers, schedulers, and storage as a seamless auto-provisioned whole.
Some of the newer distributed software projects for containers might sidestep legacy storage vendors’ siloed approaches, but the distributed software experiments we’ve seen are flawed in their storage datapath implementation, which could cause serious performance and scale issues.
Portworx represents the first truly purpose-built container infrastructure for enterprise customers. As a result, it is an essential ingredient to deploying stateful containerized applications with a rigorous, scalable, automated, distributed storage layer that helps complete the container ecosystem.