SlideShare a Scribd company logo
1
High Performance, Cloud Native Object Storage
January 2020
high performance, software defined, distributed object
storage
private cloud
MINIO SERVER MINIO CLIENT MINIO SDK
2
What is MinIO
3
What Makes Us Different
MinIO is focused on
performance. We believe we
are the fastest object store in
existence.
MinIO is cloud native. It is the
most Kubernetes-friendly
solution available for the
private cloud.
MinIO is 100% open-source
giving us an increasingly
dominant position in the
enterprise.
MinIO is built for scale using
the same philosophy as the
web scalers.
MinIO designed for simplicity.
Simplicity scales - across
clients, clouds and machines.
4
What Makes Us the Standard for the Private Cloud
DOCKER PULLS
GITHUB STARS
SLACK MEMBERS
CONTRIBUTORS
5
Exceptional Growth
DOCKER PULLS DIRECT DOWNLOADSUNIQUE USERS
78% YOY Growth. 202% YOY Growth. 265% YOY Growth.
6
Developer Traction
Kubernetes: 62,537
Docker: 56,181
Minio: 19,956
Apache/Kafka: 14,763
Apache/Mesos: 4,409
*as of january 20th, 2020
7
Understanding MinIO’s Reach
More than half of the Fortune
500 runs MinIO in some
capacity. Of the Fortune 100,
84 companies run MinIO.
In the last month we tracked 19K
live instances of MinIO across
10K organizations + SIX
continents.
MinIO is deployed in 153
countries. North America,
Europe dominate, followed
by China and other
developing economies.
A Global Franchise
8
9
Across Industries
10
Across Configurations
62% of all
instances are
containerized
using Docker.
Only 3% of all
instances are running
in pure Gateway
mode. NAS, Azure, S3
and GCS make up the
top four.
Linux dominates
(81%) followed by
Windows (14%)
DOCKER GATEWAY OS
27% of all instances
managed using
Kubernetes - 43% of
the containerized
instances.
KUBERNETES
11
MinIO Powers Dozens of Product Offerings
MinIO was selected to power the Digital
Stream Processing product. Additional
products in the pipeline.
McKesson’s radiology product uses MinIO
for image storage.
Datera’s object storage layer is MinIO.
MinIO powers the object storage
component of this industry leading EHR.
“Minio object storage perfectly compliments
Portworx by providing a simple object storage
service layer on top of Portworx data services.”
Nutanix Objects/Buckets is based entirely
on MinIO and is referenced in their
documentation.
The recommended object store for Cloud
Private/Kubernetes.
“For customers who want to interact with
Qumulo via the S3 SDK or API, we
recommend using Minio.”
12
16 Node HDD
25 Gbe Network
Avg Read
Throughput
(GET)
Avg Write
Throughput
(PUT)
Distributed 10.81 GB/s 8.57 GB/s
Distributed with
Encryption
9.38 GB/s 6.91 GB/s
S3 Benchmark - Spinning Disk: 16 Nodes
13
24 Node HDD
25 Gbe Network
Avg Read
Throughput
(GET)
Avg Write
Throughput
(PUT)
Distributed 16.3 GB/s 9.4 GB/s
S3 Benchmark - Spinning Disk: 24 Nodes
14
8 Node NVMe
100 Gbe Network
Avg Read
Throughput
(GET)
Avg Write
Throughput
(PUT)
Distributed 46.54 GB/s 34.4 GB/s
Distributed with
Encryption
46.4 GB/s 34.6 GB/s
S3 Benchmark - NVMe: 8 Nodes
15
32 Node NVMe
100 Gbe Network
Read
Throughput
(GET)
Write
Throughput
(PUT)
Distributed 183.2 GB/s 171.3 GB/s
Distributed with
Encryption
162 GB/s 114.7 GB/s
S3 Benchmark - NVMe: 32 Nodes
16
The addition of a separate network for internode traffic would effectively double the performance.
Linear Scalability
HDD Scalability NVMe Scalability
8.57
10.81
9.4
17
20
15
10
5
0
16 node 24 node
Maximum Bandwidth (GB/sec)
PUT
GET
Trendline
200
150
100
50
0
8 node 32 node
Maximum Bandwidth (GB/sec)
34.4
46.5
171.3
183.2
PUT
GET
Trendline
18
Faster than HDFS
19
Spark and Presto: MinIO vs. AWS
Why MinIO is so Fast
SINGLE LAYER
We are a single layer, object only.
Multiple layers cause latency, complexity.
SIMD ACCELERATION
By writing the core parts of MinIO in assembly
language (SIMD extensions) we are hyperfast on
commodity HW.
COMBINATION OF GO + GOASM
Delivering C-like performance by combining
GO + Assembly Language and targeting
them to the task.
NO METADATA DATABASE
By writing object and metadata together you
make all operations single and atomic.
Multiple steps for other vendors.
21
Big Data/Machine Learning
environments
HDFS replacements
High performance data
lake/warehouse infrastructure
Cloud native applications
(replacing file + block)
Multi-cloud environments
(portability)
Endpoint for streaming
workloads
By deploying for performance, long term archival storage and disaster recovery are effectively free.
MinIO Deployment Use Cases
22
Takeaways
MinIO has grown into the
dominant provider of object
storage in the private cloud.
Performance and scalability are
key criteria and MinIO is leading
the market on both fronts.
We are entering the
Kubernetes-era of
computing and no object
storage solution is is better
positioned than MinIO.
23
24
Core Architecture
P
P
P
P
SERVER 2 SERVER 3 SERVER 32SERVER 1
OBJECT
1
OBJECT
2
100 GBe SWITCH
S3 API
minio server http://host{1...32}/export{1...32}
MinIO Architecture
26
At the Center of a Modern Architecture
S3
SELECT
SQL
S3
S3
SELECT
SQL
S3 SELECT
Data Processing
Applications
Streaming Data
Events
Logs
Sensor Data
Social
Transaction
Data Infrastructure
Machine Learning
STATELESS
27
MinIO/Kubernetes Deployment Scenarios
Stateful SetsDeployment M-Operator M3 (mcube)
28
VMware’s Standard for K8’s Storage
Kubernetes Storage Leadership
Source: CNCF Survey 2018
Kubernetes related Dockerhub image downloads:
Source: Torsten Volk, EMA
Which of these cloud native storage projects is your
company / organization using:
30
MinIO on NAS & Cloud (gateway mode)
S3
NAS / Cloud Server
NFSNFS
APPLICATIONS
31
Splunk SmartStore and MinIO
32
Performance Oriented, Enterprise Grade Features
Amazon S3 API is the de facto standard for object storage.
MinIO implements Amazon S3 v2/v4 API.
MinIO has a pluggable back-end with integrations with
external storage backends such as NAS, Google Cloud Storage,
and Azure Blob Storage.
MinIO server triggers Lambda functions through event
notification service. OCR, audit compliance are good
examples of lambda computing.
You may lose up to half the number of drives and still recover
from it. Data protection code is accelerated using SIMD
instructions on x64 and ARM CPUs.
Federation allows combining unlimited number of
MinIO instances to form a single global.
Disk-cache feature allows content to be closer to the
tenants. This enables objects to be delivered with
high performance and reduced bandwidth cost.
MinIO Server integrates with Identity Providers such as
WSO2, Keycloak, Okta, Ping Identity to allow applications
or users to authenticate and use Object Storage.
MinIO provides confidentiality, integrity and authenticity
assurances for encrypted data with negligible performance
overhead.
MinIO supports WORM (Write-Once-Read-Many) for
long-term data retention as mandated by regulations or
compliance rules.
S3 Select filters the contents of an object using SQL to parse
object data into records, and returns only records that
match the query.
Scalability
DATA CENTER 1 DATA CENTER 2 DATA CENTER 3
ETCD
US-EAST US-WEST
DNS
EU-1 EU-2
▪
▪
▪
Continuous Disaster Recovery
mc mirror --watch --recursive dc1/ dc2/
PRIMARY SITE SECONDARY SITE
network
OBJECTS
ELASTICSEARCH
POSTGRESQL
REDIS
AMQP
NATS IO
WEBHOOKS
MQTT
LAMBDA FUNCTION
BATCH PROCESS
AUDIT LOGS
THUMBNAIL
OCR
COMPRESS
MinIO Lambda Functions
Identity & Access Management
Client grant
OpenID Connect
Token
Get object
Token
STS
Temporary
credentials
IDENTITY
PROVIDER
(IdP)
APPLICATION
MinIO Encryption
SSE-S3
SSE-C
My Bucket
My Object
Data
KMS
Random IV
Algorithm Name
Sealed Object Key
Random IV
Sealed Object Key
KMS Key ID
Sealed KMS Data Key
Algorithm Name
Metadata
Metadata
Disk1
MyBucket
MyObject
part.1
export-xl/
xl.json
{
“version”: “1.0.1”,
“format”: “xl”,
“stat”: {
“size”: 2286,
“modTime”: “2017-12-02T00:24:20.975968336Z”,
},
“erasure”: {
“algorithm”: “klauspost/reedsolomon/vandermonde”,
“data”: 2,
“parity”: 2,
“blockSize”: 10485760,
“index”: 2,
“distribution”: “[
2,
3,
4,
1
],
“checksum”: [
{
“name”: “part.1”,
“algorithm”: “blake2b”,
“hash”: “c24fa0451fd85a3a482c...b672b7f”
}
]
},
“minio”: {
“release”: “DEVELOPMENT.GOGET”
},
“meta”: {
“content-type”: “application/octet-stream”,
“etag”: “c1d217c52d44c9eab00e81496b2b91b6”
},
“parts”: [
{
“number”: 1,
“name”: “part.1”,
“etag”: “”,
“size”: 2286
}
]
}
Disk2
MyBucket
MyObject
part.1
xl.json
Disk3
MyBucket
MyObject
part.1
xl.json
Disk4
MyBucket
MyObject
part.1
xl.json
Erasure Code
Internals
39
MinIO Reference Hardware
MinIO Encryption - SSE-C
MyBucket
S3 Client
HTTPS
HTTP Body
HTTP Headers
X--Amz-...-Customer-Algorithm
X-Amz-...-Customer-Key
X-Amz-...-Customer-Key-MD5
My Object
Generated
randomly
Object
Key
SSE
Key
Sent by
client
Generated
randomly
IV
Sealed Object
Key
Object
Name
Bucket
Name IV
Algorithm Name
Sealed Object Key
Metadata
Object Data
MinIO Encryption - SSE-S3
My Bucket
S3 Client
HTTPS
HTTP Body
HTTP Headers
X-Amz-Server-Side-
Encryption: AES256
My Object
Generated
randomly
Generated
randomly
IV
Algorithm Name
Sealed Object Key
Metadata
Object Data
KMS
KMS Sealed Key
KMS Key ID
Object
Key
KMS
Data Key
IV
Sealed Object
Key
Object
Name
Bucket
Name
KMS
Sealed Key
Master Key 1

