About REX-Ray

REX-Ray is the leading storage orchestration engine providing interoperability with cloud native orchestrators and runtimes to enable persistent applications in containers. It allows any application, from databases to key-value stores and even that random java app, to run in a container to save data and resume state after the lifecycle of the container has ended. The REX-Ray project is led by {code} with contributions from the open source community.

REX-Ray brings an opportunity to run both new and traditional applications in cloud native ways. Cloud native orchestrators and runtimes tend to use containers as a simple portable method of packaging applications. However, containers are ephemeral in nature. A new container is created, given a unique ID, performs its function, and then is retired and typically forgotten. When that application needs to run again, a new container is created and the process starts over. This purpose has been served well by stateless applications such as web servers, message queues, event triggers, and application controllers. However, the same process can't be said for applications such as databases like Postgres or Redis where the removal of the container or anchoring of data to a specific host is problematic. REX-Ray allows orchestrators and runtimes to integrate storage functionality such as volume creation, attaching, and mounting processes. This allows a container to write directly to a volume presented by REX-Ray on the host in order to persist data irrespective of the container lifecycle.

REX-Ray is reliable and experienced in its role as a container storage orchestration engine. It is focused on storage orchestration and lifecycle basics but also important features relevant to running your persistent applications. The built-in High Availability, called pre-emption, truly sets it apart. When a container orchestrator such as Docker Swarm, Kubernetes, or Marathon for Mesos deploys a new container after a host failure, REX-Ray performs the orchestration necessary to attach the volume to the new host and resume state.

REX-Ray heavily supports cloud native philosophies for interoperability by ensuring consistent approaches to running applications and integrating storage across services. Develop locally using REX-Ray to see how your containers will write data to external volumes. Without changing any code or container runtime commands, consistently launch persistent workloads for testing, QA, and production resources in the cloud or in your data center.

REX-Ray is popular because of its consistent user experience but also the broad range of storage platform choices. It is by far the easiest way for storage platforms to build and sustain cloud native interoperability.

Features

Persistent Storage Orchestration for Containers

Run any application using multiple storage platforms in a container including databases, key-value stores, big data, real-time streaming, messaging, and any application storing data. Resume state and save data beyond the lifecycle of a container. Containers aren’t just for stateless applications anymore.

Enterprise
Ready

REX-Ray is a simple and focused container storage orchestration engine offering extensive platform support. It provides high-availability features for container restarts across hosts, CLI intuitiveness, built-in security, and is contributed to by not only the cloud native community, but the leading storage vendor in the world.

Open
Source

As a completely open and
community driven project, REX-Ray is constantly innovating and providing new integration points. The community continues to contribute drivers, features, and additional functionality which makes it the best choice for cloud native infrastructures.

Trusted Interoperability

REX-Ray is compatible with the Container Storage Interface (CSI) spec and implements all the volume lifecycle and orchestration aspects. REX-Ray’s inclusion of CSI satisfies the integration of cloud native orchestrators with varying storage platforms.

Multiple Storage Platform Support

A single interface to all of your storage platforms is important. REX-Ray exposes common orchestration and volume lifecycle operations no matter what type of platform you choose.

Standalone or Centralized

Multiple architectural choices allow flexibility for deployments. Configure REX-Ray as standalone to serve in a decentralized architecture. Optionally leverage the client/agent and controller for a centralized architecture providing central configuration and control for storage operations.

Secure by Default

All traffic is encrypted with TLS using pre-configured keys and certificates or auto-generated self-signed certificates. A fingerprint feature using Token Based Authentication prompts an Agent to trust a Controller. These combined thwart malicious man-in-the-middle attacks from using self-signed certificates.

Effortless Deployment

Installed as a single binary or deployed as a container. REX-Ray can be configured to include one or multiple storage platforms from a single stateless service. It supports the cloud native methods of providing interoperability including functioning as a long-running Docker Plugin.

Storage Agnostic

REX-Ray includes support for storage platforms types that cover block, file, and object. If you need to run an application that has any type of storage requirements, REX-Ray supports the perfect storage platform for you.

Intuitive CLI

More than just a plugin, REX-Ray boasts a fully featured command line interface (CLI) that allows a user to manually perform storage operation tasks.

Scale Your Platform

Making your platform relevant in a cloud native landscape is easy with REX-Ray. Contribute a minimal driver that includes the basics for volume lifecycle and orchestration for your platform as a CSI plugin. Get integration to upstream cloud native platforms such as Docker, Mesos, and Kubernetes with your CSI plugin!

Architecture

REX-Ray operates a single standalone process with bundled components as an engine or through discrete components including a controller and agents in a centralized manner. This provides architectural flexibility where components can be deployed specific to their function.

REX-Ray itself provides managed plugins and a CLI. REX-Ray and its supported storage platforms are interoperable with container orchestrators that have implemented the CSI, Docker Volume Driver, or Kubernetes Flexvolume interfaces.

 

The animated graphic at the top of the page uses REX-Ray in a standalone fashion where both the client and server are embedded in the same engine. This is a common way of using REX-Ray but does not take advantage of the centralized architecture. A large-scale installation can have 1,000s of cluster nodes and updating these with tools can be costly. If security credentials are required for storage operations, keeping those off the cluster nodes is desirable. It may also be beneficial to coordinate and throttle requests into a central controller. REX-Ray as a controller works perfectly for this and can run behind a load balancer or even directly from storage platforms.

Whitepapers

This combined reference architecture will help enable customers to build and run modern applications that use containers and big data services within their on-premise infrastructure. In this reference architecture, Dell EMC ScaleIO and ScaleIO Ready Nodes provide a complete scale-out solution for compute and storage infrastructure for applications and and micro services. Mesosphere’s “Datacenter Operating System” (DC/OS) with ScaleIO provides a software platform that aggregates both compute and storage and provides a simple UI or CLI for application and container management and orchestration, single-click deployment of 100’s of data and devops services, and elastic scaling. Customers who follow the reference architecture will be using a proven solution that minimizes risk and simplifies deployment, and are supported by both Mesosphere and Dell EMC.

Download Deploy Enterprise DC/OS With ScaleIO and REX-Ray

This white paper describes the need for containers for the modern microservices based applications and explains how Dell EMC™ ScaleIO® with REX-Ray™ provides persistent storage for the containers. Dell EMC ScaleIO, which is an enterprise grade high performance software defined storage solution is a perfect match for operations team to meet the storage needs of the developers on the fly.

This white paper describes the relationship between ScaleIO, REX-Ray and Docker.

Download Deploy Your Containers With Dell EMC ScaleIO