SlideShare a Scribd company logo
1 of 17
1 
Tips to Implementing Multiple Cloud 
Storage APIs 
OpenStack Summit 
Paris 
Wednesday 
November 5, 2014 
09:00 - 09:40 
Room 212/213 
View these slides at: http://bit.ly/MultiCloudAPIs
Abstract 
When customers ask for support of a given API, can a vendor 
survive if they ignore these requests? A strategy many vendors 
are taking is to support multiple APIs with a single 
implementation. Besides the Swift API, many support the S3 
defacto and CDMI standard APIs in their implementation. What 
is needed for these APIs to co-exist in an implementation? 
There are basic operations that are nearly identical between 
them, but what about semantics that have multiple different 
expressions such as metadata? 
2 
View these slides at: http://bit.ly/MultiCloudAPIs
What does this look like? 
3
Breakdown 
4 
Storage Operations 
•CRUD – All pretty much determined by HTTP standard (common 
code) 
•Headers are API unique however (handle in API specific modules) 
Security Operations 
•Client communication with Auth Server (API unique) 
•Multiple separate services running in Auth Server
Swift and CDMI Models 
5 
5
Comparing S3 to CDMI 
Function S3 support CDMI S upport 
List the objects in a 
container 
6 
GET Bucket GET Container 
Display simplified access 
controls 
GET Bucket acl GET Container metadata item named 
cdmi_acl 
Display Windows and NFS 
compatible access 
controls 
GET Container metadata item named 
cdmi_acl 
Discover retention 
autodelete interval for all 
objects in a mutable 
container 
GET Bucket lifecycle GET Container metadata item named 
s3_lifecycle 
Discover whether a 
container shall be deleted 
at the end of its retention 
period 
GET Container 
cdmi_retention_autodelete metadata 
item 
Discover retention data on 
a container 
GET Container 
cdmi_retention_period and 
cdmi_retention_start_time metadata 
items 
Find legal holds that have 
been placed on a 
container 
GET Container cdmi_hold_id 
metadata item 
Discover the policy set on 
a container 
GET Bucket policy 
Discover the geographic 
location(s) in which a 
container's data is stored 
GET Bucket location 
(US and EU only) 
GET Container 
cdmi_geographic_placement_provided 
metadata item 
(Full ISO 3166 support) 
Get logging status GET Bucket logging GET logging queue metadata 
Get status for full featured 
logging 
GET logging queue metadata (CDMI 
logging features much richer 
functionality than S3) 
Whitepaper “A CDMI Guide 
for S3 Programmers” 
Alan Yoder, Huawei 
http://snia.org/sites/default/files/S3-like_CDMI_v1.0.pdf
CDMI Object Metadata 
2 major classes – System and User 
SYSTEM Metadata 
7 
Storage System: Timestamps, Traditional ACLs, Counts etc. 
Data System: requirements of the object – eg. Retention, Backup, Replication, 
Performance 
USER Metadata 
Application and data specific 
E.g. EXIF data on photos 
Location data of objects 
Relationship data 
SEARCHABLE! 
7
CDMI Capability Metadata 
Describes the capability of a service participating in CDMI cloud environment 
Performance 
Retention capability 
Location information 
Storage features (Compression, Encryption, Hashes etc.) 
Shrink to fit development and consumption model 
Advertising capability means that developers only need to implement the 
8 
standard partially and only advertise what is implemented 
8
CDMI and Swift 
CDMI works alongside Swift and S3 models, not replacing them 
Any of the APIs can be used to access the same data 
CDMI has been implemented for Swift as a filter which allows leverage of the Swift 
authentication filter 
• If Swift and CDMI disagree, then Swift CDMI “faults” 
Swift and CDMI use hierarchical containers but are slight different in the 
implementation and language used 
Swift Folder = CDMI Container 
CDMI Metadata can be stored in Swift metadata storage 
This means the size limitation is implied for CDMI metadata currently 
9 
9
Support for common operations in CDMI 1.1 
Latest version of CDMI - 
http://www.snia.org/sites/default/files/CDMI_Spec_v1.1.pdf 
•Spec text that explicitly forbid (in 1.0) functionality required for 
S3/Swift integration has been removed from the spec (“/”s may create 
intervening CDMI Containers) 
•Baseline operations (mostly governed by RFC 2616) now documented 
in Clause 6 (pgs. 28-35) 
•CDMI now uses content type to indicate CDMI-style operations (as 
opposed to X-CDMI-Specification-Version) 
•Specific authentication is no longer mandatory. CDMI 
implementations can now use S3 or Swift authentication exclusively, if 
desired. 
10
Discovery of Security Protocol Implementations 
CDMI 1.1 now includes a standard 
means of discovering what 
methods are available: 
•cdmi_authentication_methods 
(Data System Metadata) 12.1.3 
•If present, this capability contains 
a list of server-supported 
authentication methods that are 
supported by a domain. The 
following values for authentication 
method strings are defined: 
11 
• "anonymous"-Absence of authentication 
supported 
• "basic"-HTTP basic authentication supported 
(RFC2617) 
• "digest"-HTTP digest authentication supported 
(RFC2617) 
• "krb5"-Kerberos authentication supported, 
using the Kerberos Domain specified in the 
CDMI domain (RFC 4559) 
• "x509"-certificate-based authentication via 
TLS (RFC5246)
Extending the standard security types 
The following values are examples of other widely used authentication methods that may be 
supported by a CDMI server: 
12 
"s3"-S3 API signed header authentication supported 
"openstack"-OpenStack Identity API header authentication supported 
Interoperability with these authentication methods are not defined by this international 
standard. 
Servers may include other authentication methods not included in the above list. In these 
cases, it is up to the CDMI client and CDMI server (implementations themselves) to ensure 
interoperability. 
When present, the cdmi_authentication_methods data system metadata shall be supported 
for all domains.
CDMI 1.1 – What else is new? 
Bandwidth consumption meta-data – Split metrics between public and private 
interfaces for separate accounting 
Addition of CDMI Group meta-data to associate objects with groups as well as 
users 
Commercially tested and implemented extensions and feature–sets including Multi– 
part MIME, Domain Auth Methods, Expiring ACE and Versioning extensions. 
100% backwards compatibility with CDMI v. 1.0.2 to ensure ease of use for 
investment protection and forward migration 
13 
13
What resources are available 
CDMI for S3 Developers 
•http://snia.org/sites/default/files/S3-like_CDMI_v1.0.pdf 
Comparison of S3/Swift functions 
•https://wiki.openstack.org/wiki/Swift/APIFeatureComparison 
• Somewhat dated – needs updating 
Implementation of CDMI filter driver for Swift 
•https://github.com/osaddon/cdmi 
• Needs further development 
14 
Implementation of S3 filter driver for Swift 
• https://github.com/stackforge/swift3 
• Good community maintenance
What experience have you had? 
Are your customers asking for multiprotocol support? 
What limitations have you run across? 
How do you test? 
Are you: 
•Modifying Swift? 
•Using an other (private) implementation? 
15
Join the Conversation 
Extended cloud storage API discussions amongst implementers: 
SNIA Cloud Google Group Forum 
http://groups.google.com/group/snia-cloud 
Follow SNIA cloud storage activities on Twitter 
http://twitter.com/SNIAcloud 
16
Thank You! 
17

