January 31, 2018
Portworx Releases STORK, an Open-Source Kubernetes Scheduler Extender to Add Additional Capabilities for Stateful Applications in Production
LOS ALTOS, Calif., Jan. 31, 2018 (GLOBE NEWSWIRE) — Portworx, the solution for running stateful containers in production, today released STORK (STorage Orchestrator Runtime for Kubernetes). STORK is an open source project that takes advantage of the extensibility of Kubernetes to allow DevOps teams to run stateful applications like databases, queues and key-value stores more efficiently on Kubernetes. STORK has been implemented to communicate with storage drivers through a plugin interface, so it can be extended to work with any storage driver for Kubernetes, not just Portworx. Contributions to STORK are welcome and encouraged from the Kubernetes community.
STORK allows stateful applications to take advantage of scheduler extenders in order to enjoy the benefits of storage-aware scheduling via Kubernetes in production at scale. Using a scheduler extender, STORK provides hyperconvergence, storage health monitoring and snapshot-lifecycle features for stateful applications on Kubernetes. STORK was developed in collaboration with customers running large scale stateful applications in production in order to address operational issues inherent to data services.
Key features and benefits of STORK
Enabling hyperconvergence for stateful containers
Modern stateful applications like Cassandra, Kafka, ElasticSearch and more scale out to increase capacity and perform best when each instance runs in close proximity to its data. Having local direct storage access reduces latency and improves the response times of these databases. For this reason, it is ideal to schedule a pod on a host where its data is located. Today, DevOps teams have to use techniques such as labels, constraints or affinity/anti-affinity to ensure data locality. These rules are hard to manage when running applications at scale across a large number of servers and data centers, increasing room for error.
STORK solution: Kubernetes was designed with extenders in mind. STORK enables the seamless deployment of complex distributed stateful applications by implementing a Kubernetes scheduler extender that influences pod scheduling based on the location of volumes that a pod requires. So even after failure events, pods are scheduled on hosts that already have a copy of data, ensuring ongoing hyperconvergence.
Health monitoring of storage plugins
A common issue with stateful applications is the wear and tear induced by the storage fabric. The overall health of a pod will be subject to this wear and tear over time. This can result in pods not being able to be rescheduled to healthy hosts if a storage driver experiences a failure, resulting in application unavailability.
STORK solution: STORK solves this issue by failing over pods when the storage driver on a node goes into an error or unavailable state. This allows applications to be truly highly available without any user intervention.
Volume Snapshot support
Stateful applications have a complex life cycle that needs to be managed. Snapshots provide a key management tool for data recovery or duplication of an environment for testing. Today, DevOps teams have to manage these life cycle operations using the tools provided by the storage provider instead of directly through Kubernetes, reducing the automation benefits of the Kubernetes platform for complex data workflows like DR, testing, upgrades and blue-green deployments.
STORK solution: STORK adds support for orchestrating volume snapshots through Kubernetes. This allows users to take snapshots of PVCs and then restore those snapshots to other PVCs all through Kubernetes. This allows users to automate complex data workflows, all through Kubernetes.
“We listened carefully to our enterprise customers and built STORK to solve critical efficiency limitations that enterprises running stateful applications on Kubernetes commonly encounter,” said Gou Rao, CTO, Portworx. “We’re committed to expanding on this open source project with the help of the community in order to address the pain points and needs of enterprises.”
For more details and information on STORK, please visit the Portworx blog here.
Instructions to install Stork with Portworx can be found here.
Portworx is the solution for running stateful containers in production, designed with DevOps in mind. With Portworx, users can manage any database or stateful service on any infrastructure using any container scheduler, including Kubernetes, Mesosphere DC/OS, and Docker Swarm. Portworx solves the five most common problems DevOps teams encounter when running stateful services in production: persistence, high availability, data automation, security, and support for multiple data stores and infrastructure. Portworx is ideally suited for solution verticals such as databases, messaging queues, continuous integration and continuous deployment (CICD), big data and content management. Customers include Lufthansa Systems, TGen, eight companies in the Fortune Global 500, and other Fortune 1000 customers in healthcare, global manufacturing, telecom and federal.
10Fold for Portworx