SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
DOCKER DUBLIN - 2018-06-06
Zenko: the
Multi-Cloud Data
ControllerWe enable people who create value with data
by making AWS storage cheaper
Laure
Vergeron
Technology Evangelist
R&D Engineer
Agenda
Agenda
1 - What is multi-cloud?
2 - CloudServer standalone: a simple local S3 endpoint
3 - Zenko: introduction to the multi-cloud data controller
4 - Zenko S3 API: basically just AWS S3 API
5 - Zenko Orbit: introduction to the multi-cloud management UI
6 - Zenko Enterprise Edition: coming later in 2018
7 - MetalK8s: an opinionated, bare-metal Kubespray distribution
7 - Zenkommunity
8 - Demos!
What is Multi-Cloud?
What/why is multi cloud?
▪Content Distribution
▪ Media companies have tens of thousands of movies, which they store on Private Cloud for
control. When it is time to publish a movie, it makes sense to copy it to a public cloud to use
its transcoding and CDN services.
▪Compute Bursting
▪ Banks have to do risk analysis leveraging thousands of CPU every night. These intense
computation only run for a few hours. Rather than having idle servers for the rest of the day, it
makes sense to use Public Cloud services for the computation
▪Analytics
▪ E-commerce company do more and more machine learning on their very large data lake.
Rather than setting up Hadoop infrastructures in-house, the company can copy just a data set
to an Hadoop cloud, compute the appropriate algorithm, and get back the result and destroy
the cloud copy of the data to save on storage cost.
▪Long-term Archival / cold storage
▪ While storing data which is regularly accessed is cheaper in a private cloud, long term archive
of never accessed data is cheaper in long term archive cloud offering. Automatic archival of
never accessed data would save a lot of money.
Examples of Use-Cases for Multi-Cloud
Who is multi cloud?
Who is multi cloud?
What’s the big deal?
What’s the big deal?
What’s the bigger deal?
• Single Interface to any Cloud
▪ S3 API as a single API set to any cloud
• Allow reuse in the Cloud
▪ Maintain the native cloud format
• Always know your data and where it is
▪ Metadata search
• Trigger actions based on data
▪ Data Workflow to manage replication, location
The Zenko Multi-Cloud Data Controller
Native
format
Data
Management
Data Insight
One S3 API for
any cloud
12
CloudServer Standalone
Make your hard drive an S3 bucket
14
CloudServer: What?
• S3 API served in a Docker Container
• Written in Node.js
• 100% open source (Apache 2.0)
• S3 stands for Simple Storage Service. The S3
API provides a simple interface used to store
objects in buckets.
• Single AWS S3 API interface to access
multiple backend data storage both
on-premise or public in the cloud.
Open Source Scality CloudServer Adoption
▪Launched June 2016
▪Open-source
implementation of AWS S3
API
▪Code available on Github
under Apache 2.0 license
▪Packaged in Docker
container for easy
deployment
▪Seamless upgrade to S3
Connector for the RING
Now Over
1,500,000
Zenko
One namespace
One endpoint
One API
Any Cloud
Zenko: one endpoint, one API, one namespace, any cloud in native format
● One API: the S3 API
● One endpoint: your Zenko
endpoint
● Any cloud
currently supported: Google Cloud
Platform, Microsoft Azure,
Amazon S3, Wasabi, Digital
Ocean Spaces, Scality RING,
local storage
● Data stored in native format:
use services native to your
cloud; Zenko does not lock
you in!
Zenko: one namespace, any cloud
Zenko local Zenko to Public Cloud AWS
Region / Location Region Public Cloud “bucket” Region
Bucket Bucket Prefix in public cloud bucket Bucket
$ aws --profile zenko s3 mb s3://remote-bucket --region aws-zenkobucket
make_bucket: s3://remote-bucket
$ aws --profile zenko s3 cp /etc/hosts s3://remote-bucket/test
upload: /etc/hosts to s3://remote-bucket/test
$ aws --profile zenko s3 ls
2018-05-14 17:08:50 remote-bucket
$ aws --profile zenko s3 ls s3://remote-bucket
2018-05-14 17:09:18 235 test
$ aws --profile aws s3 ls
2018-05-14 16:00:53 zenkobucket
$ aws --profile aws s3 ls s3://zenkobucket
PRE remote-bucket/
2018-05-14 17:09:18 235 test
METADATA
DATA STORAGE
DMD REST/Sproxyd AWS S3 API CLOUD API
Shared Local
Storage
S3 API
APP
METADATA
APP
S3 CALLS
 Zenko Open Source
S3 API—Single API set and 360° access to any cloud
 
Native format—Data written through Zenko is stored
in the native format of the target cloud storage and
can be read directly, without going through Zenko.
Backbeat, your data workflow manager —
Policy-based data management engine
Leveraging MongoDB for metadata search—
Agregated metadata across all clouds in a replicated
MongoDB gives a search tool for optimal data insight
HA/Failover – Deployed as multiple containers for
resilience via metal-k8s
Simple Security – single-tenant credentials
managed locally
 
S3 API
S3 CALLS
METADATA DATA
MONGO DB
Metadata Search
Bucket LOCATION
BACKBEAT
Data Policy Engine
Bucket LOCATION
CRR/DATADATA
Zenko: a stack of microservices
Zenko S3 API
What’s there? What’s coming?
Current Release API Support
Core S3 APIs
• Bucket and object operations (PUT,
GET, DELETE, HEAD)
• Multi-Part Upload (MPU) for efficient
ingest of large objects
Advanced S3 APIs
• Bucket Website
• Bucket CORS
• Bucket Versioning
• Bucket Cross Region Replication (CRR)
Extended APIs
• Utilization API for metering of capacity,
#objects, bandwidth & ops
• Bucket CRR 1-to-many
2018 Roadmap
Bucket Lifecycle
• Expiration policies - Q3 2018
Extended APIs
• Metadata search through extended
GET Bucket API – Q3 2018
Zenko S3 API Support & Roadmap
21
Zenko Orbit
Multi-cloud management made easy
Zenko: Orbit management UI
● https://admin.zenko.io
● Free to use until 1TB
● Can either
○ get a sandbox
○ register own
instance
● Available as a
pay-as-you-go service for
large capacities
● No support with free
edition
Zenko: Orbit management UI
● Manage endpoints
● Manage locations
● Manage user keys
● Manage replication
workflows
● Hardware stats
● Storage stats
● Probes to avoid mistakes
at configuration steps
Zenko EE
IAM for the enterprise, NFS over S3…
… soon!
• Zenko EE is not yet available
– We are doing our first beta deployments
at large American customers
– We are looking at Q1 2019 for GA
• Zenko CE is readily available, with
community support
– https://forum.zenko.io
– Plenty of documentation on readthedocs
– Send an email to your SE or to
zenko@scality.com
• Zenko Orbit is available pay-as-you-go
– First TB of data managed is free
26
Zenko EE : COMING SOON! Just not yet...
MetalK8s
Kubespray on bare metal
Enterprise grade
Designed for Zenko
• People trust it!
– Customers are wary of Docker Swarm in production
– At DockerCon EU 2017, Docker announced official active support of Kubernetes
– Self-healing, auto-scaling features are very mature
• Also: dashboooaaaard!
28
MetalK8s: Why Kubernetes at all? You had Swarm before!
• Our customers already own their infrastructure
– KOPS/GKE/AKS are costly
– There is no Kubernetes offering for private data centers
– Petabyte-scale storage facilities can’t afford to share hardware performances
29
MetalK8s: Kubespray for bare metal, enterprise grade
● KOPS
● EKS (one day ?)
AWS
● GKE
GCP
● AKS
Azure
● ?
Bare
Metal
• Why a custom Kubespray deployment? What is “enterprise grade”?
– Networks are not always as clean and controlled as they should be
➢ Need for hardware checks
– Humans make mistakes, and Ansible tends to let them go
➢ Inventory prechecks
– Kubernetes supports a limited number of Docker versions; storage driver = overlay2
➢ OS prechecks
30
MetalK8s: Kubespray for bare metal, enterprise grade
Inventory
netcd
% 2 = 1
nmaster
> 1
nnode
> 0
Connectivity
A ping can go a
(surprisingly) long
way
Storage driver
overlay2
⇕
OS release
centos7.4
⇕
kernel version
3.10.0-693
• And what about storage?
– Currently pre-provisioned
➢ Lvm vg/lv pre-provisioned to avoid monitoring host resources
– Dynamic provisioning?
➢ Waiting for Kubernetes support
– And for ingress?
➢ Nginx
➢ Map HTTP outside world to K8s services
➢ Routing based on virtual hostname, path
➢ Nginx deployed as a daemonset with hostPort
31
MetalK8s: Kubespray for bare metal, enterprise grade
Centos 7 LVM
LVM
Ingress:
- http routing
- ssl termination
Pod
USERS
Pod
Pod
Pod
• Monitoring? A matter of preference
32
MetalK8s: Kubespray for bare metal, enterprise grade
AWS GKE Kubespray MetalK8s
Logs X-ray Stackdriver - Fluentd - ES -
Kibana
Metrology Cloudwatch Stackdriver - Prometheus -
Grafana
Storage EBS GCB - Local drive
Zenkommunity
Do you create value with data?
Join us!
Community Meetups
• Initiated prior to our S3 Server launch
• At Docker Tokyo on May 15th
• At Scality Tokyo Open Source Night on May 16th
• Participating at open source events
for Docker, Nodejs, etc...
Developer Hackathons
• Paris and San Francisco in 2015-2018 ; maybe Tokyo next?
• Co-sponsoring with partners – focused on a specific project goal
(e.g., IP Drives, Backblaze integrations)
• Great for building visibility & community participation
34
Building a Developer community
How can I get involved with Zenko?
• Let us know what you do with Zenko stack!
▪ zenko@scality.com
▪ Get your project/company featured on the website in a quote
• Contribute tutorials
▪ Get a blogpost featuring your introduction of your tutorial
▪ Become part of our readTheDocs hosted documentation
• Contribute code
▪ It’s an opportunity to drive the roadmap with us !
▪ Join the team and be part of the Zenko craze !
▪ We have Contributing Guidelines on the GitHub repos, and we’ll answer your
questions via GitHub issues or our forum forum.zenko.io
• Meet us at AWS Re:invent, DockerCon, Meetups...
▪ All info is on www.zenko.io
35
▪Zenko: MultiCloud Data Controller
▪ http://zenko.readthedocs.io/en/latest
▪ https://github.com/scality/Zenko
▪ https://forum.scality.com/
▪ https://www.zenko.io/
▪CloudServer (S3 API standalone)
▪ http://s3-server.readthedocs.io/en/latest/
▪ https://github.com/scality/S3/
▪ https://hub.docker.com/r/scality/s3server/
▪Backbeat (data driven event manager)
▪ https://github.com/scality/Backbeat
▪MetalK8s
▪ https://github.com/scality/metal-k8s
Zenko CE: everything you need
@zenko_io
@scality
@LaureVergeron
@GiorgioRegni
37
Ready to join us?
• Create an account on our Forum
• http://forum.zenko.io/
• Clone Zenko, and its microservices
• https://github.com/scality/Zenko/
• https://github.com/scality/S3/
• https://github.com/scality/backbeat
• Install s3cmd and AWS CLI
• Read the docs ;)
• Start with a minikube deployment
• https://github.com/scality/Zenko/blob/master/charts/minikube.md
• Reach out on the Forum as you have questions
• Try a full MetalK8s deployment
• https://github.com/scality/Zenko/tree/master/charts
DIY and Demo
Get your own Zenko sandbox
Deploy Zenko on Minikube and register it on Orbit
Q&A
If you have more later:
forum.zenko.io!
Email: zenko@scality.com
Thank You
Extra slides
Extra Slides
Zenko
One namespace
One endpoint
One API
Any Cloud
Zenko: a stack of microservices
$ docker stack services ls
ID NAME MODE REPLICAS IMAGE PORTS
1j8jb41llhtm zenko-prod_s3-data replicated 1/1 zenko/cloudserver:pensieve-3 *:30010->9991/tcp
3y7vayna97bt zenko-prod_s3-front replicated 1/1 zenko/cloudserver:pensieve-3 *:30009->8000/tcp
957xksl0cbge zenko-prod_mongodb-init replicated 0/1 mongo:3.6.3-jessie
cn0v7cf2jxkb zenko-prod_queue replicated 1/1 wurstmeister/kafka:1.0.0 *:30008->9092/tcp
jjx9oabeugx1 zenko-prod_mongodb replicated 1/1 mongo:3.6.3-jessie *:30007->27017/tcp
o530bkuognu5 zenko-prod_lb global 1/1 zenko/loadbalancer:latest *:80->80/tcp
r69lgbue0o3o zenko-prod_backbeat-api replicated 1/1 zenko/backbeat:pensieve-4
ut0ssvmi10tx zenko-prod_backbeat-consumer replicated 1/1 zenko/backbeat:pensieve-4
vj2fr90qviho zenko-prod_cache replicated 1/1 redis:alpine *:30011->6379/tcp
vqmkxu7yo859 zenko-prod_quorum replicated 1/1 zookeeper:3.4.11 *:30006->2181/tcp
y7tt98x7jdl9 zenko-prod_backbeat-producer replicated 1/1 zenko/backbeat:pensieve-4
[...]
Zenko: Multi-Cloud Data Controller
Cloudserver Backbeat Utapi
S3 API
Multi Cloud API translation
Event-driven data manager
Replication engine
Usage Stats
Custom node.js Kafka- & Zookeeper- -based Redis-based
Bare-Metal Kubespray: custom deployment of Kubespray
Extra slides
S3 API & Extended
API
CloudServer implements the AWS S3 Bucket Versioning API
• Create a versioned Bucket (PUT Bucket Versioning) – enables Bucket to maintain object versions
• If an object with the same key is PUT or DELETED, it becomes the current version
– DELETE marker used for indicating current version deleted as per AWS semantics
– Assigns version IDs for older versions
Enables Data Restores
• Access to previous states/versions of an object (GET object with specified version ID)
Required for both CRR & Lifecycle Management APIs
• As specified in S3 API
• When writing to AWS S3, the target bucket must have
versioning enabled!
45
Zenko S3 API: Bucket Versioning
● When versioning is enabled on a bucket:
● CREATE NEW VERSIONS:
○ Put Object, Complete Multipart Upload and Object Copy (to a versioning-enabled bucket) will
return a version id in the ‘x-amz-version-id’ response header.
○ No special syntax necessary.
● When versioning is enabled or suspended:
● TARGETING SPECIFIC VERSIONS:
○ Include the version id in the request query for GET/HEAD Object or PUT/GET Object ACL
■ Example: `GET [bucket]/[object]?versionId=[versionId]`
○ For Object Copy or Upload Copy Part, to copy a specific version from a version-enabled
bucket, add the version id to the ‘x-amz-copy-source’ header:
■ Example value: `[sourcebucket]/[sourceobject]?versionId=[versionId]`
○ Omitting a specific version will get the result for the latest / current version.
Zenko S3 API: Bucket Versioning
● When versioning is enabled or suspended (cont.):
● NULL VERSIONS:
○ Null versions are created when putting an object before versioning is configured or when
versioning is suspended.
■ Only one null version is maintained in version history.
New null versions will overwrite previous null versions.
○ Target the null version in version-specific actions by specifying the version ID ‘null’.
● DELETING OBJECTS:
○ Regular deletion of objects will create delete markers and return ‘x-amz-delete-marker’: ‘true’
and the version ID of the delete marker in ‘x-amz-version-id’ response headers.
○ Objects with delete markers as the latest version will behave as if they have been deleted when
performing non-version specific actions.
○ Permanently remove delete markers or specific versions by specifying the version ID in the
request query. Example: `DELETE [bucket]/[object]?versionId=[versionId]`
Zenko S3 API: Bucket Versioning
● When versioning is enabled or suspended (cont.):
● MULTI-OBJECT DELETE:
○ Specify the specific version of an object to delete in a multi-object delete request in the XML
body. Example: http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html
● At any time:
● LISTING OBJECTS:
○ A regular listing will list the most recent versions of an object and ignore objects with delete
markers as their latest version.
○ To list all object versions and delete markers in a bucket, specify ‘versions’ in request query:
■ Example: `GET [bucket]?versions`
○ FMI about output: consult S3 Connector documentation
● GET BUCKET VERSIONING STATUS: use Get Bucket Versioning API.
Zenko S3 API: Bucket Versioning
● Utapi can be accessed through a REST API with service available on a dedicated port
● API routes use AWS Signature Version V4 for authentication
● API calls for listing metrics can use account credentials or create an IAM user with policy allowing
to list metrics
● Metrics are collected in 15 minute intervals (not configurable)
● Requests for listing metrics use POST routes and require at least start time and a list of resources
(accounts/buckets/users)
● Refer to wiki here for listing metrics https://github.com/scality/utapi#listing-metrics-with-utapi
Extended S3 API: UTAPI: UTilization API
S3 Buckets with associated Location
•Assigned as an optional request parameter
“LocationConstraint”
•In PUT Bucket API command, application can
specify a location for each Bucket
•Enables S3 Connector to manage Buckets across
multiple RINGs for scaling or access to multiple DC’s
•Enables Zenko to access multiple Public Clouds
Location Mapping
- Configuration file to manage multiple location to
multiple backends mappings
- Defines the default location for object PUTs
- Object GET Access is transparent
Location: GCP Location: Azure
PUT Bucket1
LocationConstraint: GCP
PUT Bucket1
LocationConstraint: Azure
Zenko / Cloudserver standalone (Metadata Namespace)
CloudServer CloudServer
Bucket2
50
Used in S3 CRR and for cloud locations in Zenko
Zenko S3 API: Bucket Location Control
aws --endpoint-url http://127.0.0.1:8000 s3api create-bucket --bucket test-bucket --create-bucket-configuration
LocationConstraint=azure-container
aws --endpoint-url http://127.0.0.1:8000 s3 cp /etc/hosts s3://test-bucket/hosts
• Specify bucket location at bucket creation
• Object creation remains as usual
PUT / HTTP/1.1
Host: {{BucketName}}.{{StorageService}}.com
Content-Length: {{length}}
Date: {{date}}
Authorization: {{authenticationInformation}}
<CreateBucketConfiguration xmlns="http://s3.scality.com/doc/2006-03-01/">
<LocationConstraint>azure-container</LocationConstraint>
</CreateBucketConfiguration>
• Request syntax
Zenko S3 API: Bucket Location Control
Zenko Multi-Cloud Async Replication - CRR
Remote disaster recovery (DR) for WAN environments
- Follows the AWS S3 API “cross-region replication” (CRR) API
- Async bucket replication: source Bucket -> target Bucket
- Versioning must be enabled on source & target
Target bucket in S3/RING
- CRR to remote S3/RING – in current release
CRR Features:
- Full site sync
- Bucket to bucket sync
- Monitoring statistics (throughput, backlog, RTO/RPO)
- Failback
- CRR from 1 region to many others (one public cloud to several others)
52
Extra slides
File or Object
54
File or object?
55
File or object?
56
File or object?
Why we do file:
- We know it
- Easy hierarchy
- fopen() and fclose()
- Lots of best practices
- Perf of NAS / over LAN
Why we do object:
- Billions of entries
- Storage accessed over
WAN
- For modern apps (REST)
- Listing large volumes
Extra slides
Community
58
CloudServer tree structure CheatSheet
S3/locationConfig.json and S3/config.json - setup your own endpoints
S3/lib/server.js - your entrypoint into the service
Arsenal/lib/s3routes/routes/*.js - S3 route calls
S3/lib/api/{{yourAPIcommand}} - S3 API calls
S3/lib/data/wrapper.js & multipleBackendGateway.js - gateway to external
clients
S3/lib/data/external/*Client.js - current clients
S3/conf/authData.json - setup your own credentials
Arsenal/lib/storage/metadata/* - check how metadata works
These commands assume you have S3 cloned locally, s3cmd configured for your S3 server, AWS
cli configured for a real AWS bucket, and your locationConfig set up
- START SERVER:
S3BACKEND=mem S3DATA=multiple npm start
- MAKE BUCKET:
s3cmd mb s3://[bucket-name]
- PUT OBJECT TO SPECIFIC LOCATION:
s3cmd put [/path/to/file] s3://[bucket-name]/[object-name] --add-header
x-amz-meta-scal-location-constraint:‘[location-name]’
- LIST OBJECTS IN BUCKET:
s3cmd ls s3://[bucket-name]/[object-name]
- GET S3 OBJECT METADATA:
s3cmd info s3://[bucket-name]/[object-name]
- IF PUT TO AWS, LIST OBJECTS ON AWS:
aws s3api list-objects --bucket [bucket-name]
Start S3 Server & Put Object Commands

Contenu connexe

Tendances

Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Red Hat Developers
 
Mirantis OpenStack 5.0 Overview
Mirantis OpenStack 5.0 OverviewMirantis OpenStack 5.0 Overview
Mirantis OpenStack 5.0 OverviewMirantis
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGokhan Boranalp
 
Securing and Automating Kubernetes with Kyverno
Securing and Automating Kubernetes with KyvernoSecuring and Automating Kubernetes with Kyverno
Securing and Automating Kubernetes with KyvernoSaim Safder
 
Getting started with OpenStack
Getting started with OpenStackGetting started with OpenStack
Getting started with OpenStackKnoldus Inc.
 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Laure Vergeron
 
Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)Krunal Jain
 
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
 
CNCF, State of Serverless & Project Nuclio
CNCF, State of Serverless & Project NuclioCNCF, State of Serverless & Project Nuclio
CNCF, State of Serverless & Project NuclioLee Calcote
 
A Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterA Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterJimmy Lu
 
DevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineKit Merker
 
IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016Kasper Nissen
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Opsta
 
Spinnaker on Kubernetes
Spinnaker on KubernetesSpinnaker on Kubernetes
Spinnaker on KubernetesJinwoong Kim
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 
Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Nelson Calero
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittalbuildacloud
 

Tendances (20)

Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 
Mirantis OpenStack 5.0 Overview
Mirantis OpenStack 5.0 OverviewMirantis OpenStack 5.0 Overview
Mirantis OpenStack 5.0 Overview
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTE
 
Securing and Automating Kubernetes with Kyverno
Securing and Automating Kubernetes with KyvernoSecuring and Automating Kubernetes with Kyverno
Securing and Automating Kubernetes with Kyverno
 
Getting started with OpenStack
Getting started with OpenStackGetting started with OpenStack
Getting started with OpenStack
 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
 
Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)Introduction to OpenStack (Juno)
Introduction to OpenStack (Juno)
 
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
 
CNCF, State of Serverless & Project Nuclio
CNCF, State of Serverless & Project NuclioCNCF, State of Serverless & Project Nuclio
CNCF, State of Serverless & Project Nuclio
 
A Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterA Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes Cluster
 
DevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container Engine
 
IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016
 
Spinnaker on Kubernetes
Spinnaker on KubernetesSpinnaker on Kubernetes
Spinnaker on Kubernetes
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021
 
Big data and Kubernetes
Big data and KubernetesBig data and Kubernetes
Big data and Kubernetes
 
OpenStack Cinder
OpenStack CinderOpenStack Cinder
OpenStack Cinder
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 

Similaire à Zenko & MetalK8s @ Dublin Docker Meetup, June 2018

Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018Laure Vergeron
 
2017 Hackathon Scality & 42 School
2017 Hackathon Scality & 42 School2017 Hackathon Scality & 42 School
2017 Hackathon Scality & 42 SchoolScality
 
Zenko: Enabling Data Control in a Multi-cloud World
Zenko: Enabling Data Control in a Multi-cloud WorldZenko: Enabling Data Control in a Multi-cloud World
Zenko: Enabling Data Control in a Multi-cloud WorldScality
 
Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...
Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...
Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...HostedbyConfluent
 
Convergence of Containers and Serverless by Mency Woo
Convergence of Containers and Serverless by Mency WooConvergence of Containers and Serverless by Mency Woo
Convergence of Containers and Serverless by Mency WooTriNimbus
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May MeetupDeepak Garg
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsAdrian Cockcroft
 
Netflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumNetflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumAdrian Cockcroft
 
S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...
S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...
S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...Scality
 
Hackathon scality holberton seagate 2016 v5
Hackathon scality holberton seagate 2016 v5Hackathon scality holberton seagate 2016 v5
Hackathon scality holberton seagate 2016 v5Scality
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...Radhika Puthiyetath
 
tack Deployment in the Enterprise
tack Deployment in the Enterprisetack Deployment in the Enterprise
tack Deployment in the EnterpriseCisco Canada
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2makker_nl
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Adrian Cockcroft
 
Cloud-based Data Lake for Analytics and AI
Cloud-based Data Lake for Analytics and AICloud-based Data Lake for Analytics and AI
Cloud-based Data Lake for Analytics and AITorsten Steinbach
 

Similaire à Zenko & MetalK8s @ Dublin Docker Meetup, June 2018 (20)

Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018
 
2017 Hackathon Scality & 42 School
2017 Hackathon Scality & 42 School2017 Hackathon Scality & 42 School
2017 Hackathon Scality & 42 School
 
Zenko: Enabling Data Control in a Multi-cloud World
Zenko: Enabling Data Control in a Multi-cloud WorldZenko: Enabling Data Control in a Multi-cloud World
Zenko: Enabling Data Control in a Multi-cloud World
 
Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...
Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...
Confluent On Azure: Why you should add Confluent to your Azure toolkit | Alic...
 
Convergence of Containers and Serverless by Mency Woo
Convergence of Containers and Serverless by Mency WooConvergence of Containers and Serverless by Mency Woo
Convergence of Containers and Serverless by Mency Woo
 
Meetup roundupazure
Meetup roundupazureMeetup roundupazure
Meetup roundupazure
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May Meetup
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and Ops
 
Netflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumNetflix in the Cloud at SV Forum
Netflix in the Cloud at SV Forum
 
S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...
S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...
S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Ho...
 
Hackathon scality holberton seagate 2016 v5
Hackathon scality holberton seagate 2016 v5Hackathon scality holberton seagate 2016 v5
Hackathon scality holberton seagate 2016 v5
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
 
tack Deployment in the Enterprise
tack Deployment in the Enterprisetack Deployment in the Enterprise
tack Deployment in the Enterprise
 
Netflix in the cloud 2011
Netflix in the cloud 2011Netflix in the cloud 2011
Netflix in the cloud 2011
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011
 
Cloud-based Data Lake for Analytics and AI
Cloud-based Data Lake for Analytics and AICloud-based Data Lake for Analytics and AI
Cloud-based Data Lake for Analytics and AI
 
Netflix in the Cloud
Netflix in the CloudNetflix in the Cloud
Netflix in the Cloud
 

Dernier

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Dernier (20)

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

Zenko & MetalK8s @ Dublin Docker Meetup, June 2018

  • 1. DOCKER DUBLIN - 2018-06-06 Zenko: the Multi-Cloud Data ControllerWe enable people who create value with data by making AWS storage cheaper Laure Vergeron Technology Evangelist R&D Engineer
  • 3. Agenda 1 - What is multi-cloud? 2 - CloudServer standalone: a simple local S3 endpoint 3 - Zenko: introduction to the multi-cloud data controller 4 - Zenko S3 API: basically just AWS S3 API 5 - Zenko Orbit: introduction to the multi-cloud management UI 6 - Zenko Enterprise Edition: coming later in 2018 7 - MetalK8s: an opinionated, bare-metal Kubespray distribution 7 - Zenkommunity 8 - Demos!
  • 6. ▪Content Distribution ▪ Media companies have tens of thousands of movies, which they store on Private Cloud for control. When it is time to publish a movie, it makes sense to copy it to a public cloud to use its transcoding and CDN services. ▪Compute Bursting ▪ Banks have to do risk analysis leveraging thousands of CPU every night. These intense computation only run for a few hours. Rather than having idle servers for the rest of the day, it makes sense to use Public Cloud services for the computation ▪Analytics ▪ E-commerce company do more and more machine learning on their very large data lake. Rather than setting up Hadoop infrastructures in-house, the company can copy just a data set to an Hadoop cloud, compute the appropriate algorithm, and get back the result and destroy the cloud copy of the data to save on storage cost. ▪Long-term Archival / cold storage ▪ While storing data which is regularly accessed is cheaper in a private cloud, long term archive of never accessed data is cheaper in long term archive cloud offering. Automatic archival of never accessed data would save a lot of money. Examples of Use-Cases for Multi-Cloud
  • 7. Who is multi cloud?
  • 8. Who is multi cloud?
  • 12. • Single Interface to any Cloud ▪ S3 API as a single API set to any cloud • Allow reuse in the Cloud ▪ Maintain the native cloud format • Always know your data and where it is ▪ Metadata search • Trigger actions based on data ▪ Data Workflow to manage replication, location The Zenko Multi-Cloud Data Controller Native format Data Management Data Insight One S3 API for any cloud 12
  • 13. CloudServer Standalone Make your hard drive an S3 bucket
  • 14. 14 CloudServer: What? • S3 API served in a Docker Container • Written in Node.js • 100% open source (Apache 2.0) • S3 stands for Simple Storage Service. The S3 API provides a simple interface used to store objects in buckets. • Single AWS S3 API interface to access multiple backend data storage both on-premise or public in the cloud.
  • 15. Open Source Scality CloudServer Adoption ▪Launched June 2016 ▪Open-source implementation of AWS S3 API ▪Code available on Github under Apache 2.0 license ▪Packaged in Docker container for easy deployment ▪Seamless upgrade to S3 Connector for the RING Now Over 1,500,000
  • 17. Zenko: one endpoint, one API, one namespace, any cloud in native format ● One API: the S3 API ● One endpoint: your Zenko endpoint ● Any cloud currently supported: Google Cloud Platform, Microsoft Azure, Amazon S3, Wasabi, Digital Ocean Spaces, Scality RING, local storage ● Data stored in native format: use services native to your cloud; Zenko does not lock you in!
  • 18. Zenko: one namespace, any cloud Zenko local Zenko to Public Cloud AWS Region / Location Region Public Cloud “bucket” Region Bucket Bucket Prefix in public cloud bucket Bucket $ aws --profile zenko s3 mb s3://remote-bucket --region aws-zenkobucket make_bucket: s3://remote-bucket $ aws --profile zenko s3 cp /etc/hosts s3://remote-bucket/test upload: /etc/hosts to s3://remote-bucket/test $ aws --profile zenko s3 ls 2018-05-14 17:08:50 remote-bucket $ aws --profile zenko s3 ls s3://remote-bucket 2018-05-14 17:09:18 235 test $ aws --profile aws s3 ls 2018-05-14 16:00:53 zenkobucket $ aws --profile aws s3 ls s3://zenkobucket PRE remote-bucket/ 2018-05-14 17:09:18 235 test
  • 19. METADATA DATA STORAGE DMD REST/Sproxyd AWS S3 API CLOUD API Shared Local Storage S3 API APP METADATA APP S3 CALLS  Zenko Open Source S3 API—Single API set and 360° access to any cloud   Native format—Data written through Zenko is stored in the native format of the target cloud storage and can be read directly, without going through Zenko. Backbeat, your data workflow manager — Policy-based data management engine Leveraging MongoDB for metadata search— Agregated metadata across all clouds in a replicated MongoDB gives a search tool for optimal data insight HA/Failover – Deployed as multiple containers for resilience via metal-k8s Simple Security – single-tenant credentials managed locally   S3 API S3 CALLS METADATA DATA MONGO DB Metadata Search Bucket LOCATION BACKBEAT Data Policy Engine Bucket LOCATION CRR/DATADATA Zenko: a stack of microservices
  • 20. Zenko S3 API What’s there? What’s coming?
  • 21. Current Release API Support Core S3 APIs • Bucket and object operations (PUT, GET, DELETE, HEAD) • Multi-Part Upload (MPU) for efficient ingest of large objects Advanced S3 APIs • Bucket Website • Bucket CORS • Bucket Versioning • Bucket Cross Region Replication (CRR) Extended APIs • Utilization API for metering of capacity, #objects, bandwidth & ops • Bucket CRR 1-to-many 2018 Roadmap Bucket Lifecycle • Expiration policies - Q3 2018 Extended APIs • Metadata search through extended GET Bucket API – Q3 2018 Zenko S3 API Support & Roadmap 21
  • 23. Zenko: Orbit management UI ● https://admin.zenko.io ● Free to use until 1TB ● Can either ○ get a sandbox ○ register own instance ● Available as a pay-as-you-go service for large capacities ● No support with free edition
  • 24. Zenko: Orbit management UI ● Manage endpoints ● Manage locations ● Manage user keys ● Manage replication workflows ● Hardware stats ● Storage stats ● Probes to avoid mistakes at configuration steps
  • 25. Zenko EE IAM for the enterprise, NFS over S3… … soon!
  • 26. • Zenko EE is not yet available – We are doing our first beta deployments at large American customers – We are looking at Q1 2019 for GA • Zenko CE is readily available, with community support – https://forum.zenko.io – Plenty of documentation on readthedocs – Send an email to your SE or to zenko@scality.com • Zenko Orbit is available pay-as-you-go – First TB of data managed is free 26 Zenko EE : COMING SOON! Just not yet...
  • 27. MetalK8s Kubespray on bare metal Enterprise grade Designed for Zenko
  • 28. • People trust it! – Customers are wary of Docker Swarm in production – At DockerCon EU 2017, Docker announced official active support of Kubernetes – Self-healing, auto-scaling features are very mature • Also: dashboooaaaard! 28 MetalK8s: Why Kubernetes at all? You had Swarm before!
  • 29. • Our customers already own their infrastructure – KOPS/GKE/AKS are costly – There is no Kubernetes offering for private data centers – Petabyte-scale storage facilities can’t afford to share hardware performances 29 MetalK8s: Kubespray for bare metal, enterprise grade ● KOPS ● EKS (one day ?) AWS ● GKE GCP ● AKS Azure ● ? Bare Metal
  • 30. • Why a custom Kubespray deployment? What is “enterprise grade”? – Networks are not always as clean and controlled as they should be ➢ Need for hardware checks – Humans make mistakes, and Ansible tends to let them go ➢ Inventory prechecks – Kubernetes supports a limited number of Docker versions; storage driver = overlay2 ➢ OS prechecks 30 MetalK8s: Kubespray for bare metal, enterprise grade Inventory netcd % 2 = 1 nmaster > 1 nnode > 0 Connectivity A ping can go a (surprisingly) long way Storage driver overlay2 ⇕ OS release centos7.4 ⇕ kernel version 3.10.0-693
  • 31. • And what about storage? – Currently pre-provisioned ➢ Lvm vg/lv pre-provisioned to avoid monitoring host resources – Dynamic provisioning? ➢ Waiting for Kubernetes support – And for ingress? ➢ Nginx ➢ Map HTTP outside world to K8s services ➢ Routing based on virtual hostname, path ➢ Nginx deployed as a daemonset with hostPort 31 MetalK8s: Kubespray for bare metal, enterprise grade Centos 7 LVM LVM Ingress: - http routing - ssl termination Pod USERS Pod Pod Pod
  • 32. • Monitoring? A matter of preference 32 MetalK8s: Kubespray for bare metal, enterprise grade AWS GKE Kubespray MetalK8s Logs X-ray Stackdriver - Fluentd - ES - Kibana Metrology Cloudwatch Stackdriver - Prometheus - Grafana Storage EBS GCB - Local drive
  • 33. Zenkommunity Do you create value with data? Join us!
  • 34. Community Meetups • Initiated prior to our S3 Server launch • At Docker Tokyo on May 15th • At Scality Tokyo Open Source Night on May 16th • Participating at open source events for Docker, Nodejs, etc... Developer Hackathons • Paris and San Francisco in 2015-2018 ; maybe Tokyo next? • Co-sponsoring with partners – focused on a specific project goal (e.g., IP Drives, Backblaze integrations) • Great for building visibility & community participation 34 Building a Developer community
  • 35. How can I get involved with Zenko? • Let us know what you do with Zenko stack! ▪ zenko@scality.com ▪ Get your project/company featured on the website in a quote • Contribute tutorials ▪ Get a blogpost featuring your introduction of your tutorial ▪ Become part of our readTheDocs hosted documentation • Contribute code ▪ It’s an opportunity to drive the roadmap with us ! ▪ Join the team and be part of the Zenko craze ! ▪ We have Contributing Guidelines on the GitHub repos, and we’ll answer your questions via GitHub issues or our forum forum.zenko.io • Meet us at AWS Re:invent, DockerCon, Meetups... ▪ All info is on www.zenko.io 35
  • 36. ▪Zenko: MultiCloud Data Controller ▪ http://zenko.readthedocs.io/en/latest ▪ https://github.com/scality/Zenko ▪ https://forum.scality.com/ ▪ https://www.zenko.io/ ▪CloudServer (S3 API standalone) ▪ http://s3-server.readthedocs.io/en/latest/ ▪ https://github.com/scality/S3/ ▪ https://hub.docker.com/r/scality/s3server/ ▪Backbeat (data driven event manager) ▪ https://github.com/scality/Backbeat ▪MetalK8s ▪ https://github.com/scality/metal-k8s Zenko CE: everything you need @zenko_io @scality @LaureVergeron @GiorgioRegni
  • 37. 37 Ready to join us? • Create an account on our Forum • http://forum.zenko.io/ • Clone Zenko, and its microservices • https://github.com/scality/Zenko/ • https://github.com/scality/S3/ • https://github.com/scality/backbeat • Install s3cmd and AWS CLI • Read the docs ;) • Start with a minikube deployment • https://github.com/scality/Zenko/blob/master/charts/minikube.md • Reach out on the Forum as you have questions • Try a full MetalK8s deployment • https://github.com/scality/Zenko/tree/master/charts
  • 38. DIY and Demo Get your own Zenko sandbox Deploy Zenko on Minikube and register it on Orbit
  • 39. Q&A If you have more later: forum.zenko.io!
  • 42. Extra Slides Zenko One namespace One endpoint One API Any Cloud
  • 43. Zenko: a stack of microservices $ docker stack services ls ID NAME MODE REPLICAS IMAGE PORTS 1j8jb41llhtm zenko-prod_s3-data replicated 1/1 zenko/cloudserver:pensieve-3 *:30010->9991/tcp 3y7vayna97bt zenko-prod_s3-front replicated 1/1 zenko/cloudserver:pensieve-3 *:30009->8000/tcp 957xksl0cbge zenko-prod_mongodb-init replicated 0/1 mongo:3.6.3-jessie cn0v7cf2jxkb zenko-prod_queue replicated 1/1 wurstmeister/kafka:1.0.0 *:30008->9092/tcp jjx9oabeugx1 zenko-prod_mongodb replicated 1/1 mongo:3.6.3-jessie *:30007->27017/tcp o530bkuognu5 zenko-prod_lb global 1/1 zenko/loadbalancer:latest *:80->80/tcp r69lgbue0o3o zenko-prod_backbeat-api replicated 1/1 zenko/backbeat:pensieve-4 ut0ssvmi10tx zenko-prod_backbeat-consumer replicated 1/1 zenko/backbeat:pensieve-4 vj2fr90qviho zenko-prod_cache replicated 1/1 redis:alpine *:30011->6379/tcp vqmkxu7yo859 zenko-prod_quorum replicated 1/1 zookeeper:3.4.11 *:30006->2181/tcp y7tt98x7jdl9 zenko-prod_backbeat-producer replicated 1/1 zenko/backbeat:pensieve-4 [...] Zenko: Multi-Cloud Data Controller Cloudserver Backbeat Utapi S3 API Multi Cloud API translation Event-driven data manager Replication engine Usage Stats Custom node.js Kafka- & Zookeeper- -based Redis-based Bare-Metal Kubespray: custom deployment of Kubespray
  • 44. Extra slides S3 API & Extended API
  • 45. CloudServer implements the AWS S3 Bucket Versioning API • Create a versioned Bucket (PUT Bucket Versioning) – enables Bucket to maintain object versions • If an object with the same key is PUT or DELETED, it becomes the current version – DELETE marker used for indicating current version deleted as per AWS semantics – Assigns version IDs for older versions Enables Data Restores • Access to previous states/versions of an object (GET object with specified version ID) Required for both CRR & Lifecycle Management APIs • As specified in S3 API • When writing to AWS S3, the target bucket must have versioning enabled! 45 Zenko S3 API: Bucket Versioning
  • 46. ● When versioning is enabled on a bucket: ● CREATE NEW VERSIONS: ○ Put Object, Complete Multipart Upload and Object Copy (to a versioning-enabled bucket) will return a version id in the ‘x-amz-version-id’ response header. ○ No special syntax necessary. ● When versioning is enabled or suspended: ● TARGETING SPECIFIC VERSIONS: ○ Include the version id in the request query for GET/HEAD Object or PUT/GET Object ACL ■ Example: `GET [bucket]/[object]?versionId=[versionId]` ○ For Object Copy or Upload Copy Part, to copy a specific version from a version-enabled bucket, add the version id to the ‘x-amz-copy-source’ header: ■ Example value: `[sourcebucket]/[sourceobject]?versionId=[versionId]` ○ Omitting a specific version will get the result for the latest / current version. Zenko S3 API: Bucket Versioning
  • 47. ● When versioning is enabled or suspended (cont.): ● NULL VERSIONS: ○ Null versions are created when putting an object before versioning is configured or when versioning is suspended. ■ Only one null version is maintained in version history. New null versions will overwrite previous null versions. ○ Target the null version in version-specific actions by specifying the version ID ‘null’. ● DELETING OBJECTS: ○ Regular deletion of objects will create delete markers and return ‘x-amz-delete-marker’: ‘true’ and the version ID of the delete marker in ‘x-amz-version-id’ response headers. ○ Objects with delete markers as the latest version will behave as if they have been deleted when performing non-version specific actions. ○ Permanently remove delete markers or specific versions by specifying the version ID in the request query. Example: `DELETE [bucket]/[object]?versionId=[versionId]` Zenko S3 API: Bucket Versioning
  • 48. ● When versioning is enabled or suspended (cont.): ● MULTI-OBJECT DELETE: ○ Specify the specific version of an object to delete in a multi-object delete request in the XML body. Example: http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html ● At any time: ● LISTING OBJECTS: ○ A regular listing will list the most recent versions of an object and ignore objects with delete markers as their latest version. ○ To list all object versions and delete markers in a bucket, specify ‘versions’ in request query: ■ Example: `GET [bucket]?versions` ○ FMI about output: consult S3 Connector documentation ● GET BUCKET VERSIONING STATUS: use Get Bucket Versioning API. Zenko S3 API: Bucket Versioning
  • 49. ● Utapi can be accessed through a REST API with service available on a dedicated port ● API routes use AWS Signature Version V4 for authentication ● API calls for listing metrics can use account credentials or create an IAM user with policy allowing to list metrics ● Metrics are collected in 15 minute intervals (not configurable) ● Requests for listing metrics use POST routes and require at least start time and a list of resources (accounts/buckets/users) ● Refer to wiki here for listing metrics https://github.com/scality/utapi#listing-metrics-with-utapi Extended S3 API: UTAPI: UTilization API
  • 50. S3 Buckets with associated Location •Assigned as an optional request parameter “LocationConstraint” •In PUT Bucket API command, application can specify a location for each Bucket •Enables S3 Connector to manage Buckets across multiple RINGs for scaling or access to multiple DC’s •Enables Zenko to access multiple Public Clouds Location Mapping - Configuration file to manage multiple location to multiple backends mappings - Defines the default location for object PUTs - Object GET Access is transparent Location: GCP Location: Azure PUT Bucket1 LocationConstraint: GCP PUT Bucket1 LocationConstraint: Azure Zenko / Cloudserver standalone (Metadata Namespace) CloudServer CloudServer Bucket2 50 Used in S3 CRR and for cloud locations in Zenko Zenko S3 API: Bucket Location Control
  • 51. aws --endpoint-url http://127.0.0.1:8000 s3api create-bucket --bucket test-bucket --create-bucket-configuration LocationConstraint=azure-container aws --endpoint-url http://127.0.0.1:8000 s3 cp /etc/hosts s3://test-bucket/hosts • Specify bucket location at bucket creation • Object creation remains as usual PUT / HTTP/1.1 Host: {{BucketName}}.{{StorageService}}.com Content-Length: {{length}} Date: {{date}} Authorization: {{authenticationInformation}} <CreateBucketConfiguration xmlns="http://s3.scality.com/doc/2006-03-01/"> <LocationConstraint>azure-container</LocationConstraint> </CreateBucketConfiguration> • Request syntax Zenko S3 API: Bucket Location Control
  • 52. Zenko Multi-Cloud Async Replication - CRR Remote disaster recovery (DR) for WAN environments - Follows the AWS S3 API “cross-region replication” (CRR) API - Async bucket replication: source Bucket -> target Bucket - Versioning must be enabled on source & target Target bucket in S3/RING - CRR to remote S3/RING – in current release CRR Features: - Full site sync - Bucket to bucket sync - Monitoring statistics (throughput, backlog, RTO/RPO) - Failback - CRR from 1 region to many others (one public cloud to several others) 52
  • 56. 56 File or object? Why we do file: - We know it - Easy hierarchy - fopen() and fclose() - Lots of best practices - Perf of NAS / over LAN Why we do object: - Billions of entries - Storage accessed over WAN - For modern apps (REST) - Listing large volumes
  • 58. 58 CloudServer tree structure CheatSheet S3/locationConfig.json and S3/config.json - setup your own endpoints S3/lib/server.js - your entrypoint into the service Arsenal/lib/s3routes/routes/*.js - S3 route calls S3/lib/api/{{yourAPIcommand}} - S3 API calls S3/lib/data/wrapper.js & multipleBackendGateway.js - gateway to external clients S3/lib/data/external/*Client.js - current clients S3/conf/authData.json - setup your own credentials Arsenal/lib/storage/metadata/* - check how metadata works
  • 59. These commands assume you have S3 cloned locally, s3cmd configured for your S3 server, AWS cli configured for a real AWS bucket, and your locationConfig set up - START SERVER: S3BACKEND=mem S3DATA=multiple npm start - MAKE BUCKET: s3cmd mb s3://[bucket-name] - PUT OBJECT TO SPECIFIC LOCATION: s3cmd put [/path/to/file] s3://[bucket-name]/[object-name] --add-header x-amz-meta-scal-location-constraint:‘[location-name]’ - LIST OBJECTS IN BUCKET: s3cmd ls s3://[bucket-name]/[object-name] - GET S3 OBJECT METADATA: s3cmd info s3://[bucket-name]/[object-name] - IF PUT TO AWS, LIST OBJECTS ON AWS: aws s3api list-objects --bucket [bucket-name] Start S3 Server & Put Object Commands