More Related Content

What's hot

Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingSrinath Perera
 
Software Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File SystemsSoftware Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File SystemsAbhijeet Kulkarni
 
Fujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud ServicesFujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud ServicesAlessandro Guli
 
IBM Public Cloud Platform Nov 2021
IBM Public Cloud Platform Nov 2021IBM Public Cloud Platform Nov 2021
IBM Public Cloud Platform Nov 2021Nguyen Tai Dzung
 
Session 4: Fortgeschrittene Themen
Session 4: Fortgeschrittene ThemenSession 4: Fortgeschrittene Themen
Session 4: Fortgeschrittene ThemenDigicomp Academy AG
 
Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...
Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...
Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...Symantec
 
Citrix cloud platform - Journey to IT-as-a-Service
Citrix cloud platform - Journey to IT-as-a-ServiceCitrix cloud platform - Journey to IT-as-a-Service
Citrix cloud platform - Journey to IT-as-a-ServiceShapeBlue
 
Keeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors HappyKeeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors HappyEran Stiller
 
Made to measure Cloud
Made to measure CloudMade to measure Cloud
Made to measure Cloudcolinwoods
 
Citrix Synergy: Opening Keynote with CEO Mark Templeton
Citrix Synergy: Opening Keynote with CEO Mark TempletonCitrix Synergy: Opening Keynote with CEO Mark Templeton
Citrix Synergy: Opening Keynote with CEO Mark TempletonCitrix
 