More Related Content

What's hot

Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
inwin stack
 
Presto Summit 2018 - 09 - Netflix Iceberg
Presto Summit 2018  - 09 - Netflix IcebergPresto Summit 2018  - 09 - Netflix Iceberg
Presto Summit 2018 - 09 - Netflix Iceberg
kbajda
 
Systemtap
SystemtapSystemtap
SystemtapFeng Yu
 
Using ZFS file system with MySQL
Using ZFS file system with MySQLUsing ZFS file system with MySQL
Using ZFS file system with MySQL
Mydbops
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
Rainer Gerhards
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
Julien Pivotto
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
SATOSHI TAGOMORI
 
Introduction to storage
Introduction to storageIntroduction to storage
Introduction to storagesagaroceanic11
 
Demystifying flink memory allocation and tuning - Roshan Naik, Uber
Demystifying flink memory allocation and tuning - Roshan Naik, UberDemystifying flink memory allocation and tuning - Roshan Naik, Uber
Demystifying flink memory allocation and tuning - Roshan Naik, Uber
Flink Forward
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
Sage Weil
 
Scaling Flink in Cloud
Scaling Flink in CloudScaling Flink in Cloud
Scaling Flink in Cloud
Steven Wu
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Noritaka Sekiyama
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
MIJIN AN
 
