SlideShare a Scribd company logo
1 of 29
Download to read offline
Interoperability and
APIs in OpenStack
Piyush Harsh, John Kennedy,
Andy Edmonds, Thijs Metsch
Some Introductions...
Piyush Harsh
•  Researcher @ ZHAW
•  InIT Cloud Computing Lab
•  Automation, Billing, Interop
John Kennedy
•  Researcher @ Intel Labs Europe
•  Cloud Services Lab
•  Interop, Dependability,
Differentiation
Interoperability! Who Cares?
“An
interoperable
cloud could
help
companies
cut costs and
governments
connect
constituents”
Microsoft
April 2010http://www.microsoft.com/en-us/news/features/2010/feb10/02-01cloudinterop.asp
...Cloud Consumers Care...
Over 300 Cloud
Customers
Their Concerns Include:
●  Proprietary implementations
●  Little commonality
●  Potential for lock-in
●  Lack of price-transparency
http://www.opendatacenteralliance.org/
...Politicians Care
‘walls and limits
in the cloud
will make your
life harder’
“Standards, certification, data
protection, interoperability, lock-in,
legal certainty and others […]
where these barriers exist, I am
determined to overcome them”
Davos Keynote – Jan 2012 - http://europa.eu/rapid/pressReleasesAction.do?reference=SPEECH/12/38
Neelie Kroes, Commissioner for Digital Agenda
Interoperability between Cloud Software Stacks:
(and many more)
All with fundamental cloud services:
●  Compute - VMs, containers
●  Network - e.g. SDN
●  Storage - Block, Object Storage
Care about what?
OpenStack
A global collaboration of developers & cloud computing technologists working to
produce an ubiquitous Infrastructure as a Service (IaaS) open source cloud
computing platform for public & private clouds.
https://www.openstack.org/
Neutron )
OpenStack
http://www.solinea.com/2013/06/15/openstack-grizzly-architecture-revisited/
OpenStack & APIs
http://www.solinea.com/2013/06/15/openstack-grizzly-architecture-revisited/
CDMI
●  OpenStack Swift: powerful, highly-available, scalable open-source object storage, implements its
own API
●  A standards-based interface now a possibility: CDMI
●  Storage Networking Industry Association
○  400 member companies
○  April 2010 released CDMI V1.0
○  Sept 2011 released CDMI V1.0.1
○  June 2012 released CDMI V1.0.2
●  CDMI: Cloud Data Management Interface
○  Recently designated by ISO as an international standard
○  See http://cdmi.sniacloud.org/
●  CDMI for OpenStack:
○  Originally developed by IBM, being enhanced and extended by Intel in FI-WARE
https://github.com/osaddon/cdmi
CDMI for OpenStack
CDMI – Supported features…
OpenStack CDMI implementation supports
●  Authentication (Keystone)
●  List Provider Capabilities
●  List Container Contents
●  Create Container
●  Upload Object
●  Retrieve Object
●  Delete Object
●  Delete Container
●  Get Container Capabilities
●  Get Object Details
●  …
$ curl -v -X PUT -H 'X-Auth-Token:
8197f75188304431bd3181ca79b0b884' -H
'Content-Type: application/directory'-
H 'Content-Length: 0' http://
130.206.80.102:8080/cdmi/
AUTH_d418851c6d294381bbe6e082849686d6/
foo/
< HTTP/1.1 201 Created
< Content-Length: 18
< Content-Type: text/html;
charset=UTF-8
< X-Trans-Id:
tx63ffae10c01542ca8c8b07b130d0387c
< Date: Tue, 06 Nov 2012 13:59:27 GMT
<
201 Created
OCCI for OpenStack
●  OCCI Open Cloud Computing Interface : http://occi-wg.org/
○  a working group under the Open Grid Forum (OGF)
○  a living, open specification
○  RESTful, extensible by design
■  e.g. community work on Monitoring and SLA Awareness
○  proven interoperability in cloud management – over 20 implementations
○  providing interoperability insurance
●  OCCI for OpenStack:
○  Intel, ZHAW and many others contributing via Mobile Cloud Networking,
FI-WARE and other supporting initiatives
○  https://github.com/tmetsch/occi-os
OCCI – Supported features...
OpenStack OCCI implementation supports
●  Authentication (Keystone)
●  Create Security Group
●  Create Security Rule
●  List Provider Capabilities
●  Create Instance
●  Get Instance Details
●  List Instances
●  Start Instance
●  Stop Instance
●  Create Volume
●  Attach Volume
●  Manage IP addresses
●  …
$ curl -v -X GET 130.206.80.11:8787/
compute/edaab8cd-20a3-4639-8ea2-
fb89c89f5107 -H 'X-Auth-Token: '$KID
[…]
Category: m1.small; scheme="http://
schemas.openstack.org/template/resource#";
[…]
Category: Ubuntu_12.04_cloudimg_amd64_VNC;
scheme="http://schemas.openstack.org/template/os#";
class="mixin";
[…]
Link: </storage/10>; rel="http://schemas.ogf.org/
occi/infrastructure#storage"; self="/storage/link/
6cec11d1-4873-43cc-a85d-532a665cf1ad";
[…]
OCCI
●  OCCI Testing Tool
○  http://occi-wg.org/2011/01/18/occi-compliance-testing-tool/
●  ETSI Cloud Testing Suite for OCCI
○  http://www.etsi.org/deliver/etsi_ts/
103100_103199/103142/01.01.01_60/ts_103142v010101p.pdf
●  Currently no reference implementation decided
CDMI
●  SNIA Reference implementation
Worried about compliance?
Not just paper specs…
Open Specs with Open Implementations!
So…
Interoperability and APIs in OpenStack?
CDMI
What is an open spec?
EC2 OCCI CIMI/OVF OpenStack CDMI
Open Meeting No Yes No Yes No
Consensus No Yes Yes Yes Yes
Due Process No Yes Yes Yes Yes
Open IPR No Yes Yes Yes Yes
One World Yes Yes Yes Yes Yes
Open Change No Yes Yes Yes Yes
Open Documents Yes Yes Yes Yes Yes
Open Interface Yes Yes Yes Yes Yes
Open Access Yes Yes Yes Yes Yes
Ongoing support Yes Yes Yes Yes Yes
Open Formats Yes Yes Yes Yes Yes
Implementations > 2 > 2 2 1* >2
http://www.cloudcomp.ch/wp-content/uploads/2013/05/FIA-OCCI-Interoperability.pdf
Should you care?
SDO specs are essential but know where they fit in!
No
Standards are not needed for many activities related to:
•  Start-ups
•  Prototyping
Yes
•  Interoperability
•  Look at EGI FedCloud, CompatibleOne...
•  Compliance, Large IT organisations, Government
Summing Up …
•  There are native APIs for your initial OpenStack
explorations
•  But for interoperability insurance there are
standardized API implementations…
•  These APIs being actively developed to meet Industry,
Consumer and Regulatory Interoperability Needs
CDMI
Open Stack
●  http://www.openstack.org/
Object Storage
●  CDMI: http://cdmi.sniacloud.org/
●  CDMI for OpenStack: https://github.com/osaddon/cdmi
●  FI-WARE Object Storage Generic Enabler:
http://catalogue.fi-ware.eu/enablers/object-storage-ge-fi-ware-implementation
Cloud Management
●  OCCI: http://occi-wg.org/
●  OCCI for OpenStack: https://github.com/tmetsch/occi-os
●  FI-WARE Data Centre Generic Enabler:
http://catalogue.fi-ware.eu/enablers?chapter_tid=2&=Apply (to appear)
More Information...
Thank You!
Any Questions?
Projects referred to in this presentation have received funding from the European Union
Seventh Framework Programme under grant agreements 318109 and 285248
Backup...
CDMI Authenticate...
$ curl -d '{"auth": {"project": "admin", "passwordCredentials": {"username":"admin",
"password":„…"},"tenantId":"d418851c6d294381bbe6e082849686d6"}}' -H"Content-
type: application/json" http://130.206.80.100:5000/v2.0/tokens
{"access":
{"token": {"expires": "2012-11-07T13:39:12Z", "id":
"ea379b97b79c4f1bbaaedfa58ad48e82",
[…]
{"endpoints": [
{"adminURL": "http://130.206.80.102:8080/v1", "region": "RegionOne",
"internalURL": "http://130.206.80.102:8080/v1/
AUTH_d418851c6d294381bbe6e08284 9686d6", "publicURL": "http://
130.206.80.102:8080/v1/AUTH_d418851c6d294381bbe6e08284 9686d6"}],
[…]
CDMI Create Container...
$ curl -v -X PUT -H 'X-Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Content-
Type: application/directory'-H 'Content-Length: 0' http://130.206.80.102:8080/
cdmi/AUTH_d418851c6d294381bbe6e082849686d6/foo/
< HTTP/1.1 201 Created
< Content-Length: 18
< Content-Type: text/html; charset=UTF-8
< X-Trans-Id: tx63ffae10c01542ca8c8b07b130d0387c
< Date: Tue, 06 Nov 2012 13:59:27 GMT
<
201 Created
CDMI Upload Object...
$ curl -v -X PUT -d '{"mimetype":"text/plain", "metadata":{}, "value":"bar"}' -H 'X-
Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Accept: application/cdmi-
object' -H 'Content-Type: application/cdmi-object' -H 'X-CDMI-Specification-
Version: 1.0.1' http://130.206.80.102:8080/[...]/foo/text_doc
< HTTP/1.1 201 Created
< Content-Type: text/html; charset=UTF-8
< Etag: 37b51d194a7513e45b56f6524f2d51f2
< Last-Modified: Tue, 06 Nov 2012 14:00:17 GMT
< Content-Length: 155
< X-Trans-Id: tx03b9cb0122754b118e9fd7d927d1cf4c
< Date: Tue, 06 Nov 2012 14:00:17 GMT
<
{
"parentURI": "AUTH_d418851c6d294381bbe6e082849686d6/foo/",
"metadata": {},
"objectName": "text_doc",
"objectType": "application/cdmi-object"
}
CDMI Retrieve Object...
$ curl -v -X GET -H 'X-Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Accept:
application/cdmi-object' -H 'X-CDMI-Specification-Version: 1.0.1' http://
130.206.80.102:8080/cdmi/AUTH_d418851c6d294381bbe6e082849686d6/foo/text_doc
[…]
{
"completionStatus": "Complete",
"mimetype": "text/plain",
"valuetransferencoding": "utf-8",
"objectName": "text_doc",
"capabilitiesURI": "cdmi_capabilities/AUTH_d418851c6d294381bbe6e082849686d6/foo/
text_doc/",
"parentURI": "AUTH_d418851c6d294381bbe6e082849686d6/",
"value": "bar",
"valuerange": "0-3",
"objectType": "application/cdmi-object",
"metadata": {}
}
OCCI Authenticate...
curl -d '{"auth": {"project": "admin", "passwordCredentials": {"username":"admin",
"password":„…"},"tenantId":"d418851c6d294381bbe6e082849686d6"}}' -H"Content-
type: application/json" http://130.206.80.100:5000/v2.0/tokens
{"access":
{"token": {"expires": "2012-11-07T13:39:12Z", "id":
"ea379b97b79c4f1bbaaedfa58ad48e82",
[…]
[…]
OCCI Create VM...
curl -v -X POST 130.206.80.11:8787/compute/ -H 'Category: compute; scheme="http://
schemas.ogf.org/occi/infrastructure#";' -H 'Content-Type: text/occi' -H 'X-Auth-
Token: '$KID -H 'Category: m1.small; scheme="http://schemas.openstack.org/
template/resource#"; class="mixin"' -H 'Category:
Ubuntu_12.04_cloudimg_amd64_VNC; […]’
< HTTP/1.1 201 Created
< Content-Length: 2
< Content-Type: text/plain
< Location: http://130.206.80.11:8787/compute/edaab8cd-20a3-4639-8ea2-
fb89c89f5107
< Server: pyssf OCCI/1.1
< Date: Wed, 07 Aug 2012 13:48:45 GMT
<
OK
OCCI List instance...
curl -v -X GET 130.206.80.11:8787/compute/edaab8cd-20a3-4639-8ea2-fb89c89f5107
-H 'X-Auth-Token: '$KID
[…]
Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#";
class="kind"; […]
Category: m1.small; scheme="http://schemas.openstack.org/template/resource#";
[…]
Category: Ubuntu_12.04_cloudimg_amd64_VNC; scheme="http://
schemas.openstack.org/template/os#"; class="mixin";
[…]
Link: </storage/10>; rel="http://schemas.ogf.org/occi/infrastructure#storage";
self="/storage/link/6cec11d1-4873-43cc-a85d-532a665cf1ad";
[…]
X-OCCI-Attribute: occi.compute.memory="2.0"
OCCI Stop a VM...
curl -v -X POST "130.206.80.11:8787/compute/edaab8cd-20a3-4639-8ea2-
fb89c89f5107?action=stop" -H 'Content-Type: text/occi' -H 'X-Auth-Token:
'$KID -H 'Category: stop; scheme="http://schemas.ogf.org/occi/
infrastructure/compute/action#"; class="action"'
< HTTP/1.1 200 OK
< Content-Length: 4359
< Content-Type: text/plain
< Server: pyssf OCCI/1.1
< Date: Wed, 07 Nov 2012 14:01:37 GMT
<
Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#";
class="kind"; title="Compute Resource"; rel="http://schemas.ogf.org/occi/
core#resource";
[…]

More Related Content

Viewers also liked

Hadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual MachinesHadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual Machines
DataWorks Summit
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
openstackindia
 
Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners
openstackindia
 

Viewers also liked (18)

Hadoop and OpenStack - Hadoop Summit San Jose 2014
Hadoop and OpenStack - Hadoop Summit San Jose 2014Hadoop and OpenStack - Hadoop Summit San Jose 2014
Hadoop and OpenStack - Hadoop Summit San Jose 2014
 
An Introduction to Red Hat Enterprise Linux OpenStack Platform
An Introduction to Red Hat Enterprise Linux OpenStack PlatformAn Introduction to Red Hat Enterprise Linux OpenStack Platform
An Introduction to Red Hat Enterprise Linux OpenStack Platform
 
Hadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual MachinesHadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual Machines
 
Openstack taskflow 簡介
Openstack taskflow 簡介Openstack taskflow 簡介
Openstack taskflow 簡介
 
Solving Business Challenges with OpenStack
Solving Business Challenges with OpenStackSolving Business Challenges with OpenStack
Solving Business Challenges with OpenStack
 
OpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitOpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack Summit
 
Hello OpenStack, Meet Hadoop
Hello OpenStack, Meet HadoopHello OpenStack, Meet Hadoop
Hello OpenStack, Meet Hadoop
 
OpenStack Foundation 2H 2015 Marketing Plan
OpenStack Foundation 2H 2015 Marketing PlanOpenStack Foundation 2H 2015 Marketing Plan
OpenStack Foundation 2H 2015 Marketing Plan
 
OpenStack Day CEE 2015: Real-World Use Cases
OpenStack Day CEE 2015: Real-World Use CasesOpenStack Day CEE 2015: Real-World Use Cases
OpenStack Day CEE 2015: Real-World Use Cases
 
Telco open stack use cases james thorne
Telco open stack use cases   james thorneTelco open stack use cases   james thorne
Telco open stack use cases james thorne
 
SFScon16 - Michele Baldessari: "OpenStack – An introduction"
SFScon16 - Michele Baldessari: "OpenStack – An introduction"SFScon16 - Michele Baldessari: "OpenStack – An introduction"
SFScon16 - Michele Baldessari: "OpenStack – An introduction"
 
Comparing IaaS: VMware vs OpenStack vs Google’s Ganeti
Comparing IaaS: VMware vs OpenStack vs Google’s GanetiComparing IaaS: VMware vs OpenStack vs Google’s Ganeti
Comparing IaaS: VMware vs OpenStack vs Google’s Ganeti
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloud
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Hadoop and OpenStack
Hadoop and OpenStackHadoop and OpenStack
Hadoop and OpenStack
 

Similar to Interoperability and APIs in OpenStack

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
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
ragss
 

Similar to Interoperability and APIs in OpenStack (20)

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)
 
Supercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-REDSupercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-RED
 
Internet of Things and Edge Compute at Chick-fil-A
Internet of Things and Edge Compute at Chick-fil-AInternet of Things and Edge Compute at Chick-fil-A
Internet of Things and Edge Compute at Chick-fil-A
 
DEF CON 27 - workshop - RICHARD GOLD - mind the gap
DEF CON 27 - workshop - RICHARD GOLD - mind the gapDEF CON 27 - workshop - RICHARD GOLD - mind the gap
DEF CON 27 - workshop - RICHARD GOLD - mind the gap
 
Moscow MuleSoft meetup May 2021
Moscow MuleSoft meetup May 2021Moscow MuleSoft meetup May 2021
Moscow MuleSoft meetup May 2021
 
Understanding AWS security
Understanding AWS securityUnderstanding AWS security
Understanding AWS security
 
BlockchainLAB Hackathon
BlockchainLAB HackathonBlockchainLAB Hackathon
BlockchainLAB Hackathon
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
 
Automating Cloud Operations - Everything you wanted to know about cURL and RE...
Automating Cloud Operations - Everything you wanted to know about cURL and RE...Automating Cloud Operations - Everything you wanted to know about cURL and RE...
Automating Cloud Operations - Everything you wanted to know about cURL and RE...
 
Working with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Working with Oracle Big Data Cloud Compute Edition and Apache ZeppelinWorking with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Working with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
 
Identity management and single sign on - how much flexibility
Identity management and single sign on - how much flexibilityIdentity management and single sign on - how much flexibility
Identity management and single sign on - how much flexibility
 
OpenStack: Everything You Need to Know To Get Started
OpenStack: Everything You Need to Know To Get StartedOpenStack: Everything You Need to Know To Get Started
OpenStack: Everything You Need to Know To Get Started
 
Using Splunk or ELK for Auditing AWS/GCP/Azure Security posture
Using Splunk or ELK for Auditing AWS/GCP/Azure Security postureUsing Splunk or ELK for Auditing AWS/GCP/Azure Security posture
Using Splunk or ELK for Auditing AWS/GCP/Azure Security posture
 
Using Splunk/ELK for auditing AWS/GCP/Azure security posture
Using Splunk/ELK for auditing AWS/GCP/Azure security postureUsing Splunk/ELK for auditing AWS/GCP/Azure security posture
Using Splunk/ELK for auditing AWS/GCP/Azure security posture
 
Core Context Management
Core Context ManagementCore Context Management
Core Context Management
 
OpenStack: Everything You Need To Know to Get Started (ATO2014)
OpenStack: Everything You Need To Know to Get Started (ATO2014)OpenStack: Everything You Need To Know to Get Started (ATO2014)
OpenStack: Everything You Need To Know to Get Started (ATO2014)
 
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
 
FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 MinutesFIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 Minutes
 
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 MinutesFederico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
 
Fiware IoT Proposal & Community
Fiware IoT Proposal & Community Fiware IoT Proposal & Community
Fiware IoT Proposal & Community
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Interoperability and APIs in OpenStack

  • 1. Interoperability and APIs in OpenStack Piyush Harsh, John Kennedy, Andy Edmonds, Thijs Metsch
  • 2. Some Introductions... Piyush Harsh •  Researcher @ ZHAW •  InIT Cloud Computing Lab •  Automation, Billing, Interop John Kennedy •  Researcher @ Intel Labs Europe •  Cloud Services Lab •  Interop, Dependability, Differentiation
  • 3. Interoperability! Who Cares? “An interoperable cloud could help companies cut costs and governments connect constituents” Microsoft April 2010http://www.microsoft.com/en-us/news/features/2010/feb10/02-01cloudinterop.asp
  • 4. ...Cloud Consumers Care... Over 300 Cloud Customers Their Concerns Include: ●  Proprietary implementations ●  Little commonality ●  Potential for lock-in ●  Lack of price-transparency http://www.opendatacenteralliance.org/
  • 5. ...Politicians Care ‘walls and limits in the cloud will make your life harder’ “Standards, certification, data protection, interoperability, lock-in, legal certainty and others […] where these barriers exist, I am determined to overcome them” Davos Keynote – Jan 2012 - http://europa.eu/rapid/pressReleasesAction.do?reference=SPEECH/12/38 Neelie Kroes, Commissioner for Digital Agenda
  • 6. Interoperability between Cloud Software Stacks: (and many more) All with fundamental cloud services: ●  Compute - VMs, containers ●  Network - e.g. SDN ●  Storage - Block, Object Storage Care about what?
  • 7. OpenStack A global collaboration of developers & cloud computing technologists working to produce an ubiquitous Infrastructure as a Service (IaaS) open source cloud computing platform for public & private clouds. https://www.openstack.org/ Neutron )
  • 10. ●  OpenStack Swift: powerful, highly-available, scalable open-source object storage, implements its own API ●  A standards-based interface now a possibility: CDMI ●  Storage Networking Industry Association ○  400 member companies ○  April 2010 released CDMI V1.0 ○  Sept 2011 released CDMI V1.0.1 ○  June 2012 released CDMI V1.0.2 ●  CDMI: Cloud Data Management Interface ○  Recently designated by ISO as an international standard ○  See http://cdmi.sniacloud.org/ ●  CDMI for OpenStack: ○  Originally developed by IBM, being enhanced and extended by Intel in FI-WARE https://github.com/osaddon/cdmi CDMI for OpenStack
  • 11. CDMI – Supported features… OpenStack CDMI implementation supports ●  Authentication (Keystone) ●  List Provider Capabilities ●  List Container Contents ●  Create Container ●  Upload Object ●  Retrieve Object ●  Delete Object ●  Delete Container ●  Get Container Capabilities ●  Get Object Details ●  … $ curl -v -X PUT -H 'X-Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Content-Type: application/directory'- H 'Content-Length: 0' http:// 130.206.80.102:8080/cdmi/ AUTH_d418851c6d294381bbe6e082849686d6/ foo/ < HTTP/1.1 201 Created < Content-Length: 18 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx63ffae10c01542ca8c8b07b130d0387c < Date: Tue, 06 Nov 2012 13:59:27 GMT < 201 Created
  • 12. OCCI for OpenStack ●  OCCI Open Cloud Computing Interface : http://occi-wg.org/ ○  a working group under the Open Grid Forum (OGF) ○  a living, open specification ○  RESTful, extensible by design ■  e.g. community work on Monitoring and SLA Awareness ○  proven interoperability in cloud management – over 20 implementations ○  providing interoperability insurance ●  OCCI for OpenStack: ○  Intel, ZHAW and many others contributing via Mobile Cloud Networking, FI-WARE and other supporting initiatives ○  https://github.com/tmetsch/occi-os
  • 13. OCCI – Supported features... OpenStack OCCI implementation supports ●  Authentication (Keystone) ●  Create Security Group ●  Create Security Rule ●  List Provider Capabilities ●  Create Instance ●  Get Instance Details ●  List Instances ●  Start Instance ●  Stop Instance ●  Create Volume ●  Attach Volume ●  Manage IP addresses ●  … $ curl -v -X GET 130.206.80.11:8787/ compute/edaab8cd-20a3-4639-8ea2- fb89c89f5107 -H 'X-Auth-Token: '$KID […] Category: m1.small; scheme="http:// schemas.openstack.org/template/resource#"; […] Category: Ubuntu_12.04_cloudimg_amd64_VNC; scheme="http://schemas.openstack.org/template/os#"; class="mixin"; […] Link: </storage/10>; rel="http://schemas.ogf.org/ occi/infrastructure#storage"; self="/storage/link/ 6cec11d1-4873-43cc-a85d-532a665cf1ad"; […]
  • 14. OCCI ●  OCCI Testing Tool ○  http://occi-wg.org/2011/01/18/occi-compliance-testing-tool/ ●  ETSI Cloud Testing Suite for OCCI ○  http://www.etsi.org/deliver/etsi_ts/ 103100_103199/103142/01.01.01_60/ts_103142v010101p.pdf ●  Currently no reference implementation decided CDMI ●  SNIA Reference implementation Worried about compliance?
  • 15. Not just paper specs… Open Specs with Open Implementations! So… Interoperability and APIs in OpenStack? CDMI
  • 16. What is an open spec? EC2 OCCI CIMI/OVF OpenStack CDMI Open Meeting No Yes No Yes No Consensus No Yes Yes Yes Yes Due Process No Yes Yes Yes Yes Open IPR No Yes Yes Yes Yes One World Yes Yes Yes Yes Yes Open Change No Yes Yes Yes Yes Open Documents Yes Yes Yes Yes Yes Open Interface Yes Yes Yes Yes Yes Open Access Yes Yes Yes Yes Yes Ongoing support Yes Yes Yes Yes Yes Open Formats Yes Yes Yes Yes Yes Implementations > 2 > 2 2 1* >2 http://www.cloudcomp.ch/wp-content/uploads/2013/05/FIA-OCCI-Interoperability.pdf
  • 17. Should you care? SDO specs are essential but know where they fit in! No Standards are not needed for many activities related to: •  Start-ups •  Prototyping Yes •  Interoperability •  Look at EGI FedCloud, CompatibleOne... •  Compliance, Large IT organisations, Government
  • 18. Summing Up … •  There are native APIs for your initial OpenStack explorations •  But for interoperability insurance there are standardized API implementations… •  These APIs being actively developed to meet Industry, Consumer and Regulatory Interoperability Needs CDMI
  • 19. Open Stack ●  http://www.openstack.org/ Object Storage ●  CDMI: http://cdmi.sniacloud.org/ ●  CDMI for OpenStack: https://github.com/osaddon/cdmi ●  FI-WARE Object Storage Generic Enabler: http://catalogue.fi-ware.eu/enablers/object-storage-ge-fi-ware-implementation Cloud Management ●  OCCI: http://occi-wg.org/ ●  OCCI for OpenStack: https://github.com/tmetsch/occi-os ●  FI-WARE Data Centre Generic Enabler: http://catalogue.fi-ware.eu/enablers?chapter_tid=2&=Apply (to appear) More Information...
  • 20. Thank You! Any Questions? Projects referred to in this presentation have received funding from the European Union Seventh Framework Programme under grant agreements 318109 and 285248
  • 22. CDMI Authenticate... $ curl -d '{"auth": {"project": "admin", "passwordCredentials": {"username":"admin", "password":„…"},"tenantId":"d418851c6d294381bbe6e082849686d6"}}' -H"Content- type: application/json" http://130.206.80.100:5000/v2.0/tokens {"access": {"token": {"expires": "2012-11-07T13:39:12Z", "id": "ea379b97b79c4f1bbaaedfa58ad48e82", […] {"endpoints": [ {"adminURL": "http://130.206.80.102:8080/v1", "region": "RegionOne", "internalURL": "http://130.206.80.102:8080/v1/ AUTH_d418851c6d294381bbe6e08284 9686d6", "publicURL": "http:// 130.206.80.102:8080/v1/AUTH_d418851c6d294381bbe6e08284 9686d6"}], […]
  • 23. CDMI Create Container... $ curl -v -X PUT -H 'X-Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Content- Type: application/directory'-H 'Content-Length: 0' http://130.206.80.102:8080/ cdmi/AUTH_d418851c6d294381bbe6e082849686d6/foo/ < HTTP/1.1 201 Created < Content-Length: 18 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx63ffae10c01542ca8c8b07b130d0387c < Date: Tue, 06 Nov 2012 13:59:27 GMT < 201 Created
  • 24. CDMI Upload Object... $ curl -v -X PUT -d '{"mimetype":"text/plain", "metadata":{}, "value":"bar"}' -H 'X- Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Accept: application/cdmi- object' -H 'Content-Type: application/cdmi-object' -H 'X-CDMI-Specification- Version: 1.0.1' http://130.206.80.102:8080/[...]/foo/text_doc < HTTP/1.1 201 Created < Content-Type: text/html; charset=UTF-8 < Etag: 37b51d194a7513e45b56f6524f2d51f2 < Last-Modified: Tue, 06 Nov 2012 14:00:17 GMT < Content-Length: 155 < X-Trans-Id: tx03b9cb0122754b118e9fd7d927d1cf4c < Date: Tue, 06 Nov 2012 14:00:17 GMT < { "parentURI": "AUTH_d418851c6d294381bbe6e082849686d6/foo/", "metadata": {}, "objectName": "text_doc", "objectType": "application/cdmi-object" }
  • 25. CDMI Retrieve Object... $ curl -v -X GET -H 'X-Auth-Token: 8197f75188304431bd3181ca79b0b884' -H 'Accept: application/cdmi-object' -H 'X-CDMI-Specification-Version: 1.0.1' http:// 130.206.80.102:8080/cdmi/AUTH_d418851c6d294381bbe6e082849686d6/foo/text_doc […] { "completionStatus": "Complete", "mimetype": "text/plain", "valuetransferencoding": "utf-8", "objectName": "text_doc", "capabilitiesURI": "cdmi_capabilities/AUTH_d418851c6d294381bbe6e082849686d6/foo/ text_doc/", "parentURI": "AUTH_d418851c6d294381bbe6e082849686d6/", "value": "bar", "valuerange": "0-3", "objectType": "application/cdmi-object", "metadata": {} }
  • 26. OCCI Authenticate... curl -d '{"auth": {"project": "admin", "passwordCredentials": {"username":"admin", "password":„…"},"tenantId":"d418851c6d294381bbe6e082849686d6"}}' -H"Content- type: application/json" http://130.206.80.100:5000/v2.0/tokens {"access": {"token": {"expires": "2012-11-07T13:39:12Z", "id": "ea379b97b79c4f1bbaaedfa58ad48e82", […] […]
  • 27. OCCI Create VM... curl -v -X POST 130.206.80.11:8787/compute/ -H 'Category: compute; scheme="http:// schemas.ogf.org/occi/infrastructure#";' -H 'Content-Type: text/occi' -H 'X-Auth- Token: '$KID -H 'Category: m1.small; scheme="http://schemas.openstack.org/ template/resource#"; class="mixin"' -H 'Category: Ubuntu_12.04_cloudimg_amd64_VNC; […]’ < HTTP/1.1 201 Created < Content-Length: 2 < Content-Type: text/plain < Location: http://130.206.80.11:8787/compute/edaab8cd-20a3-4639-8ea2- fb89c89f5107 < Server: pyssf OCCI/1.1 < Date: Wed, 07 Aug 2012 13:48:45 GMT < OK
  • 28. OCCI List instance... curl -v -X GET 130.206.80.11:8787/compute/edaab8cd-20a3-4639-8ea2-fb89c89f5107 -H 'X-Auth-Token: '$KID […] Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; […] Category: m1.small; scheme="http://schemas.openstack.org/template/resource#"; […] Category: Ubuntu_12.04_cloudimg_amd64_VNC; scheme="http:// schemas.openstack.org/template/os#"; class="mixin"; […] Link: </storage/10>; rel="http://schemas.ogf.org/occi/infrastructure#storage"; self="/storage/link/6cec11d1-4873-43cc-a85d-532a665cf1ad"; […] X-OCCI-Attribute: occi.compute.memory="2.0"
  • 29. OCCI Stop a VM... curl -v -X POST "130.206.80.11:8787/compute/edaab8cd-20a3-4639-8ea2- fb89c89f5107?action=stop" -H 'Content-Type: text/occi' -H 'X-Auth-Token: '$KID -H 'Category: stop; scheme="http://schemas.ogf.org/occi/ infrastructure/compute/action#"; class="action"' < HTTP/1.1 200 OK < Content-Length: 4359 < Content-Type: text/plain < Server: pyssf OCCI/1.1 < Date: Wed, 07 Nov 2012 14:01:37 GMT < Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="Compute Resource"; rel="http://schemas.ogf.org/occi/ core#resource"; […]