Private Cloud With System Center Project
Private Cloud With System Center ProjectPrivate Cloud With System Center Project
Private Cloud With System Center ProjectAbhijit Kundu
 
비즈머스 제품 브로슈어 종합(영문)
비즈머스 제품 브로슈어 종합(영문)비즈머스 제품 브로슈어 종합(영문)
비즈머스 제품 브로슈어 종합(영문)Bizmerce
 
SoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud ComputingSoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud ComputingJose Tam
 
Hybrid and Private Cloud Architectures
Hybrid and Private Cloud ArchitecturesHybrid and Private Cloud Architectures
Hybrid and Private Cloud ArchitecturesDavid Linthicum
 
Cloud computing hybrid architecture
Cloud computing   hybrid architectureCloud computing   hybrid architecture
Cloud computing hybrid architectureAbhijeet Singh
 
Citrix Cloud Works with...the new it reality
Citrix Cloud Works with...the new it realityCitrix Cloud Works with...the new it reality
Citrix Cloud Works with...the new it realityCitrix
 
Vmware Seminar Security & Compliance for the cloud with Trend Micro
Vmware Seminar Security & Compliance for the cloud with Trend MicroVmware Seminar Security & Compliance for the cloud with Trend Micro
Vmware Seminar Security & Compliance for the cloud with Trend MicroGraeme Wood
 

What's hot (20)

Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
Software Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File SystemsSoftware Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File Systems
 
Fujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud ServicesFujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud Services
 
IBM Public Cloud Platform Nov 2021
IBM Public Cloud Platform Nov 2021IBM Public Cloud Platform Nov 2021
IBM Public Cloud Platform Nov 2021
 
Session 4: Fortgeschrittene Themen
Session 4: Fortgeschrittene ThemenSession 4: Fortgeschrittene Themen
Session 4: Fortgeschrittene Themen
 
Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...
Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...
Announcing Symantec & Microsoft’s Azure Cloud Disaster Recovery as a Service ...
 
Citrix cloud platform - Journey to IT-as-a-Service
Citrix cloud platform - Journey to IT-as-a-ServiceCitrix cloud platform - Journey to IT-as-a-Service
Citrix cloud platform - Journey to IT-as-a-Service
 
Keeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors HappyKeeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors Happy
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Made to measure Cloud
Made to measure CloudMade to measure Cloud
Made to measure Cloud
 
IBM Cloud Computing
IBM Cloud ComputingIBM Cloud Computing
IBM Cloud Computing
 
Citrix Synergy: Opening Keynote with CEO Mark Templeton
Citrix Synergy: Opening Keynote with CEO Mark TempletonCitrix Synergy: Opening Keynote with CEO Mark Templeton
Citrix Synergy: Opening Keynote with CEO Mark Templeton
 
Private Cloud With System Center Project
Private Cloud With System Center ProjectPrivate Cloud With System Center Project
Private Cloud With System Center Project
 
비즈머스 제품 브로슈어 종합(영문)
비즈머스 제품 브로슈어 종합(영문)비즈머스 제품 브로슈어 종합(영문)
비즈머스 제품 브로슈어 종합(영문)
 
SoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud ComputingSoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud Computing
 
Hybrid and Private Cloud Architectures
Hybrid and Private Cloud ArchitecturesHybrid and Private Cloud Architectures
Hybrid and Private Cloud Architectures
 
Cloud computing hybrid architecture
Cloud computing   hybrid architectureCloud computing   hybrid architecture
Cloud computing hybrid architecture
 
Citrix Cloud Works with...the new it reality
Citrix Cloud Works with...the new it realityCitrix Cloud Works with...the new it reality
Citrix Cloud Works with...the new it reality
 
Preparing for Multi-Cloud
Preparing for Multi-CloudPreparing for Multi-Cloud
Preparing for Multi-Cloud
 
Vmware Seminar Security & Compliance for the cloud with Trend Micro
Vmware Seminar Security & Compliance for the cloud with Trend MicroVmware Seminar Security & Compliance for the cloud with Trend Micro
Vmware Seminar Security & Compliance for the cloud with Trend Micro
 

Similar to Tips To Implementing Multiple Cloud Storage APIs

Up 2011-ken huang
Up 2011-ken huangUp 2011-ken huang
Up 2011-ken huangKen Huang
 
JavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCJavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCSteve Speicher
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshSion Smith
 
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...Paris Open Source Summit
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...Klaus Bild
 
How AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloudHow AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloudLDAPCon
 
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)lutter
 
What is A Cloud Stack in 2017
What is A Cloud Stack in 2017What is A Cloud Stack in 2017
What is A Cloud Stack in 2017Gaurav Roy
 
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMeshThe Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMeshIanFurlong4
 
Webinar: OpenIDM 3.1
Webinar: OpenIDM 3.1Webinar: OpenIDM 3.1
Webinar: OpenIDM 3.1ForgeRock
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsFlorian Feldhaus
 
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...Florian Feldhaus
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...Docker, Inc.
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
IBM Connect Switzerland - Der entspannte Administrator
IBM Connect Switzerland - Der entspannte AdministratorIBM Connect Switzerland - Der entspannte Administrator
IBM Connect Switzerland - Der entspannte AdministratorKlaus Bild
 
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...vty
 
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...Andrea Scharnhorst
 

Similar to Tips To Implementing Multiple Cloud Storage APIs (20)

CDMI For Swift
CDMI For SwiftCDMI For Swift
CDMI For Swift
 
Up 2011-ken huang
Up 2011-ken huangUp 2011-ken huang
Up 2011-ken huang
 
JavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCJavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLC
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
 
Case Study Telefonica
Case Study TelefonicaCase Study Telefonica
Case Study Telefonica
 
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...
 
Mobile web development
Mobile web developmentMobile web development
Mobile web development
 
How AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloudHow AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloud
 
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
 
What is A Cloud Stack in 2017
What is A Cloud Stack in 2017What is A Cloud Stack in 2017
What is A Cloud Stack in 2017
 
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMeshThe Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
 