IBM Spectrum Scale Overview november 2015
IBM Spectrum Scale Overview november 2015IBM Spectrum Scale Overview november 2015
IBM Spectrum Scale Overview november 2015
Doug O'Flaherty
 
How Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for PerformanceHow Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for Performance
Brendan Gregg
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
SATOSHI TAGOMORI
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Brendan Gregg
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Flink Forward
 

What's hot (20)

Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
 
Presto Summit 2018 - 09 - Netflix Iceberg
Presto Summit 2018  - 09 - Netflix IcebergPresto Summit 2018  - 09 - Netflix Iceberg
Presto Summit 2018 - 09 - Netflix Iceberg
 
Systemtap
SystemtapSystemtap
Systemtap
 
Using ZFS file system with MySQL
Using ZFS file system with MySQLUsing ZFS file system with MySQL
Using ZFS file system with MySQL
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
 
Introduction to storage
Introduction to storageIntroduction to storage
Introduction to storage
 
Demystifying flink memory allocation and tuning - Roshan Naik, Uber
Demystifying flink memory allocation and tuning - Roshan Naik, UberDemystifying flink memory allocation and tuning - Roshan Naik, Uber
Demystifying flink memory allocation and tuning - Roshan Naik, Uber
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
Scaling Flink in Cloud
Scaling Flink in CloudScaling Flink in Cloud
Scaling Flink in Cloud
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
 
IBM Spectrum Scale Overview november 2015
IBM Spectrum Scale Overview november 2015IBM Spectrum Scale Overview november 2015
IBM Spectrum Scale Overview november 2015
 
How Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for PerformanceHow Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for Performance
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 

Similar to MinIO January 2020 Briefing

Consumption Based On-Demand Private Cloud in a Box
Consumption Based On-Demand Private Cloud in a BoxConsumption Based On-Demand Private Cloud in a Box
Consumption Based On-Demand Private Cloud in a Box
Rebekah Rodriguez
 
Accelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to CloudAccelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to Cloud
Rebekah Rodriguez
 
Speed up Digital Transformation with Openstack Cloud & Software Defined Storage
Speed up Digital Transformation with Openstack Cloud & Software Defined StorageSpeed up Digital Transformation with Openstack Cloud & Software Defined Storage
Speed up Digital Transformation with Openstack Cloud & Software Defined Storage
Matthew Sheppard
 
Emerging Computing Architectures
Emerging Computing ArchitecturesEmerging Computing Architectures
Emerging Computing Architectures
Daniel Holmberg
 
Cisco connect montreal 2018 compute v final
Cisco connect montreal 2018   compute v finalCisco connect montreal 2018   compute v final
Cisco connect montreal 2018 compute v final
Cisco Canada
 
The evolution of data center network fabrics
The evolution of data center network fabricsThe evolution of data center network fabrics
The evolution of data center network fabrics
Cisco Canada
 
cncf overview and building edge computing using kubernetes
cncf overview and building edge computing using kubernetescncf overview and building edge computing using kubernetes
cncf overview and building edge computing using kubernetes
Krishna-Kumar
 
OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019
MayaData Inc
 
Emerging Cloud Storage Trends for Enterprises
Emerging Cloud Storage Trends for EnterprisesEmerging Cloud Storage Trends for Enterprises
Emerging Cloud Storage Trends for Enterprises
Rebekah Rodriguez
 
Dimension Data Cloud Business Unit - Solution Offering
Dimension Data Cloud Business Unit - Solution OfferingDimension Data Cloud Business Unit - Solution Offering
Dimension Data Cloud Business Unit - Solution Offering
RifaHaryadi
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designIsaac Chiang
 
Optimize Content Delivery with Multi-Access Edge Computing
Optimize Content Delivery with Multi-Access Edge ComputingOptimize Content Delivery with Multi-Access Edge Computing
Optimize Content Delivery with Multi-Access Edge Computing
Rebekah Rodriguez
 
Best practices: running high-performance databases on Kubernetes
Best practices: running high-performance databases on KubernetesBest practices: running high-performance databases on Kubernetes
Best practices: running high-performance databases on Kubernetes
MariaDB plc
 
Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco Canada
 
Why Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT StrategyWhy Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT Strategy
andreas kuncoro
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
Avere Systems
 
Citi Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid CloudCiti Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid Cloud
confluent
 
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableSupermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Rebekah Rodriguez
 
The Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, ParisThe Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, Paris
OW2
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 

Similar to MinIO January 2020 Briefing (20)

Consumption Based On-Demand Private Cloud in a Box
Consumption Based On-Demand Private Cloud in a BoxConsumption Based On-Demand Private Cloud in a Box
Consumption Based On-Demand Private Cloud in a Box
 
Accelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to CloudAccelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to Cloud
 
Speed up Digital Transformation with Openstack Cloud & Software Defined Storage
Speed up Digital Transformation with Openstack Cloud & Software Defined StorageSpeed up Digital Transformation with Openstack Cloud & Software Defined Storage
Speed up Digital Transformation with Openstack Cloud & Software Defined Storage
 
Emerging Computing Architectures
Emerging Computing ArchitecturesEmerging Computing Architectures
Emerging Computing Architectures
 
Cisco connect montreal 2018 compute v final
Cisco connect montreal 2018   compute v finalCisco connect montreal 2018   compute v final
Cisco connect montreal 2018 compute v final
 
The evolution of data center network fabrics
The evolution of data center network fabricsThe evolution of data center network fabrics
The evolution of data center network fabrics
 
cncf overview and building edge computing using kubernetes
cncf overview and building edge computing using kubernetescncf overview and building edge computing using kubernetes
cncf overview and building edge computing using kubernetes
 
OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019
 
Emerging Cloud Storage Trends for Enterprises
Emerging Cloud Storage Trends for EnterprisesEmerging Cloud Storage Trends for Enterprises
Emerging Cloud Storage Trends for Enterprises
 
Dimension Data Cloud Business Unit - Solution Offering
Dimension Data Cloud Business Unit - Solution OfferingDimension Data Cloud Business Unit - Solution Offering
Dimension Data Cloud Business Unit - Solution Offering
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
 
Optimize Content Delivery with Multi-Access Edge Computing
Optimize Content Delivery with Multi-Access Edge ComputingOptimize Content Delivery with Multi-Access Edge Computing
Optimize Content Delivery with Multi-Access Edge Computing
 
Best practices: running high-performance databases on Kubernetes
Best practices: running high-performance databases on KubernetesBest practices: running high-performance databases on Kubernetes
Best practices: running high-performance databases on Kubernetes
 
Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr Cisco’s Cloud Strategy, including our acquisition of CliQr
Cisco’s Cloud Strategy, including our acquisition of CliQr
 
Why Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT StrategyWhy Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT Strategy
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
 
Citi Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid CloudCiti Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid Cloud
 
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableSupermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
 
The Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, ParisThe Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, Paris
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 

Recently uploaded

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 

Recently uploaded (20)

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 

