SlideShare a Scribd company logo
© 2015 IBM Corporation
Bringing Compute to Openstack Swift
Eran Rom, System and Storage Researcher, IBM Research - Haifa
© 2015 IBM Corporation2
The Storlet engine extends Openstack Swift by enabling
the push down of filtering, transforming and analysis
tasks to Swift instead of bringing the data to the
computation.
© 2015 IBM Corporation3
Proxy Tier
Storage Tier
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
© 2015 IBM Corporation4
Containers Powered Swift Cluster
Proxy Tier
Storage Tier
© 2015 IBM Corporation5
Image
Registry
Proxy Tier
Storage Tier
Containers Powered Swift Cluster
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
© 2015 IBM Corporation6
Containers Powered Swift Cluster
Image
Registry
Proxy Tier
Storage Tier
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
Ubuntu
14.04
Storlet Stuff
© 2015 IBM Corporation7
Proxy Tier
Storage Tier
Developer
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Writing and Deploying a Storlet
@Override
public void invoke(ArrayList<StorletInputStream> inStreams,
ArrayList<StorletOutputStream> outStreams,
Map<String, String> parameters,
StorletLogger logger) throws StorletException {
…
}
© 2015 IBM Corporation8
Proxy Tier
Storage Tier
Developer
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Writing and Deploying a Storlet
PUT http://my.swift.co.il/v1/AUTH_111/Storlet/watermarkstorlet-10.jar
© 2015 IBM Corporation9
Proxy Tier
Storage Tier
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Invoking a Storlet on GET
GET http://my.swift.co.il/v1/AUTH_111/myContainer/mov.webm
X-Run-Storlet : watermarkstorlet-10.jar
© 2015 IBM Corporation10
Proxy Tier
Storage Tier
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Invoking a Storlet on GET
Forward Request to
an Object Server
holding a Replica
GET http://my.swift.co.il/v1/AUTH_111/myContainer/mov.webm
X-Run-Storlet : watermarkstorlet-10.jar
© 2015 IBM Corporation11
Invoking a Storlet on GET
Ubuntu
14.04
Storlet Stuff
ffmpeg
Intercept Request
Invoke Deamon, and Establish Connection
with the Account’s Docker Container
Pass Input and Output FDs
Send back the Object’s Metadata and the
Object’s Data Stream
Continue the GET Flow, where the
Storelt’s response is sent back to
the Proxy
Object Server
© 2015 IBM Corporation12
Proxy Tier
Storage Tier
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Ubuntu
14.04
Storlet Stuff
ffmpeg
Invoking a Storlet on PUT
PUT http://my.swift.co.il/v1/AUTH_111/myContainer/mov.webm
X-Run-Storlet : MetadataExtractorStorlet-10.jar
© 2015 IBM Corporation13
Invoking a Storlet on PUT
Ubuntu
14.04
Storlet Stuff
ffmpeg
Intercept Request
Invoke Deamon, and Establish Connection
with the Account’s Docker Container
Pass Input and Output FDs
Send back the Object’s Metadata and the
Object’s Data Stream
Continue the Proxy PUT Flow
with the returned Metadata
and data stream
Proxy Server
© 2015 IBM Corporation14
Demo
http://159.8.49.36:8080/raimediabridge/login.html
© 2015 IBM Corporation15
The Storlet Engine is in the Open
 https://github.com/Open-I-Beam/swift-storlets
 Comprehensive Documentation
• Installation guide
• How to write, deploy and invoke storlets guide
• How to tailor your own image for running storlets
 S2AIO
• Install swift and storlets in a single VM for experimentation
 Public users will be able to experiment with the Storlet engine thanks to FiWare – An EU research
