OpenSDS- An Industry Wide Collaboration For SDS Management
Lawrence Lai – Huawei
Rakesh Jain – IBM 1 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. State of Storage Management - Fragmented
Framework CLOUD ENTERPRISE • How to connect storage to a framework? • How to provision storage for multiple frameworks? IT Integration Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in Controller • Which controller to use for the framework? Flocker Cinder Manila OceanStor • Is my storage supported by the controller? RexRay libStorage Ceph Cinder Manila Swift CoprHD 10+ drivers RexRay ViPR Ceph 60+Cinder drivers 10+Manila drivers Swift DJ OceanStorDJothers • Does it allow 3rd-party /IT integration? RexRay libStorage Ceph 60+ drivers 10+ drivers Swift CoprHD 60+ drivers 10+ drivers DJ Storage • Is there a storage driver for the controller? • Will I be able to leverage enterprise storage features? Local Storage SAN NAS AFA Scale-Out Cloud • Can I use commodity hardware?
2 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Storage Pains
Enterprise Customers Want a common solution to manage storage needs for both internal and external customers How about a single SDS controller to connect to all frameworks and storage backends?
Developers Want a consistent method of consuming storage easily How about a standard API that abstracts storage complexity?
Vendors Want to enable their storage everywhere How about standardization of storage controls that works with all frameworks?
3 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Overview
OpenSDS is an open source community working to address storage integration challenges, particularly in scale-out cloud native environments with heterogeneous storage platforms.
Cross-Community Collaboration
4 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Mission and Goals
The OpenSDS project promotes the use of simplified storage interfaces using a scalable storage controller architecture with open standard APIs, with the objective of providing application-oriented storage services.
To develop the open source core Code components and API’s needed for building an SDS solution
Community To grow a community building value for end users and extends to other open-source communities Goals To collaborate among vendors, users, Collaborate and standards bodies to solve real- world storage management problems
To get broad industry acceptance amongst Acceptance users and vendors with the implementation and adoption of OpenSDS
5 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Timeline
Project Proposal Dell-EMC Joins New Members! Sep 2016 Dec 2016 Jun 2017 •Dell-EMC, •Hitachi, Huawei, •CloudNativeCon Huawei, Hitachi, Fujitsu, Western Berlin Intel •Linux Digital, OSU, •IBM Foundation Vodafone •NTT Project Proposal •Yahoo Japan First Contact Project Launched Prototype Demo Mar 2016 Nov 2016 Apr 2017
6 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Key Value Propositions-For End-users
Cloud Transformation Optimized Utilization No Vendor Lock-in
End-users can transform their Virtualization of on-demand storage Common integration and existing storage into a platform for resources, improving storage standardized API’s keep storage cloud native workloads resource utilization ecosystem open
7 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Key Value Propositions – For Developers
• Standard API offers a consistent method of consuming storage • Abstraction of storage complexity enables developers to focus on their application design • Develop once, run everywhere becomes a reality with a common storage control platform • Accelerate application development without worrying about storage infrastructure
8 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Key Value Propositions – For Vendors
• Unified SDS standards and development of open SDS solutions • Efficient industry-wide collaboration and development • Leverage OpenSDS ecosystem to build new solutions and businesses quickly • Win-Win-Win for customers, partners, and company engineering and business • Accelerate cloud transition leveraging the OpenSDS community • Interoperability with OpenSDS solutions with standardization • Reduce development cycle and improve efficiency so vendors can focus on real innovation instead of doing plumbing work
9 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS Project Framework
OpenSDS Plug-ins Dashboard
Cloud Native Computing Foundation - CSI Monitoring Microsoft Azure OpenStack Others GCE AWS Azure HEC Cloud Stack Metering Docker Kubernetes Mesos Foundry EXTENSIONS& TOOLS Performance COMPUTE INTEGRATION CLOUD INTEGRATION Logging OpenSDS Controller Backup OPENSDS API DR Block File Object Services Services Services Migration
SOUTHBOUND DRIVERS AND PROTOCOLS Tiering Native Drivers Cinder Manila libStorage Swordfish Others Forecast
DATA PLANE COMPONENTS Analytics
Local Storage SAN NAS NVMeF Others Others
10 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Technical Introduction
11 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Controller Project - The Universal Storage Controller
A universal storage controller with scalable architecture and open standard APIs
OpenSDS Controller Open Standard API Discovery, Pooling Provisioning, Lifecycle Open API for block, file, and object services OPENSDS API Block File Object Services Services Services Policy-Based Orchestration SOUTHBOUND DRIVERS AND PROTOCOLS Policy-based controls for provisioning, Native Cinder Manila libStorage Swordfish Others lifecycle management and more Drivers
Wide Storage Support Comes with support for wide range of Cinder, and Manila storage drivers Local HDD/SSD AFA SAN NAS Cloud Enterprise Class Enabler OpenSDS API’s and policies enable the use of enterprise-class storage features
12 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Plug-ins Project – Compute Framework Plug-Ins
A group of plug-ins enabling seamless integration with common compute and application frameworks
Common Standard Plug-in Use a single common plug-in for a framework to access OpenSDS storage services CLOUD ENTERPRISE
Seamless Integration Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in Plug-ins enable each framework to leverage OpenSDS storage services seamlessly OpenSDS Controller Discovery, Pooling Provisioning, Lifecycle Simplify Storage Abstract the underlying storage complexities away from the compute and application frameworks
13 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Design Goals
Cloud Universal Storage Control Orchestrator Single control plane for storage management
Abstract Storage Management Host Discover – Available storage resources and their capabilities Aggregate – Physical resources gathered into pools Virtualize – Applications remain ignorant of storage physicality Anonymize – Vendor neutral Runtime OpenSDS OpenSDS OpenSDS Cloud Native Deployment and Scaling Plugin Host Vendor-specific code confined to a single process Host Rules Support distributed and/or centralized server deployment model Implicitly HA and scalable Pool Pool Pool Rules-based Centralized Controls Simple rules map logical storage requests into physical storage requests
14 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Design Requirements
Cluster-level View of Storage Federate/aggregate multiple disparate storage systems in to a seamless whole Client and Target (Vendor) agnostic
Whole Storage Life-cycle Management Full life-cycle management of storage (creation, access, destruction)
Universal Client Code No vendor code in client
Zero Client Configuration
Common API For all compute and orchestration clients Expose and abstract enterprise storage functionalities
15 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS Design
CLOUD ENTERPRISE Common Interface Universal OpenSDS plug-ins for different frameworks. Open API for integration Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in Plug-in IT Integration
Policy-Based Controls API Pooling of storage resources with policy-based CONTROLLER controls for provisioning, data protection, lifecycle management and more Discovery, Pooling, Lifecycle, Data Protection
OpenStack OpenSDS Other Wide Storage Support drivers native drivers Comes with support for range of Cinder and Manila storage drivers. Extensible for new storage Local Storage SAN NAS NVMf Scale-Out Cloud Enterprise Class OpenSDS API’s and policies support x86 HW and enable the use of enterprise-class storage features
16 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Advance Storage Controls
Applications Advance API’s OpenSDS provides API’s to drive policies for lifecycle, tiering, QoS, data protection etc. OpenSDS Controller
Block File Object
Tiering Caching QoS Lifecycle
Snapshot Mirror Backup Clone Replication
Migration Sharing Groups Dedup Compress Encrypt Quota
High-end storage Converged storage All-Flash storage Distributed storage 17 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Tenant Concept
• Storage Profile: A storage service profile created Storage Profile by the Admin – maps to one or more Virtual Pools - Name {profile name} - Tier0
• Service Catalog: A list of Storage Profiles available Service Catalog for storage provisioning requests Storage Profile - Name {profile name} request storage • Storage Request: A storage provisioning request - Tier0 by a Tenant based on a Storage Profile OpenSDS Storage Profile - Name {profile name} - Tier1 • Admin: Person that manages Storage Pools, create vol creates Storage Profiles create profile
• Tenant: Storage consumer that requests for storage Admin through Storage Profile requests eg. End-user, Pool Pool Pool manage application, K8S pod etc. pool
18 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS Concept Federation Region 1 Region 2 • Region: Each region has its own OpenSDS controller OpenSDS OpenSDS Controller Controller • Zone: Each region can be segmented into zones for fault isolation Zone 101 Virtual Pool 2 Virtual Pool 1 • Storage resources can be grouped Storage 1 Physical Pool: Physical Physical into physical storage pools eg. RAID group(s). Pool 1 Pool 2 Storage 2 Physical pool may span across nodes eg. Ceph pool Physical Pool 2 Virtual Pool 3
• Virtual Pool: Physical pools of similar characteristics Zone 201 Zone 102 Storage 1 can be grouped together into a Virtual Pool across Physical Physical Storage 1 Pool 1 Pool 2 different Zones in a Region (future) Physical Physical Pool 1 Pool 2 Zone 202 Storage 1 • Storage Group: a group of provisioned Zone 103 Physical Physical Pool 1 Pool 2 volumes/shares that allow operations such as Storage 1 Physical Physical snapshots to be performed together. Groups may be Pool 1 Pool 2 mapped to K8S pods, labels or services
19 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. 19 Storage Profile and Request • Profile Name • Regions {list of regions storage can be provisioned from} • Protocols {list of data transfer protocols} • Profile Policies (configured by administrator) • Access Control {list of tenants that can use this profile} • Max Request Size {max volume/share … size} • Security {data encryption options etc.} • Protection {data protection policy for this profile) • Replication {data replication policy for this profile) • Lifecycle (after detach) { retain | delete | erase } • Sharing { none | read write | read only } {list of tenants to share with} • Sharing {read-write, read-only} • Optimization {thin | compression | dedupe} • Custom • Request Options: • Throughput • IOPS
20 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS Architecture Blocks
Cloud Orchestrator (OpenStack, K8S, Mesos, Swarm, etc.)
OpenSDS Plugin
OpenSDS API OpenSDS Controller Orchestration (Lifecycle, Tiering, Data Protection)
Selector Policy Engine Metrics Executor
OpenSDS Hub
OpenSDS Native Other Drivers
21 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS for Cloud Native
Cloud-Native Storage Integration with Kubernetes, Docker, and Mesos • enables dynamic storage provisioning • responds to container events eg. support for container migration to another host
Policy-Based Storage Controls Built-in policies for lifecycle management, data protection, data security, and orchestrated controls for cloud-native apps
Cloud-Native Deployment Connect to all storage backends supported by Cinder and Manila drivers
Built-in Support For OpenStack Storage Connect to all storage backends supported by Cinder and Manila drivers
Storage Discovery and Pooling Support discovery of storage backends and aggregation of storage resources into a seamless whole
22 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS for OpenStack
Policy-Based Storage Controls Built-in policies for lifecycle management, data protection, data security, and orchestrated controls for cloud-native apps
Orchestrate Storage Add orchestration to Cinder/Manila by automating operations such as snapshots, backups and lifecycle management
Leverage Enterprise Storage Features Advanced OpenSDS API’s enables enterprise storage features to be fully utilized by OpenStack
23 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Yahoo! Japan Introduction • Yahoo! JAPAN is one of the largest internet company in Japan • Our 100+ services earn 62billion PV per month
24 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Yahoo! Japan: Infrastructure -1
• 6+ DCs (1DC in the US) • 100,000+ Servers • 50PB+ Storage
25 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Yahoo! Japan: Infrastructure -2
• 50+ OpenStack Clusters 50,000+ instances
• Next-gen Private Cloud Clusters Kubernetes, Cloud Foundry...
26 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Yahoo! Japan: Storage Complexity
Traditional Systems
Cinder Swift NFS HDFS Persistent Storage Manila
27 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Yahoo! Japan: Why We Join OpenSDS • We need open, fair and long-term software project • Reduce complexity • Improve convenience
28 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. OpenSDS Demo • Scenario:Data Analysis • Requirement:Large Capacity Device Type:IBM XIV Disk Type:SATA Data Protection:NA
• Scenario:OLTP • Profile:High Availability & High Performance Device Type:Huawei Dorado V3 Disk Type:Dual-port NVMe SSD Data Protection:Active-Active DR cluster
29 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. For more information
Email: [email protected] Web: www.opensds.io Github: https://github.com/opensds
30 2017 Storage Developer Conference. © OpenSDS All Rights Reserved. Thank you!
31 2017 Storage Developer Conference. © OpenSDS All Rights Reserved.