Webinar: OpenIDM 3.1
Webinar: OpenIDM 3.1Webinar: OpenIDM 3.1
Webinar: OpenIDM 3.1
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementations
 
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
IBM Connect Switzerland - Der entspannte Administrator
IBM Connect Switzerland - Der entspannte AdministratorIBM Connect Switzerland - Der entspannte Administrator
IBM Connect Switzerland - Der entspannte Administrator
 
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and DAN...
 
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...
Flexibility in Metadata Schemes and Standardisation: the Case of CMDI and the...
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
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
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Tips To Implementing Multiple Cloud Storage APIs

  • 1. 1 Tips to Implementing Multiple Cloud Storage APIs OpenStack Summit Paris Wednesday November 5, 2014 09:00 - 09:40 Room 212/213 View these slides at: http://bit.ly/MultiCloudAPIs
  • 2. Abstract When customers ask for support of a given API, can a vendor survive if they ignore these requests? A strategy many vendors are taking is to support multiple APIs with a single implementation. Besides the Swift API, many support the S3 defacto and CDMI standard APIs in their implementation. What is needed for these APIs to co-exist in an implementation? There are basic operations that are nearly identical between them, but what about semantics that have multiple different expressions such as metadata? 2 View these slides at: http://bit.ly/MultiCloudAPIs
  • 3. What does this look like? 3
  • 4. Breakdown 4 Storage Operations •CRUD – All pretty much determined by HTTP standard (common code) •Headers are API unique however (handle in API specific modules) Security Operations •Client communication with Auth Server (API unique) •Multiple separate services running in Auth Server
  • 5. Swift and CDMI Models 5 5
  • 6. Comparing S3 to CDMI Function S3 support CDMI S upport List the objects in a container 6 GET Bucket GET Container Display simplified access controls GET Bucket acl GET Container metadata item named cdmi_acl Display Windows and NFS compatible access controls GET Container metadata item named cdmi_acl Discover retention autodelete interval for all objects in a mutable container GET Bucket lifecycle GET Container metadata item named s3_lifecycle Discover whether a container shall be deleted at the end of its retention period GET Container cdmi_retention_autodelete metadata item Discover retention data on a container GET Container cdmi_retention_period and cdmi_retention_start_time metadata items Find legal holds that have been placed on a container GET Container cdmi_hold_id metadata item Discover the policy set on a container GET Bucket policy Discover the geographic location(s) in which a container's data is stored GET Bucket location (US and EU only) GET Container cdmi_geographic_placement_provided metadata item (Full ISO 3166 support) Get logging status GET Bucket logging GET logging queue metadata Get status for full featured logging GET logging queue metadata (CDMI logging features much richer functionality than S3) Whitepaper “A CDMI Guide for S3 Programmers” Alan Yoder, Huawei http://snia.org/sites/default/files/S3-like_CDMI_v1.0.pdf
  • 7. CDMI Object Metadata 2 major classes – System and User SYSTEM Metadata 7 Storage System: Timestamps, Traditional ACLs, Counts etc. Data System: requirements of the object – eg. Retention, Backup, Replication, Performance USER Metadata Application and data specific E.g. EXIF data on photos Location data of objects Relationship data SEARCHABLE! 7
  • 8. CDMI Capability Metadata Describes the capability of a service participating in CDMI cloud environment Performance Retention capability Location information Storage features (Compression, Encryption, Hashes etc.) Shrink to fit development and consumption model Advertising capability means that developers only need to implement the 8 standard partially and only advertise what is implemented 8
  • 9. CDMI and Swift CDMI works alongside Swift and S3 models, not replacing them Any of the APIs can be used to access the same data CDMI has been implemented for Swift as a filter which allows leverage of the Swift authentication filter • If Swift and CDMI disagree, then Swift CDMI “faults” Swift and CDMI use hierarchical containers but are slight different in the implementation and language used Swift Folder = CDMI Container CDMI Metadata can be stored in Swift metadata storage This means the size limitation is implied for CDMI metadata currently 9 9
  • 10. Support for common operations in CDMI 1.1 Latest version of CDMI - http://www.snia.org/sites/default/files/CDMI_Spec_v1.1.pdf •Spec text that explicitly forbid (in 1.0) functionality required for S3/Swift integration has been removed from the spec (“/”s may create intervening CDMI Containers) •Baseline operations (mostly governed by RFC 2616) now documented in Clause 6 (pgs. 28-35) •CDMI now uses content type to indicate CDMI-style operations (as opposed to X-CDMI-Specification-Version) •Specific authentication is no longer mandatory. CDMI implementations can now use S3 or Swift authentication exclusively, if desired. 10
  • 11. Discovery of Security Protocol Implementations CDMI 1.1 now includes a standard means of discovering what methods are available: •cdmi_authentication_methods (Data System Metadata) 12.1.3 •If present, this capability contains a list of server-supported authentication methods that are supported by a domain. The following values for authentication method strings are defined: 11 • "anonymous"-Absence of authentication supported • "basic"-HTTP basic authentication supported (RFC2617) • "digest"-HTTP digest authentication supported (RFC2617) • "krb5"-Kerberos authentication supported, using the Kerberos Domain specified in the CDMI domain (RFC 4559) • "x509"-certificate-based authentication via TLS (RFC5246)
  • 12. Extending the standard security types The following values are examples of other widely used authentication methods that may be supported by a CDMI server: 12 "s3"-S3 API signed header authentication supported "openstack"-OpenStack Identity API header authentication supported Interoperability with these authentication methods are not defined by this international standard. Servers may include other authentication methods not included in the above list. In these cases, it is up to the CDMI client and CDMI server (implementations themselves) to ensure interoperability. When present, the cdmi_authentication_methods data system metadata shall be supported for all domains.
  • 13. CDMI 1.1 – What else is new? Bandwidth consumption meta-data – Split metrics between public and private interfaces for separate accounting Addition of CDMI Group meta-data to associate objects with groups as well as users Commercially tested and implemented extensions and feature–sets including Multi– part MIME, Domain Auth Methods, Expiring ACE and Versioning extensions. 100% backwards compatibility with CDMI v. 1.0.2 to ensure ease of use for investment protection and forward migration 13 13
  • 14. What resources are available CDMI for S3 Developers •http://snia.org/sites/default/files/S3-like_CDMI_v1.0.pdf Comparison of S3/Swift functions •https://wiki.openstack.org/wiki/Swift/APIFeatureComparison • Somewhat dated – needs updating Implementation of CDMI filter driver for Swift •https://github.com/osaddon/cdmi • Needs further development 14 Implementation of S3 filter driver for Swift • https://github.com/stackforge/swift3 • Good community maintenance
  • 15. What experience have you had? Are your customers asking for multiprotocol support? What limitations have you run across? How do you test? Are you: •Modifying Swift? •Using an other (private) implementation? 15
  • 16. Join the Conversation Extended cloud storage API discussions amongst implementers: SNIA Cloud Google Group Forum http://groups.google.com/group/snia-cloud Follow SNIA cloud storage activities on Twitter http://twitter.com/SNIAcloud 16