Francois Martel, Solutions Architect of Portworx explains how you can tackle Data Gravity, Kubernetes, and strategies/best practices to run, scale, and leverage stateful containers in production.
5. Portworx is part of the CNCF stack
Kubernetes - Cloud Native Scheduling
OCI - Cloud Native Execution Runtime
CSI CNI
Portworx
Other Weave Contiv
Prometheus
Portworx allows you to
move this stack across
various infrastructure
types
......
network compute
storage
(ebs)
AWS
network compute
storage
(MD)
AZURE
network compute
storage
(G-PD)
GOOGLE
network compute
storage
(v-SAN)
BARE METAL
VMWARE
Your Portable Cloud Stack
Runs on any interchangeable infrastructure
Multi Cloud
6. Why Portworx?
Tight Kubernetes Integration and DevOps driven automation
● All operations driven through the scheduler
● Extensive OpenStorage API to use for your “Infrastructure as Code Platform”
Very High Application Density Support
● 1000 Nodes per cluster, 100K virtual volumes per cluster, 1000 volumes per host
● No extra cloud provider cost per virtual volume
● High IOPS and bandwidth evenly distributed even to small volumes
Multi AZ and Multi Cloud Application Level Availability
● Every Portworx volume is available in any Availability Zone
● Global volume namespace - Available even across different Cloud Providers
● Application level RTO on failover is in seconds
Application Aware Volume Provisioning
● Application Aware Group Storage Features (Snaps, Encryption, DR per volume groups)
● Multi Container Volume Provisioning - An application is not just one container
Data Workflow Management
● Blue Green deployment support
● Application level migration between clusters and clouds
8. Open Source
OpenStorage.org
Scheduler Data Layer: OpenStorage is a massively scalable data layer for
Containers and Schedulers like Kubernetes and Mesosphere:
https://github.com/libopenstorage
LCFS
Data Path: LCFS provides core data path functionality for Docker images.
Check it out on https://github.com/portworx/lcfs
PORX
Bundled Data Services: Try out the Portworx community edition at
https://github.com/portworx/px-dev
Torpedo
A test suite for validating storage solutions for Linux Container Orchestration
tools
CSI
Container Storage Interface. Standard Storage API between all Schedulers
and all Storage Providers
STORK
Cloud Native storage orchestration runtime scheduler plugin to translate a
orchestration decisions into something upon which an external cloud native
storage solution can act. Extends Kubernetes with more stateful awareness
of the underlying storage provider, it's capabilities and state.
10. PX runs as OCI Container under systemd
PX
Device Store
Timestamp Log
Write Through cache
I/O Dispatch
I/O
Q
U
E
U
E
R
P
C
C
S
I
G
O
S
S
I
P
Provisioning/Mgmt
Clustering
Background tasks
PXPX
■ Nodes share state information over gossip protocol
■ Use Key-Value Store for configuration data
■ Data Sent over highly optimized RPC
PX
gossip gossip gossip
rpc
Configuration Information
PX OCI Container
rpc rpc
11. PX Control Plane And Data Plane
Device Store
Timestamp Log
Write Through cache
I/O Dispatch
I/O
Q
U
E
U
E
R
P
C
C
S
I
G
O
S
S
I
P
Provisioning/Mgmt
Clustering
Background tasks
SCHEDULER
bind mount:
/var/data/mysql
/dev/px
Create, Mount, Snap, Encrypt, etc..
PX Virtual Block
ext4/xfs
Linux Kernel
Mount
R/W/F/T/D
SSD
HDD
Synchronous
Replication
{
I/O,
usage,
CPU,
Mem
}
Real Time Feed