project delivering a novel service infrastructure for the future internet (http://www.fiware.org/)
© 2015 IBM Corporation16
Media Workflow at NAB (with RAI)
Storlets run as material is uploaded and downloaded
Metadata
Enrichment
Storlet
Swift Object Store
Upload
Enriched
Metadata
Data
myvideo.mxf
Metadata
Data
myvideo.mxf
Data
Loudness
Calculation
Storlet
<Loudness,-23>
myvideo.mxf
Fix
Loudness
Storlet
© 2015 IBM Corporation17
Acknowledgements
The Storlets project is partially funded by the following EU research projects
Digital Preservation Inspired by Human Memory
IoT for Smart Cities

More Related Content

PPTX
Node.js primer for ITE students
PPTX
Sensu 1.x & kubernetes
PDF
Sensu and Kubernetes 1.x
PDF
dotNed Saturday
PPTX
Building Openstack in AllegroGroup
PDF
How to speed up your (API client) modules
PDF
Servlet 3.1
PDF
Introduction to Apache Web Services using latex
Node.js primer for ITE students
Sensu 1.x & kubernetes
Sensu and Kubernetes 1.x
dotNed Saturday
Building Openstack in AllegroGroup
How to speed up your (API client) modules
Servlet 3.1
Introduction to Apache Web Services using latex

What's hot (17)

PDF
Jaringan, Linux, Docker
PDF
Terraform Q&A - HashiCorp User Group Oslo
PDF
Xen and OpenStack
PDF
"Esup CAS Packaging" : Deploy and customize easily a CAS4 server
PPTX
Java App On Digital Ocean: Deploying With Gitlab CI/CD
PDF
My early experience with Mirantis OpenStack 6.0
PPTX
Terraform - The Road to Self-Service
PPTX
Terraform day1
PDF
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
ODP
New Oracle Infrastructure2
KEY
Capistrano, Puppet, and Chef
PDF
iptables and Kubernetes
PPTX
State of Containers in OpenStack
PDF
IPTABLES Introduction
PPT
Web Server Administration
PDF
OpenStack Watcher
PDF
How to deploy PHP projects with docker
Jaringan, Linux, Docker
Terraform Q&A - HashiCorp User Group Oslo
Xen and OpenStack
"Esup CAS Packaging" : Deploy and customize easily a CAS4 server
Java App On Digital Ocean: Deploying With Gitlab CI/CD
My early experience with Mirantis OpenStack 6.0
Terraform - The Road to Self-Service
Terraform day1
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
New Oracle Infrastructure2
Capistrano, Puppet, and Chef
iptables and Kubernetes
State of Containers in OpenStack
IPTABLES Introduction
Web Server Administration
OpenStack Watcher
How to deploy PHP projects with docker
Ad

Similar to Eran Rom, IBM - Bringing Compute to Openstack Swift, OpenStack Israel 2015 (20)

PDF
Distributed application usecase on docker
PPTX
Spring Integration Done Bootifully
PDF
Python on Cloud Foundry
PDF
WebSocket in Enterprise Applications 2015
PDF
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
PPTX
Building Data Pipelines for Solr with Apache NiFi
PDF
MuleSoft Online Meetup a Guide to RTF application deployment - October 2020
PDF
Functest in Depth
PPTX
Meetup bangalore 9_novupdated
PPTX
Stéphane Nicoll and Madhura Bhave at SpringOne Platform 2017
PPTX
V2 peter-lubbers-sf-jug-websocket
PDF
Ftp servlet
PDF
Cloud Foundry for Data Science
PPTX
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
PPTX
Apache NiFi Crash Course Intro
PPTX
Getting Started with Apache Geode
PDF
Bangalore Cloud Foundry meetup - Mani
PDF
Ipv6 tutorial
PPTX
Oracle REST Data Services
PDF
NTTs Journey with Openstack-final
Distributed application usecase on docker
Spring Integration Done Bootifully
Python on Cloud Foundry
WebSocket in Enterprise Applications 2015
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Building Data Pipelines for Solr with Apache NiFi
MuleSoft Online Meetup a Guide to RTF application deployment - October 2020
Functest in Depth
Meetup bangalore 9_novupdated
Stéphane Nicoll and Madhura Bhave at SpringOne Platform 2017
V2 peter-lubbers-sf-jug-websocket
Ftp servlet
Cloud Foundry for Data Science
Automatic Configuration Management for Kamailio and Asterisk in the era of Pu...
Apache NiFi Crash Course Intro
Getting Started with Apache Geode
Bangalore Cloud Foundry meetup - Mani
Ipv6 tutorial
Oracle REST Data Services
NTTs Journey with Openstack-final
Ad

More from Cloud Native Day Tel Aviv (20)

PDF
Cloud Native is a Cultural Decision. By Reshef Mann
PDF
Container Runtime Security with Falco, by Néstor Salceda
PDF
Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replicati...
PDF
Running I/O intensive workloads on Kubernetes, by Nati Shalom
PDF
WTF Do We Need a Service Mesh? By Anton Weiss.
PDF
Update Strategies for the Edge, by Kat Cosgrove
PDF
Building a Cloud-Native SaaS Product The Hard Way. By Arthur Berezin
PDF
The Four Questions (Every Monitoring Engineer gets asked), by Leon Adato
PDF
K8s Pod Scheduling - Deep Dive. By Tsahi Duek.
PDF
Cloud Native: The Cattle, the Pets, and the Germs, by Avishai Ish-Shalom
PDF
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
PDF
Cloud native transformation patterns, by Pini Reznik
PPTX
Cloud and Edge: price, performance and privacy considerations in IOT, by Tsvi...
PDF
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
PDF
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
PDF
Not my problem! Delegating responsibilities to the infrastructure - Yshay Yaa...
PDF
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
PPTX
A stateful application walks into a Kubernetes bar - Arthur Berezin, JovianX ...
PPTX
The story of how KubeMQ was born - Oz Golan, KubeMQ - Cloud Native Day Tel Av...
PPTX
I want it all: go hybrid - Orit Yaron, Outbrain - Cloud Native Day Tel Aviv 2018
Cloud Native is a Cultural Decision. By Reshef Mann
Container Runtime Security with Falco, by Néstor Salceda
Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replicati...
Running I/O intensive workloads on Kubernetes, by Nati Shalom
WTF Do We Need a Service Mesh? By Anton Weiss.
Update Strategies for the Edge, by Kat Cosgrove
Building a Cloud-Native SaaS Product The Hard Way. By Arthur Berezin
The Four Questions (Every Monitoring Engineer gets asked), by Leon Adato
K8s Pod Scheduling - Deep Dive. By Tsahi Duek.
Cloud Native: The Cattle, the Pets, and the Germs, by Avishai Ish-Shalom
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
Cloud native transformation patterns, by Pini Reznik
Cloud and Edge: price, performance and privacy considerations in IOT, by Tsvi...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
Not my problem! Delegating responsibilities to the infrastructure - Yshay Yaa...
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
A stateful application walks into a Kubernetes bar - Arthur Berezin, JovianX ...
The story of how KubeMQ was born - Oz Golan, KubeMQ - Cloud Native Day Tel Av...
I want it all: go hybrid - Orit Yaron, Outbrain - Cloud Native Day Tel Aviv 2018

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
1. Introduction to Computer Programming.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A comparative analysis of optical character recognition models for extracting...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectral efficient network and resource selection model in 5G networks
Reach Out and Touch Someone: Haptics and Empathic Computing
Digital-Transformation-Roadmap-for-Companies.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Spectroscopy.pptx food analysis technology
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Programs and apps: productivity, graphics, security and other tools
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
Group 1 Presentation -Planning and Decision Making .pptx
Advanced methodologies resolving dimensionality complications for autism neur...
1. Introduction to Computer Programming.pptx

Eran Rom, IBM - Bringing Compute to Openstack Swift, OpenStack Israel 2015

  • 1. © 2015 IBM Corporation Bringing Compute to Openstack Swift Eran Rom, System and Storage Researcher, IBM Research - Haifa
  • 2. © 2015 IBM Corporation2 The Storlet engine extends Openstack Swift by enabling the push down of filtering, transforming and analysis tasks to Swift instead of bringing the data to the computation.
  • 3. © 2015 IBM Corporation3 Proxy Tier Storage Tier Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff
  • 4. © 2015 IBM Corporation4 Containers Powered Swift Cluster Proxy Tier Storage Tier
  • 5. © 2015 IBM Corporation5 Image Registry Proxy Tier Storage Tier Containers Powered Swift Cluster Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff
  • 6. © 2015 IBM Corporation6 Containers Powered Swift Cluster Image Registry Proxy Tier Storage Tier Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff Ubuntu 14.04 Storlet Stuff
  • 7. © 2015 IBM Corporation7 Proxy Tier Storage Tier Developer Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Writing and Deploying a Storlet @Override public void invoke(ArrayList<StorletInputStream> inStreams, ArrayList<StorletOutputStream> outStreams, Map<String, String> parameters, StorletLogger logger) throws StorletException { … }
  • 8. © 2015 IBM Corporation8 Proxy Tier Storage Tier Developer Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Writing and Deploying a Storlet PUT http://my.swift.co.il/v1/AUTH_111/Storlet/watermarkstorlet-10.jar
  • 9. © 2015 IBM Corporation9 Proxy Tier Storage Tier Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Invoking a Storlet on GET GET http://my.swift.co.il/v1/AUTH_111/myContainer/mov.webm X-Run-Storlet : watermarkstorlet-10.jar
  • 10. © 2015 IBM Corporation10 Proxy Tier Storage Tier Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Invoking a Storlet on GET Forward Request to an Object Server holding a Replica GET http://my.swift.co.il/v1/AUTH_111/myContainer/mov.webm X-Run-Storlet : watermarkstorlet-10.jar
  • 11. © 2015 IBM Corporation11 Invoking a Storlet on GET Ubuntu 14.04 Storlet Stuff ffmpeg Intercept Request Invoke Deamon, and Establish Connection with the Account’s Docker Container Pass Input and Output FDs Send back the Object’s Metadata and the Object’s Data Stream Continue the GET Flow, where the Storelt’s response is sent back to the Proxy Object Server
  • 12. © 2015 IBM Corporation12 Proxy Tier Storage Tier Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Ubuntu 14.04 Storlet Stuff ffmpeg Invoking a Storlet on PUT PUT http://my.swift.co.il/v1/AUTH_111/myContainer/mov.webm X-Run-Storlet : MetadataExtractorStorlet-10.jar
  • 13. © 2015 IBM Corporation13 Invoking a Storlet on PUT Ubuntu 14.04 Storlet Stuff ffmpeg Intercept Request Invoke Deamon, and Establish Connection with the Account’s Docker Container Pass Input and Output FDs Send back the Object’s Metadata and the Object’s Data Stream Continue the Proxy PUT Flow with the returned Metadata and data stream Proxy Server
  • 14. © 2015 IBM Corporation14 Demo http://159.8.49.36:8080/raimediabridge/login.html
  • 15. © 2015 IBM Corporation15 The Storlet Engine is in the Open  https://github.com/Open-I-Beam/swift-storlets  Comprehensive Documentation • Installation guide • How to write, deploy and invoke storlets guide • How to tailor your own image for running storlets  S2AIO • Install swift and storlets in a single VM for experimentation  Public users will be able to experiment with the Storlet engine thanks to FiWare – An EU research project delivering a novel service infrastructure for the future internet (http://www.fiware.org/)
  • 16. © 2015 IBM Corporation16 Media Workflow at NAB (with RAI) Storlets run as material is uploaded and downloaded Metadata Enrichment Storlet Swift Object Store Upload Enriched Metadata Data myvideo.mxf Metadata Data myvideo.mxf Data Loudness Calculation Storlet <Loudness,-23> myvideo.mxf Fix Loudness Storlet
  • 17. © 2015 IBM Corporation17 Acknowledgements The Storlets project is partially funded by the following EU research projects Digital Preservation Inspired by Human Memory IoT for Smart Cities