What is ViPR?

Table of Contents

Back to Top

What is ViPR?

ViPR is a software-defined storage platform that abstracts, pools, and automates a data center's underlying physical storage infrastructure. It provides a single control plane for heterogeneous storage systems to data center administrators. On top of this control plane, administrators can deploy ViPR Services (Object, HDFS, and Block Services) on array- and commodity-based storage that enable users to use ViPR file-managed storage as an object store, perform analytics on ViPR-managed storage, and dynamically provision block commodity storage.

This article applies to EMC ViPR 2.0.

ViPR enables data center administrators to manage heterogeneous storage environments, including EMC, non-EMC, and commodity storage. ViPR not only virtualizes storage, but it also decouples the control path from the data path. The ViPR Controller manages the control path.

ViPR's ability to abstract the control path allows storage management to operate at the virtual layer. This enables you to combine several physical storage pools into a ViPR virtual pool, or add several physical storage arrays into a virtual array.

The ViPR Controller does not sit in the data path for file and block stores. This ensures applications can access storage and all its underlying value and data services embedded in the storage arrays without performance degradation.

After the ViPR Controller is deployed by a data center administrator, ViPR Services can be deployed and layered over both traditional and new storage at cloud scale. The data path is managed by three ViPR Services: Object, HDFS, and Block Services. The ViPR Services enable administrators and developers to shift away from array-specific services to better manage mixed workloads and Big Data applications in heterogeneous environments. ViPR enables you to surface mixed data access methods (NFS access and access via Amazon S3, OpenStack Swift, and EMC Atmos APIs) for the same data so that your applications can access this data as files or objects.

ViPR enables software-defined data centers by providing the following features:

Back to Top

What are the ViPR interfaces?

ViPR includes three management interfaces (API, UI, and CLI) to provide maximum user flexibility:

  • A comprehensive REST Application Programming Interface (API) that allows developers to write applications without regard to the underlying hardware and software. The REST API for the Object Service supports the Amazon Simple Storage Service (S3), OpenStack Swift, and EMC Atmos storage APIs.
  • A web-based User Interface (UI) that provides the ability to configure and monitor ViPR, as well as perform self-service storage provisioning tasks through an intuitive Service Catalog.
  • A Command Line Interface (CLI) that provides an interface for developers and data center administrators to manage storage resources.
Back to Top

What is the ViPR Controller?

The ViPR vApp is referred to as the Controller, and contains the ViPR core functionality to automate block and file storage provisioning tasks.

Deployment of the Controller vApp enables you to set up one storage control point for one or more physical data centers. One ViPR Controller controls all the storage resources within the virtual data center.

The Controller takes over the storage control plane to simplify and automate the management of block and file storage. It allows users to operate at the level of ViPR virtual abstractions. ViPR System Administrators define the policies for storage consumption in the ViPR software and provide services to their end users.

ViPR aggregates and pools physical storage systems and pools into virtual arrays and virtual pools in a manner similar to VMware vCenter. Policy and management functions are applied in the aggregate, simplifying the process.

The ViPR Controller enables you to:

Back to Top

Which storage systems does the ViPR Controller discover?

After the ViPR Controller vApp is deployed, the first step in setting up the ViPR virtual data center is to add storage arrays, referred to as storage systems in ViPR. ViPR natively supports the discovery of EMC VPLEX, VMAX, VNX, Isilon, NetApp, and Hitachi Data Systems (HDS) arrays. In addition, ViPR can discover many different block arrays via array support through OpenStack (non-native support).

When a System Administrator adds storage systems to ViPR, ViPR discovers the arrays' physical ports and storage pools and brings them under ViPR management. ViPR uses the physical pools and ports on the storage systems to make the storage devices visible to the hosts.

ViPR natively discovers and manages the block and file storage systems listed in the following table.

Array support through OpenStack via the ViPR Third-Party Block Storage Provider enables ViPR to discover any third-party block array that an OpenStack block storage (Cinder) driver supports. To view a list of block storage systems that OpenStack Cinder drivers support, click here.

Back to Top

What are the ViPR Services?

ViPR aggregates multi-vendor storage into a unified storage platform. This storage platform forms the infrastructure that hosts the ViPR Services, which deliver features that the underlying physical storage arrays do not have, for example, an object store.

ViPR Services support the storage, manipulation, and analysis of object data on a massive scale in both array and Commodity environments. Block storage on Commodity hosts is also supported. Services are critical enablers for Cloud and Big Data applications.

ViPR currently supports the following Services:

Object Service
Enables you to store, access, and manipulate unstructured data as objects on file-based storage systems, such as EMC VNX, Isilon, and NetApp, without having to rewrite existing file-based applications. Applications can access a set of objects as files, directly on the underlying file storage system, with native file system performance. This provides in-place access to the object data for file-based applications. The Object Service is compatible with EMC Atmos, Amazon S3, and OpenStack Swift APIs. The Object Service is a software layer that works transparently with different hardware platforms.
HDFS Service
Provides Hadoop Distributed File System (HDFS) support, which enables existing file-based storage to be leveraged to build robust, scalable data processing environments based on the Hadoop framework. The HDFS Service enables organizations to analyze existing data on file arrays without moving it to a separate repository. With the HDFS Service, you can use the ViPR virtualized storage environment as a Big Data repository against which you can run Hadoop analytic applications.
Block Service
Creates a server-based SAN from local application server storage to deliver elastic and scalable block storage. The Block Service, powered by ScaleIO, is an alternative to traditional SAN infrastructure. It combines hard disk drives (HDDS), solid-state drives (SSDs), and Peripheral Component Interconnect Express (PCIe) flash cards to create a virtual pool of block storage with different performance tiers. The Block Service scales to thousands of Commodity nodes and automatically redistributes block storage to optimize performance and capacity usage.

ViPR Services enable you to perform the following tasks: