SlideShare a Scribd company logo
1 of 23
Download to read offline
© 2015 Apcera
Policy-based Cloud Storage
Persisting Data in a Multi-Site, Multi-Cloud World
V 2015-09-23.1
Earl C. Ruby III
Principal Software Engineer
Apcera
earl@apcera.com
@earlruby
http://earlruby.org
© 2015 Apcera
Introduction
My name is Earl, and I work at Apcera
This is the picture I used last year at RICON
Storage covers a lot of ground, so I’m going to
focus on file system storage and policy
Q&A afterwards, but feel free to ask questions
© 2015 Apcera
What problem are we trying to solve?
© 2015 Apcera
What problem are we trying to solve?
We want to reduce application
development time by allowing engineers
to easily provision services -- network,
DNS, NoSQL, DB, Web, etc. --- without
having to request the service from some
other group and without compromising
system security or stability
© 2015 Apcera
File systems in the cloud
! Provide a temporary file system to a single job
! Provide a persistent file system to a single job
! Provide a persistent file system shared with multiple jobs
Do all of the above on any cloud, anywhere
© 2015 Apcera
Temporary file system / single job
Not too interesting...
! Job starts, has a file system (how much data?)
! Job writes data to the file system (what kind of performance?)
! Data is stored locally on the same host where the job runs (limits the
available volume size)
! Job ends, data goes away (hence the name “temporary”)
! Linux containers handle this well today
© 2015 Apcera
Persistent file system / single job
More interesting...
! Job starts, has a file system
! Job writes data to the file system (what performance?)
! Job migrates to a new host, data moves with it (but how quickly?)
! Job restarts, data persists (how durable? RAID? 3 copy?)
! Job ends, data goes away (difference between restart and end?)
© 2015 Apcera
Persistent FS / shared / multiple jobs
Very interesting...
! First job starts, gets a file system (how much data?)
! More jobs start, can access same file system (how many jobs?)
! Jobs write data to the file system (how many jobs at the same time?
same file? same directory?)
! Jobs migrate to a new cloud (all jobs or some? does the shared data
migrate and if so, when?)
! Will it scale?
© 2015 Apcera
Define “Scale”
When we say “Scale”, what are we talking about?
! Total volume of data
! Number of simultaneous read/write/update/delete operations
! Number of simultaneous connections
! Total IOPS / Gbps (“Noisy Neighbor” problem)
! Consistency / Availability / Partition Tolerance (CAP)
! Predictable performance as all of the above increase
It depends...
© 2015 Apcera
Trade-offs
Different types of storage systems have different tradeoffs
! NFS - all traffic across network, tends to degrade if many jobs write to
the same file or directory (locking issues)
! Local SSD - fast, but total space is limited to the size of the disk, SPOF
! HDFS - Optimized for large files and sequential reads
! AWS EBS - Only works on AWS, can get expensive for high IOPS
! AWS Glacier - Cheap to store, slow and expensive to read. Optimized
for large files, write once, read rarely
! Legacy SAN - fast, works for on-premises cloud, not AWS, expensive
to maintain and extend
© 2015 Apcera
Policy!
Use policy for Provisioning,
Security, Performance, and
Business Logic.
Instead of trying to redesign the
wheel, describe what you want
to happen and let the application
platform make that happen.

© 2015 Apcera
Storage creation policy
! Max capacity (disk quota)
! Geo-replicated / HA fail-over required? (Y/N)
! Data Durability
○ Durability affects performance during recovery from hardware failure
○ Let the system decide if an app’s requirements means 1-copy, 2-
copy, 3-copy, RAID level, or erasure encoded
! Thick provisioning required? (Y/N)
© 2015 Apcera
Storage performance policy
! Min / Max IOPS (or best effort)
! Min / Max bandwidth
! Max Latency
! Max Concurrent Access
DO NOT define SSD / HDD / SAN -- define the performance you require,
let the platform figure out how to deliver that performance
© 2015 Apcera
Data handling policy
! Deduplication (Y/N)
! Compression (Y/N)
! At-rest encryption (None, LUKS, etc.)
! Point-in-time recovery required? (Y/N)
○ At what points ? (schedule)
© 2015 Apcera
Business policy
! Max Cost / GB
! Location - where is this data allowed to be physically located?
! Retention - keep data forever or delete after some date?
© 2015 Apcera
Play nice with others
In a multi-cloud world, your platform has to play nice with others
! Connect to other vendors’ storage solutions
! Be able to determine what policies those solutions support
! Apply policies that are supported by those solutions
! React gracefully when policies are not supported
! Self-heal if policy is not supported (or permitted) in any cloud -- give
the user a suggestion on how to move forward
© 2015 Apcera
Where are we now?
! We currently provide NFS volumes to Apcera jobs
! Provide persistent storage to Docker containers
! We are actively engaged with ClusterHQ/Flocker, ObjectiveFS, and
ConvergeIO, among others
! We are part of the Open Container Initiative
! Quotas and access permissions are supported by policy today
© 2015 Apcera
Policy example 1
The following is a basic
quota policy that limits
package size, RAM, disk,
and network resources for
the user Sam’s sandboxed
namespace. Without such
policy, Sam has an
unrestricted use of
resources.
quota::/sandbox/sam {
{ max.package.size 2GB }
{ total.package.size 6GB }
{ total.memory 5GB }
{ total.disk 15GB }
{ total.network 1Gbps }
}
© 2015 Apcera
Policy example 2
The following policy block
limits the maximum amount
of resources individual jobs
and job instances in the /
dev namespace may
consume.
quota::/dev {
{ max.job.cpu 200 }
{ max.instance.cpu 100 }
{ max.job.memory 64GB }
{ max.instance.memory 32GB }
{ max.job.disk 50TB }
{ max.instance.disk 25TB }
{ max.job.network 10Mbps }
{ max.instance.network 5Mbps }
}
© 2015 Apcera
Policy example 3
The following policy block
limits the total amount of
resources all jobs in the /
prod/website namespace
may consume.
quota::/prod/website {
{ total.cpu 1000 }
{ total.memory 100GB }
{ total.disk 10TB }
{ total.network 250Gbps }
}
© 2015 Apcera
Policy example 4
The following policy block
limits the maximum
memory and disk space all
job instances in the /prod
namespace may consume,
and the maximum memory
and disk space each job
instance in the /prod
namespace may consume.
quota::/prod {
{ max.instance.memory 256MB }
{ total.memory 20GB }
{ max.instance.disk 5GB }
{ total.disk 100GB }
}
© 2015 Apcera
When will we get there?
"WHERE ARE WE GOING?"
"PLANET TEN!"
"WHEN WILL WE GET THERE?"
"REAL SOON!"
-- Buckaroo Banzai
© 2015 Apcera
Thanks for listening!
Earl C. Ruby III
Principal Software Engineer
Apcera
earl@apcera.com
@earlruby
http://earlruby.org

More Related Content

What's hot

Practical Guide to Securing Kubernetes
Practical Guide to Securing KubernetesPractical Guide to Securing Kubernetes
Practical Guide to Securing KubernetesLacework
 
Containers for the Enterprise: It's Not That Simple
Containers for the Enterprise: It's Not That SimpleContainers for the Enterprise: It's Not That Simple
Containers for the Enterprise: It's Not That SimpleMirantis
 
Running OpenStack in Production
Running OpenStack in Production Running OpenStack in Production
Running OpenStack in Production Nati Shalom
 
25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8s25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8sDaniel Borovsky
 
CloudConnect 2012: The cloud application stack
CloudConnect 2012: The cloud application stackCloudConnect 2012: The cloud application stack
CloudConnect 2012: The cloud application stackGeva Perry
 
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceBig Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceOpenStack
 
Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Nati Shalom
 
Protecting Yourself from the Container Shakeout
Protecting Yourself from the Container ShakeoutProtecting Yourself from the Container Shakeout
Protecting Yourself from the Container ShakeoutMirantis
 
Stateful Applications On the Cloud: A PayPal Journey
Stateful Applications On the Cloud: A PayPal JourneyStateful Applications On the Cloud: A PayPal Journey
Stateful Applications On the Cloud: A PayPal JourneyTesora
 
Summit openshift-on-openstack
Summit openshift-on-openstackSummit openshift-on-openstack
Summit openshift-on-openstackPippo620677
 
Better, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CS
Better, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CSBetter, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CS
Better, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CSJohn Burwell
 
Apcera: Agility and Security in Docker Delivery
Apcera: Agility and Security in Docker DeliveryApcera: Agility and Security in Docker Delivery
Apcera: Agility and Security in Docker DeliveryApcera
 
Cassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming AnalyticsCassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming AnalyticsBrenden Matthews
 
Mesos meetup @ shutterstock
Mesos meetup @ shutterstockMesos meetup @ shutterstock
Mesos meetup @ shutterstockBrenden Matthews
 
Interoperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About ThemInteroperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About ThemMark Voelker
 
10 Good Reasons: NetApp for DevOps
10 Good Reasons: NetApp for DevOps10 Good Reasons: NetApp for DevOps
10 Good Reasons: NetApp for DevOpsNetApp
 
Running OpenStack in Production
Running OpenStack in ProductionRunning OpenStack in Production
Running OpenStack in ProductionTesora
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Matt Ray
 

What's hot (20)

Practical Guide to Securing Kubernetes
Practical Guide to Securing KubernetesPractical Guide to Securing Kubernetes
Practical Guide to Securing Kubernetes
 
Containers for the Enterprise: It's Not That Simple
Containers for the Enterprise: It's Not That SimpleContainers for the Enterprise: It's Not That Simple
Containers for the Enterprise: It's Not That Simple
 
Running OpenStack in Production
Running OpenStack in Production Running OpenStack in Production
Running OpenStack in Production
 
25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8s25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8s
 
CloudConnect 2012: The cloud application stack
CloudConnect 2012: The cloud application stackCloudConnect 2012: The cloud application stack
CloudConnect 2012: The cloud application stack
 
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceBig Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
 
Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users
 
Protecting Yourself from the Container Shakeout
Protecting Yourself from the Container ShakeoutProtecting Yourself from the Container Shakeout
Protecting Yourself from the Container Shakeout
 
Stateful Applications On the Cloud: A PayPal Journey
Stateful Applications On the Cloud: A PayPal JourneyStateful Applications On the Cloud: A PayPal Journey
Stateful Applications On the Cloud: A PayPal Journey
 
Summit openshift-on-openstack
Summit openshift-on-openstackSummit openshift-on-openstack
Summit openshift-on-openstack
 
Better, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CS
Better, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CSBetter, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CS
Better, Faster, Cheaper Infrastructure: Apache CloudStack and Riak CS
 
Apcera: Agility and Security in Docker Delivery
Apcera: Agility and Security in Docker DeliveryApcera: Agility and Security in Docker Delivery
Apcera: Agility and Security in Docker Delivery
 
Cassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming AnalyticsCassandra summit 2015 - Simplifying Streaming Analytics
Cassandra summit 2015 - Simplifying Streaming Analytics
 
Mesos meetup @ shutterstock
Mesos meetup @ shutterstockMesos meetup @ shutterstock
Mesos meetup @ shutterstock
 
Interoperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About ThemInteroperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About Them
 
10 Good Reasons: NetApp for DevOps
10 Good Reasons: NetApp for DevOps10 Good Reasons: NetApp for DevOps
10 Good Reasons: NetApp for DevOps
 
Running OpenStack in Production
Running OpenStack in ProductionRunning OpenStack in Production
Running OpenStack in Production
 
Microsoft loves Linux
Microsoft loves LinuxMicrosoft loves Linux
Microsoft loves Linux
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013
 

Similar to Policy-based Cloud Storage: Persisting Data in a Multi-Site, Multi-Cloud World

OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017
OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017
OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017Cloud Native Day Tel Aviv
 
HPC Storage and IO Trends and Workflows
HPC Storage and IO Trends and WorkflowsHPC Storage and IO Trends and Workflows
HPC Storage and IO Trends and Workflowsinside-BigData.com
 
Cloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World ConsiderationsCloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World ConsiderationsDataWorks Summit/Hadoop Summit
 
Accelerate Spark Workloads on S3
Accelerate Spark Workloads on S3Accelerate Spark Workloads on S3
Accelerate Spark Workloads on S3Alluxio, Inc.
 
How to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemHow to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemMasaaki Nakagawa
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputePatrick McGarry
 
Streaming solutions for real time problems
Streaming solutions for real time problems Streaming solutions for real time problems
Streaming solutions for real time problems Aparna Gaonkar
 
3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle CloudSimon Haslam
 
on the most suitable storage architecture for virtualization
on the most suitable storage architecture for virtualizationon the most suitable storage architecture for virtualization
on the most suitable storage architecture for virtualizationJordi Moles Blanco
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)DataWorks Summit
 
Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)
Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)
Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)NTT DATA OSS Professional Services
 
Best Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkBest Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkAlluxio, Inc.
 
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...Databricks
 
WekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound AgainWekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound Againinside-BigData.com
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Community
 
Building an Apache Hadoop data application
Building an Apache Hadoop data applicationBuilding an Apache Hadoop data application
Building an Apache Hadoop data applicationtomwhite
 
White Paper: Still All on One Server: Perforce at Scale
White Paper: Still All on One Server: Perforce at ScaleWhite Paper: Still All on One Server: Perforce at Scale
White Paper: Still All on One Server: Perforce at ScalePerforce
 
Persistent storage in Docker
Persistent storage in DockerPersistent storage in Docker
Persistent storage in DockerCheryl Hung
 
At the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with OpenstackAt the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with OpenstackRyan Aydelott
 

Similar to Policy-based Cloud Storage: Persisting Data in a Multi-Site, Multi-Cloud World (20)

OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017
OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017
OpenStack and NetApp - Chen Reuven - OpenStack Day Israel 2017
 
HPC Storage and IO Trends and Workflows
HPC Storage and IO Trends and WorkflowsHPC Storage and IO Trends and Workflows
HPC Storage and IO Trends and Workflows
 
Cloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World ConsiderationsCloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World Considerations
 
Accelerate Spark Workloads on S3
Accelerate Spark Workloads on S3Accelerate Spark Workloads on S3
Accelerate Spark Workloads on S3
 
How to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemHow to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" system
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
 
Streaming solutions for real time problems
Streaming solutions for real time problems Streaming solutions for real time problems
Streaming solutions for real time problems
 
3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud
 
on the most suitable storage architecture for virtualization
on the most suitable storage architecture for virtualizationon the most suitable storage architecture for virtualization
on the most suitable storage architecture for virtualization
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
 
Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)
Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)
Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 (Hadoop Conference Japan 2014)
 
Best Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkBest Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with Spark
 
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...
Best Practices for Using Alluxio with Apache Spark with Cheng Chang and Haoyu...
 
WekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound AgainWekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound Again
 
GPSTEC325-Enterprise Storage
GPSTEC325-Enterprise StorageGPSTEC325-Enterprise Storage
GPSTEC325-Enterprise Storage
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
 
Building an Apache Hadoop data application
Building an Apache Hadoop data applicationBuilding an Apache Hadoop data application
Building an Apache Hadoop data application
 
White Paper: Still All on One Server: Perforce at Scale
White Paper: Still All on One Server: Perforce at ScaleWhite Paper: Still All on One Server: Perforce at Scale
White Paper: Still All on One Server: Perforce at Scale
 
Persistent storage in Docker
Persistent storage in DockerPersistent storage in Docker
Persistent storage in Docker
 
At the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with OpenstackAt the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with Openstack
 

More from Apcera

Gopher fest 2017: Adding Context To NATS
Gopher fest 2017: Adding Context To NATSGopher fest 2017: Adding Context To NATS
Gopher fest 2017: Adding Context To NATSApcera
 
How Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningHow Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningApcera
 
Modernizing IT in the Platform Era
Modernizing IT in the Platform EraModernizing IT in the Platform Era
Modernizing IT in the Platform EraApcera
 
Debugging Network Issues
Debugging Network IssuesDebugging Network Issues
Debugging Network IssuesApcera
 
IT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
IT Modernization Doesn’t Mean You Leave Your Legacy Apps BehindIT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
IT Modernization Doesn’t Mean You Leave Your Legacy Apps BehindApcera
 
How Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the InternetHow Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the InternetApcera
 
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and SwarmSimple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and SwarmApcera
 
The Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATSThe Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATSApcera
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATSApcera
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesApcera
 
Actor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder MeetupActor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder MeetupApcera
 
NATS Connector Framework - Boulder Meetup
NATS Connector Framework - Boulder MeetupNATS Connector Framework - Boulder Meetup
NATS Connector Framework - Boulder MeetupApcera
 
Simple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder MeetupSimple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder MeetupApcera
 
Patterns for Asynchronous Microservices with NATS
Patterns for Asynchronous Microservices with NATSPatterns for Asynchronous Microservices with NATS
Patterns for Asynchronous Microservices with NATSApcera
 
NATS vs HTTP
NATS vs HTTPNATS vs HTTP
NATS vs HTTPApcera
 
Micro on NATS - Microservices with Messaging
Micro on NATS - Microservices with MessagingMicro on NATS - Microservices with Messaging
Micro on NATS - Microservices with MessagingApcera
 
NATS: A Central Nervous System for IoT Messaging - Larry McQueary
NATS: A Central Nervous System for IoT Messaging - Larry McQuearyNATS: A Central Nervous System for IoT Messaging - Larry McQueary
NATS: A Central Nervous System for IoT Messaging - Larry McQuearyApcera
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native StackApcera
 
Simple Solutions for Complex Problems
Simple Solutions for Complex Problems Simple Solutions for Complex Problems
Simple Solutions for Complex Problems Apcera
 
How to Migrate to Cloud with Complete Confidence and Trust
How to Migrate to Cloud with Complete Confidence and TrustHow to Migrate to Cloud with Complete Confidence and Trust
How to Migrate to Cloud with Complete Confidence and TrustApcera
 

More from Apcera (20)

Gopher fest 2017: Adding Context To NATS
Gopher fest 2017: Adding Context To NATSGopher fest 2017: Adding Context To NATS
Gopher fest 2017: Adding Context To NATS
 
How Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningHow Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine Learning
 
Modernizing IT in the Platform Era
Modernizing IT in the Platform EraModernizing IT in the Platform Era
Modernizing IT in the Platform Era
 
Debugging Network Issues
Debugging Network IssuesDebugging Network Issues
Debugging Network Issues
 
IT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
IT Modernization Doesn’t Mean You Leave Your Legacy Apps BehindIT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
IT Modernization Doesn’t Mean You Leave Your Legacy Apps Behind
 
How Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the InternetHow Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the Internet
 
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and SwarmSimple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
 
The Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATSThe Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATS
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATS
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Actor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder MeetupActor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder Meetup
 
NATS Connector Framework - Boulder Meetup
NATS Connector Framework - Boulder MeetupNATS Connector Framework - Boulder Meetup
NATS Connector Framework - Boulder Meetup
 
Simple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder MeetupSimple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder Meetup
 
Patterns for Asynchronous Microservices with NATS
Patterns for Asynchronous Microservices with NATSPatterns for Asynchronous Microservices with NATS
Patterns for Asynchronous Microservices with NATS
 
NATS vs HTTP
NATS vs HTTPNATS vs HTTP
NATS vs HTTP
 
Micro on NATS - Microservices with Messaging
Micro on NATS - Microservices with MessagingMicro on NATS - Microservices with Messaging
Micro on NATS - Microservices with Messaging
 
NATS: A Central Nervous System for IoT Messaging - Larry McQueary
NATS: A Central Nervous System for IoT Messaging - Larry McQuearyNATS: A Central Nervous System for IoT Messaging - Larry McQueary
NATS: A Central Nervous System for IoT Messaging - Larry McQueary
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native Stack
 
Simple Solutions for Complex Problems
Simple Solutions for Complex Problems Simple Solutions for Complex Problems
Simple Solutions for Complex Problems
 
How to Migrate to Cloud with Complete Confidence and Trust
How to Migrate to Cloud with Complete Confidence and TrustHow to Migrate to Cloud with Complete Confidence and Trust
How to Migrate to Cloud with Complete Confidence and Trust
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Policy-based Cloud Storage: Persisting Data in a Multi-Site, Multi-Cloud World

  • 1. © 2015 Apcera Policy-based Cloud Storage Persisting Data in a Multi-Site, Multi-Cloud World V 2015-09-23.1 Earl C. Ruby III Principal Software Engineer Apcera earl@apcera.com @earlruby http://earlruby.org
  • 2. © 2015 Apcera Introduction My name is Earl, and I work at Apcera This is the picture I used last year at RICON Storage covers a lot of ground, so I’m going to focus on file system storage and policy Q&A afterwards, but feel free to ask questions
  • 3. © 2015 Apcera What problem are we trying to solve?
  • 4. © 2015 Apcera What problem are we trying to solve? We want to reduce application development time by allowing engineers to easily provision services -- network, DNS, NoSQL, DB, Web, etc. --- without having to request the service from some other group and without compromising system security or stability
  • 5. © 2015 Apcera File systems in the cloud ! Provide a temporary file system to a single job ! Provide a persistent file system to a single job ! Provide a persistent file system shared with multiple jobs Do all of the above on any cloud, anywhere
  • 6. © 2015 Apcera Temporary file system / single job Not too interesting... ! Job starts, has a file system (how much data?) ! Job writes data to the file system (what kind of performance?) ! Data is stored locally on the same host where the job runs (limits the available volume size) ! Job ends, data goes away (hence the name “temporary”) ! Linux containers handle this well today
  • 7. © 2015 Apcera Persistent file system / single job More interesting... ! Job starts, has a file system ! Job writes data to the file system (what performance?) ! Job migrates to a new host, data moves with it (but how quickly?) ! Job restarts, data persists (how durable? RAID? 3 copy?) ! Job ends, data goes away (difference between restart and end?)
  • 8. © 2015 Apcera Persistent FS / shared / multiple jobs Very interesting... ! First job starts, gets a file system (how much data?) ! More jobs start, can access same file system (how many jobs?) ! Jobs write data to the file system (how many jobs at the same time? same file? same directory?) ! Jobs migrate to a new cloud (all jobs or some? does the shared data migrate and if so, when?) ! Will it scale?
  • 9. © 2015 Apcera Define “Scale” When we say “Scale”, what are we talking about? ! Total volume of data ! Number of simultaneous read/write/update/delete operations ! Number of simultaneous connections ! Total IOPS / Gbps (“Noisy Neighbor” problem) ! Consistency / Availability / Partition Tolerance (CAP) ! Predictable performance as all of the above increase It depends...
  • 10. © 2015 Apcera Trade-offs Different types of storage systems have different tradeoffs ! NFS - all traffic across network, tends to degrade if many jobs write to the same file or directory (locking issues) ! Local SSD - fast, but total space is limited to the size of the disk, SPOF ! HDFS - Optimized for large files and sequential reads ! AWS EBS - Only works on AWS, can get expensive for high IOPS ! AWS Glacier - Cheap to store, slow and expensive to read. Optimized for large files, write once, read rarely ! Legacy SAN - fast, works for on-premises cloud, not AWS, expensive to maintain and extend
  • 11. © 2015 Apcera Policy! Use policy for Provisioning, Security, Performance, and Business Logic. Instead of trying to redesign the wheel, describe what you want to happen and let the application platform make that happen.

  • 12. © 2015 Apcera Storage creation policy ! Max capacity (disk quota) ! Geo-replicated / HA fail-over required? (Y/N) ! Data Durability ○ Durability affects performance during recovery from hardware failure ○ Let the system decide if an app’s requirements means 1-copy, 2- copy, 3-copy, RAID level, or erasure encoded ! Thick provisioning required? (Y/N)
  • 13. © 2015 Apcera Storage performance policy ! Min / Max IOPS (or best effort) ! Min / Max bandwidth ! Max Latency ! Max Concurrent Access DO NOT define SSD / HDD / SAN -- define the performance you require, let the platform figure out how to deliver that performance
  • 14. © 2015 Apcera Data handling policy ! Deduplication (Y/N) ! Compression (Y/N) ! At-rest encryption (None, LUKS, etc.) ! Point-in-time recovery required? (Y/N) ○ At what points ? (schedule)
  • 15. © 2015 Apcera Business policy ! Max Cost / GB ! Location - where is this data allowed to be physically located? ! Retention - keep data forever or delete after some date?
  • 16. © 2015 Apcera Play nice with others In a multi-cloud world, your platform has to play nice with others ! Connect to other vendors’ storage solutions ! Be able to determine what policies those solutions support ! Apply policies that are supported by those solutions ! React gracefully when policies are not supported ! Self-heal if policy is not supported (or permitted) in any cloud -- give the user a suggestion on how to move forward
  • 17. © 2015 Apcera Where are we now? ! We currently provide NFS volumes to Apcera jobs ! Provide persistent storage to Docker containers ! We are actively engaged with ClusterHQ/Flocker, ObjectiveFS, and ConvergeIO, among others ! We are part of the Open Container Initiative ! Quotas and access permissions are supported by policy today
  • 18. © 2015 Apcera Policy example 1 The following is a basic quota policy that limits package size, RAM, disk, and network resources for the user Sam’s sandboxed namespace. Without such policy, Sam has an unrestricted use of resources. quota::/sandbox/sam { { max.package.size 2GB } { total.package.size 6GB } { total.memory 5GB } { total.disk 15GB } { total.network 1Gbps } }
  • 19. © 2015 Apcera Policy example 2 The following policy block limits the maximum amount of resources individual jobs and job instances in the / dev namespace may consume. quota::/dev { { max.job.cpu 200 } { max.instance.cpu 100 } { max.job.memory 64GB } { max.instance.memory 32GB } { max.job.disk 50TB } { max.instance.disk 25TB } { max.job.network 10Mbps } { max.instance.network 5Mbps } }
  • 20. © 2015 Apcera Policy example 3 The following policy block limits the total amount of resources all jobs in the / prod/website namespace may consume. quota::/prod/website { { total.cpu 1000 } { total.memory 100GB } { total.disk 10TB } { total.network 250Gbps } }
  • 21. © 2015 Apcera Policy example 4 The following policy block limits the maximum memory and disk space all job instances in the /prod namespace may consume, and the maximum memory and disk space each job instance in the /prod namespace may consume. quota::/prod { { max.instance.memory 256MB } { total.memory 20GB } { max.instance.disk 5GB } { total.disk 100GB } }
  • 22. © 2015 Apcera When will we get there? "WHERE ARE WE GOING?" "PLANET TEN!" "WHEN WILL WE GET THERE?" "REAL SOON!" -- Buckaroo Banzai
  • 23. © 2015 Apcera Thanks for listening! Earl C. Ruby III Principal Software Engineer Apcera earl@apcera.com @earlruby http://earlruby.org