Home > Storage > PowerFlex > White Papers > Snapshots Container Storage Modules (CSM) for Dell PowerFlex > PowerFlex
PowerFlex software-defined infrastructure enables broad consolidation across the data center, encompassing almost any type of workload and architecture. The software-defined architecture offers automation and programmability of the complete infrastructure and provides scalability, performance, and resiliency to enable effortless adherence to stringent workload Service Level Agreements (SLAs).
The PowerFlex family provides a foundation that combines compute and high-performance storage resources in a managed unified fabric. PowerFlex comes in flexible deployment options (rack, appliance, or custom nodes and in the public cloud) that enables independent (two-layer), HCI (single-layer), or mixed architectures. PowerFlex is ideal for high-performance applications and databases, building an agile private or hybrid cloud, or consolidating resources in heterogeneous environments.
Figure 1. PowerFlex family
PowerFlex software components
Software is the key differentiation in the PowerFlex offering. PowerFlex software components provide software-defined storage services and also help simplify infrastructure management and orchestration. This software enables comprehensive IT Operational Management (ITOM) and Life Cycle Management (LCM) capabilities that span compute and storage infrastructure, from BIOS and Firmware to nodes, software, and networking.
PowerFlex is the software foundation of PowerFlex software-defined infrastructure. It is a scale-out block and file storage service that is designed to deliver flexibility, elasticity, and simplicity with predictable high performance and resiliency at scale.
PowerFlex Manager is the software component in PowerFlex family that enables ITOM automation and LCM capabilities for PowerFlex systems. Starting with PowerFlex 4.0, the unified PowerFlex Manager brings together three separate components used in previous releases: PowerFlex Manager, the core PowerFlex UI, and the PowerFlex gateway. The new PowerFlex UI runs in Kubernetes and embraces a modern development framework.
PowerFlex File Controllers, also known as File Nodes, are physical nodes that enable PowerFlex software-defined File Services. They host the Network-Attached Storage (NAS) Servers, which in turn host the tenant namespaces and file systems, mapping PowerFlex volumes to the file systems presented by the NAS Servers. All major protocols are supported, such as NFS, SMB/CIFS, FTP, and NDMP.
PowerFlex software-defined infrastructure excels in deployment flexibility. PowerFlex can be deployed in a two-layer (independent compute and storage layers), single-layer (Hyperconverged Infrastructure, or HCI), or a mixture of the two architectures (Mixed).
Figure 2. PowerFlex deployment architectures
Independent architecture
In an independent architecture or two-layer architecture, some of the nodes provide storage capacity for applications data while other separate and independent nodes provide compute resources for applications and workloads. Compute and storage resources can be scaled independently by adding nodes to the cluster while it remains active. This separation of compute and storage resources can help minimize software licensing costs in certain situations. This architecture is ideal for high-performance databases and application workloads.
In an HCI architecture, each node in the cluster contributes storage and compute resources simultaneously to the applications and workloads. This architecture allows you to scale your infrastructure uniformly with building blocks that add both storage and compute resources. This architecture is appropriate for data center and workload consolidation.
In a mixed architecture, we have a combination of both the HCI and Independent architectures. As shown in Figure 2 there are some storage only nodes, compute only nodes, and HCI nodes that are part of the same PowerFlex cluster. This architecture is useful when working with an existing compute infrastructure and adding high-performance software-defined infrastructure. It is also a starting point for a two-layer deployment design when external workloads are migrated to PowerFlex.
PowerFlex rack is a software-defined infrastructure platform that delivers flexibility, elasticity, and simplicity with predictable performance and resiliency at scale by combining compute as well as high-performance storage resources in a managed unified network. This rack-based engineered system, with integrated networking, enables customers to achieve the scalability and management requirements of a modern data center.
PowerFlex appliance is a PowerEdge server which has been configured as a node in a software-defined infrastructure deployment that runs PowerFlex software components. This offering allows customers the flexibility and savings to bring their own compatible networking.
PowerFlex Custom Nodes are validated server building-blocks that are configured for use with PowerFlex. Custom nodes are available with thousands of configuration options and are available for customers who to build their own environments.
PowerFlex software can also be deployed in the public cloud and is available in the Amazon Marketplace as Dell APEX Block Storage for AWS (formerly known as PowerFlex cloud storage on AWS) offering the same on-premises benefits of high-performance, linear scalability, and high resilience as in cloud. In addition to larger volume sizes, higher performance, predictable scalability, and high performance with low latency you can also get higher resilience when PowerFlex Fault sets are automatically distributed across multiple AWS Availability Zones. One can easily migrate data from an on-premises PowerFlex deployment to Dell APEX Block Storage for AWS deployment, or from public cloud back to on-premises, by using the PowerFlex native replication technology.
A vital component outside of PowerFlex that enables a flexible consumption model for Kubernetes is the PowerFlex CSI driver, developed as a part of the Dell Kubernetes strategy. After loading the CSI driver for PowerFlex into Kubernetes, it can be used to provision persistent volumes from the underlying PowerFlex storage resource. If the Kubernetes deployment is running low on PowerFlex storage resources, you can seamlessly add PowerFlex storage nodes to increase the system capacity and performance.
The CSI driver connects the PowerFlex system and Kubernetes deployments. It is a storage broker which dynamically provisions volumes from PowerFlex through the PowerFlex API gateway to the Kubernetes cluster. Once the volume is available on PowerFlex, it is immediately mapped to the requesting pod. If a pod is destroyed or rescheduled, the CSI plug-in ensures that the volumes are remapped upon that pod’s rescheduling.
Customers running Kubernetes clusters on PowerFlex make use of the Dell Container Storage Modules (CSM), which extend the CSI driver capabilities. These modules:
At present, these modules include replication, observability, authorization, application mobility and resiliency.
PowerFlex supports multiple operating systems, different deployment options on-premises and public cloud deployment model (available in AWS). PowerFlex is validated with leading Kubernetes distributions as shown in the Figure 3.
Figure 3. PowerFlex for different Kubernetes distributions
Kubernetes is an open-source container orchestration system that is portable and can be extended to manage containerized workloads and services. Thus, Kubernetes facilitates both declarative configuration and automation. Containers are an effective way to bundle and run your applications because they have their own file system, CPU, memory, process space, and so on. As the containers are decoupled from the underlying infrastructure, they are portable across clouds and operating system distributions. Kubernetes provides a framework to run distributed systems resiliently.
For more information about Kubernetes, see the Kubernetes documentation.