MinIO January 2020 Briefing

  • 1. 1 High Performance, Cloud Native Object Storage January 2020
  • 2. high performance, software defined, distributed object storage private cloud MINIO SERVER MINIO CLIENT MINIO SDK 2 What is MinIO
  • 3. 3 What Makes Us Different MinIO is focused on performance. We believe we are the fastest object store in existence. MinIO is cloud native. It is the most Kubernetes-friendly solution available for the private cloud. MinIO is 100% open-source giving us an increasingly dominant position in the enterprise. MinIO is built for scale using the same philosophy as the web scalers. MinIO designed for simplicity. Simplicity scales - across clients, clouds and machines.
  • 4. 4 What Makes Us the Standard for the Private Cloud DOCKER PULLS GITHUB STARS SLACK MEMBERS CONTRIBUTORS
  • 5. 5 Exceptional Growth DOCKER PULLS DIRECT DOWNLOADSUNIQUE USERS 78% YOY Growth. 202% YOY Growth. 265% YOY Growth.
  • 6. 6 Developer Traction Kubernetes: 62,537 Docker: 56,181 Minio: 19,956 Apache/Kafka: 14,763 Apache/Mesos: 4,409 *as of january 20th, 2020
  • 7. 7 Understanding MinIO’s Reach More than half of the Fortune 500 runs MinIO in some capacity. Of the Fortune 100, 84 companies run MinIO. In the last month we tracked 19K live instances of MinIO across 10K organizations + SIX continents. MinIO is deployed in 153 countries. North America, Europe dominate, followed by China and other developing economies.
  • 10. 10 Across Configurations 62% of all instances are containerized using Docker. Only 3% of all instances are running in pure Gateway mode. NAS, Azure, S3 and GCS make up the top four. Linux dominates (81%) followed by Windows (14%) DOCKER GATEWAY OS 27% of all instances managed using Kubernetes - 43% of the containerized instances. KUBERNETES
  • 11. 11 MinIO Powers Dozens of Product Offerings MinIO was selected to power the Digital Stream Processing product. Additional products in the pipeline. McKesson’s radiology product uses MinIO for image storage. Datera’s object storage layer is MinIO. MinIO powers the object storage component of this industry leading EHR. “Minio object storage perfectly compliments Portworx by providing a simple object storage service layer on top of Portworx data services.” Nutanix Objects/Buckets is based entirely on MinIO and is referenced in their documentation. The recommended object store for Cloud Private/Kubernetes. “For customers who want to interact with Qumulo via the S3 SDK or API, we recommend using Minio.”
  • 12. 12
  • 13. 16 Node HDD 25 Gbe Network Avg Read Throughput (GET) Avg Write Throughput (PUT) Distributed 10.81 GB/s 8.57 GB/s Distributed with Encryption 9.38 GB/s 6.91 GB/s S3 Benchmark - Spinning Disk: 16 Nodes 13
  • 14. 24 Node HDD 25 Gbe Network Avg Read Throughput (GET) Avg Write Throughput (PUT) Distributed 16.3 GB/s 9.4 GB/s S3 Benchmark - Spinning Disk: 24 Nodes 14
  • 15. 8 Node NVMe 100 Gbe Network Avg Read Throughput (GET) Avg Write Throughput (PUT) Distributed 46.54 GB/s 34.4 GB/s Distributed with Encryption 46.4 GB/s 34.6 GB/s S3 Benchmark - NVMe: 8 Nodes 15
  • 16. 32 Node NVMe 100 Gbe Network Read Throughput (GET) Write Throughput (PUT) Distributed 183.2 GB/s 171.3 GB/s Distributed with Encryption 162 GB/s 114.7 GB/s S3 Benchmark - NVMe: 32 Nodes 16 The addition of a separate network for internode traffic would effectively double the performance.
  • 17. Linear Scalability HDD Scalability NVMe Scalability 8.57 10.81 9.4 17 20 15 10 5 0 16 node 24 node Maximum Bandwidth (GB/sec) PUT GET Trendline 200 150 100 50 0 8 node 32 node Maximum Bandwidth (GB/sec) 34.4 46.5 171.3 183.2 PUT GET Trendline
  • 19. 19 Spark and Presto: MinIO vs. AWS
  • 20. Why MinIO is so Fast SINGLE LAYER We are a single layer, object only. Multiple layers cause latency, complexity. SIMD ACCELERATION By writing the core parts of MinIO in assembly language (SIMD extensions) we are hyperfast on commodity HW. COMBINATION OF GO + GOASM Delivering C-like performance by combining GO + Assembly Language and targeting them to the task. NO METADATA DATABASE By writing object and metadata together you make all operations single and atomic. Multiple steps for other vendors.
  • 21. 21 Big Data/Machine Learning environments HDFS replacements High performance data lake/warehouse infrastructure Cloud native applications (replacing file + block) Multi-cloud environments (portability) Endpoint for streaming workloads By deploying for performance, long term archival storage and disaster recovery are effectively free. MinIO Deployment Use Cases
  • 22. 22 Takeaways MinIO has grown into the dominant provider of object storage in the private cloud. Performance and scalability are key criteria and MinIO is leading the market on both fronts. We are entering the Kubernetes-era of computing and no object storage solution is is better positioned than MinIO.
  • 23. 23
  • 25. P P P P SERVER 2 SERVER 3 SERVER 32SERVER 1 OBJECT 1 OBJECT 2 100 GBe SWITCH S3 API minio server http://host{1...32}/export{1...32} MinIO Architecture
  • 26. 26 At the Center of a Modern Architecture S3 SELECT SQL S3 S3 SELECT SQL S3 SELECT Data Processing Applications Streaming Data Events Logs Sensor Data Social Transaction Data Infrastructure Machine Learning STATELESS
  • 27. 27 MinIO/Kubernetes Deployment Scenarios Stateful SetsDeployment M-Operator M3 (mcube)
  • 28. 28 VMware’s Standard for K8’s Storage
  • 29. Kubernetes Storage Leadership Source: CNCF Survey 2018 Kubernetes related Dockerhub image downloads: Source: Torsten Volk, EMA Which of these cloud native storage projects is your company / organization using:
  • 30. 30 MinIO on NAS & Cloud (gateway mode) S3 NAS / Cloud Server NFSNFS APPLICATIONS
  • 32. 32 Performance Oriented, Enterprise Grade Features Amazon S3 API is the de facto standard for object storage. MinIO implements Amazon S3 v2/v4 API. MinIO has a pluggable back-end with integrations with external storage backends such as NAS, Google Cloud Storage, and Azure Blob Storage. MinIO server triggers Lambda functions through event notification service. OCR, audit compliance are good examples of lambda computing. You may lose up to half the number of drives and still recover from it. Data protection code is accelerated using SIMD instructions on x64 and ARM CPUs. Federation allows combining unlimited number of MinIO instances to form a single global. Disk-cache feature allows content to be closer to the tenants. This enables objects to be delivered with high performance and reduced bandwidth cost. MinIO Server integrates with Identity Providers such as WSO2, Keycloak, Okta, Ping Identity to allow applications or users to authenticate and use Object Storage. MinIO provides confidentiality, integrity and authenticity assurances for encrypted data with negligible performance overhead. MinIO supports WORM (Write-Once-Read-Many) for long-term data retention as mandated by regulations or compliance rules. S3 Select filters the contents of an object using SQL to parse object data into records, and returns only records that match the query.
  • 33. Scalability DATA CENTER 1 DATA CENTER 2 DATA CENTER 3 ETCD US-EAST US-WEST DNS EU-1 EU-2 ▪ ▪ ▪
  • 34. Continuous Disaster Recovery mc mirror --watch --recursive dc1/ dc2/ PRIMARY SITE SECONDARY SITE network
  • 35. OBJECTS ELASTICSEARCH POSTGRESQL REDIS AMQP NATS IO WEBHOOKS MQTT LAMBDA FUNCTION BATCH PROCESS AUDIT LOGS THUMBNAIL OCR COMPRESS MinIO Lambda Functions
  • 36. Identity & Access Management Client grant OpenID Connect Token Get object Token STS Temporary credentials IDENTITY PROVIDER (IdP) APPLICATION
  • 37. MinIO Encryption SSE-S3 SSE-C My Bucket My Object Data KMS Random IV Algorithm Name Sealed Object Key Random IV Sealed Object Key KMS Key ID Sealed KMS Data Key Algorithm Name Metadata Metadata
  • 38. Disk1 MyBucket MyObject part.1 export-xl/ xl.json { “version”: “1.0.1”, “format”: “xl”, “stat”: { “size”: 2286, “modTime”: “2017-12-02T00:24:20.975968336Z”, }, “erasure”: { “algorithm”: “klauspost/reedsolomon/vandermonde”, “data”: 2, “parity”: 2, “blockSize”: 10485760, “index”: 2, “distribution”: “[ 2, 3, 4, 1 ], “checksum”: [ { “name”: “part.1”, “algorithm”: “blake2b”, “hash”: “c24fa0451fd85a3a482c...b672b7f” } ] }, “minio”: { “release”: “DEVELOPMENT.GOGET” }, “meta”: { “content-type”: “application/octet-stream”, “etag”: “c1d217c52d44c9eab00e81496b2b91b6” }, “parts”: [ { “number”: 1, “name”: “part.1”, “etag”: “”, “size”: 2286 } ] } Disk2 MyBucket MyObject part.1 xl.json Disk3 MyBucket MyObject part.1 xl.json Disk4 MyBucket MyObject part.1 xl.json Erasure Code Internals
  • 40. MinIO Encryption - SSE-C MyBucket S3 Client HTTPS HTTP Body HTTP Headers X--Amz-...-Customer-Algorithm X-Amz-...-Customer-Key X-Amz-...-Customer-Key-MD5 My Object Generated randomly Object Key SSE Key Sent by client Generated randomly IV Sealed Object Key Object Name Bucket Name IV Algorithm Name Sealed Object Key Metadata Object Data
  • 41. MinIO Encryption - SSE-S3 My Bucket S3 Client HTTPS HTTP Body HTTP Headers X-Amz-Server-Side- Encryption: AES256 My Object Generated randomly Generated randomly IV Algorithm Name Sealed Object Key Metadata Object Data KMS KMS Sealed Key KMS Key ID Object Key KMS Data Key IV Sealed Object Key Object Name Bucket Name KMS Sealed Key Master Key 1