Towards a
REST Cloud Computing Lexicon
Fabio Petrillo1,3, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3
1 Université du Québec à Montréal, Montréal, Canada
2 Inria Lille - Nord Europe, Villeneuve d’Ascq, France
3 École Polytechnique de Montréal, Montréal, Canada
7th International Conference on Cloud Computing and Services Science (CLOSER 2017)
April 24-26, 2017 – Porto, Portugal
1
Context
2
• Cloud computing = most popular model to provide on-
demand computational resources and services
• REST APIs for offering such computational resources
Web Services
• Wide variety of Cloud APIs à heterogeneity à no interop.
• Cloud APIs are difficult to design and therefore to
understand and use
Problem
• Well-named REST APIs may
attract client developers
• Quality factors: understandability
and reusability 4
• Right choice of the lexicon of cloud computing APIs
• BUT best naming practices scattered in the litterature
• BUT no study on real-world cloud computing APIs
4
Solution
Outline
5
• Contributions
• Study design
• Results and analysis
• Conclusion and Future work
Outline
6
• Contributions
• Study design
• Results and analysis
• Conclusion and Future work
7
Contributions
Goal: Empirical study of the lexicon of Cloud REST APIs
C1. A tooled approach for extracting and analysing REST cloud
computing lexicons
C2. A dataset of services, resources, and terms used in three
studied REST APIs
C3. An analysis of the dataset
Outline
8
• Contributions
• Study design
• Results and analysis
• Conclusion and Future work
9
Study
Objects:
RQ1. Which lexicon is adopted by cloud computing providers?
RQ2. Are there common terms between providers’ lexicons?
RQ3. What is the global lexicon of all cloud providers?
Commercial Open source Standard
Conceptual Model for Cloud Computing REST APIs
- Google Cloud Platform, OpenStack, OCCI, …
10
- GCP products: compute, sql, ...
- OS API: orchestration-api, os-compute-2, …
- OCCI Extensions: Infrastructure, Platform, …
- /{project}/zones/{zone_id}/ instances/{instance_id} in GCP compute
- /{tenant_ id}/servers/{server_id} in os-compute-2
- /compute/{compute_id} in OCCI Infrastructure
- generic CRUD operations: DELETE, GET, POST, PUT, …
- resource-specific actions: start, stop, attach, …
Our Tooled Approach
11
Step 1 – Collecting
documentation
Step 2 – Parsing
documentation
Step 3 – Extracting
lexicon
Step 4 – Analysing
lexicon
Implementation
• Datasets encoded as CSV files to foster reusability
• Parsers, extractors and analyses implemented in Python
to foster readability, comprehension and auditability
• Freely available on https://github.com/Spirals-Team/CloudLexicon
12
Outline
13
• Contributions
• Study design
• Results and analysis
• Conclusion and Future work
14
Providers, Services and URIs
Cloud
Provider
# of
services
% of
services
# of
URIs
% of
URIs
Average
URIs/service
GCP 22 15,49% 505 38,94% 23
OpenStack 115 80,99% 588 45,34% 5
OCCI 5 3,52% 204 15,53% 41
Total 142 1.297 9
Finding 1 – Strong diversity between cloud providers
• GCP - medium services
• OpenStack - a lot of very small services
• OCCI - few large services
15
RQ1. Which lexicon is adopted by cloud providers?
Finding 2 – The lexicon contains a majority of nouns, which are
equally singular or plural, and are mainly in lower case, following
REST API best naming practices.
Cloud
Provider
Lexicon
Terms
GCP 185
OpenStack 137
OCCI 47
16
RQ2. Are there common terms between providers’ lexicons?
Finding 3 – The three cloud computing REST APIs do not share a
common lexicon and very few terms are common between two
APIs.
• No common term
in the three APIs!
• Only 17 terms (5%)
common to two APIs!
17
RQ3. What is the global lexicon of all cloud providers?
Finding 4 – There is no consensus currently on which terms to use
on cloud computing systems.
352
different
terms
Outline
18
• Contributions
• Study design
• Results and analysis
• Conclusion and Future work
19
Conclusion
• First study evaluating and comparing the lexicon of three
REST APIs
- Strong diversity between cloud providers
- Cloud REST APIs follow best naming practices
- No common term in the three APIs!
- Only 17 terms common to two API!
- No consensus on used terms!
• First measure of the lexical heterogeneity in cloud
computing
20
Future Work
• Extend this study to more cloud APIs
Amazon Web Services, Apache CloudStack, DMTF CIMI, OASIS TOSCA, etc.
• Study in deep the semantics of lexicons, e.g., synonyms
• Build an ontology of cloud computing APIs in order to
deal with semantic interoperability between clouds
.
Towards a
REST Cloud Computing Lexicon
Fabio Petrillo1,3, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3
1 Université du Québec à Montréal, Montréal, Canada
2 Inria Lille - Nord Europe, Villeneuve d’Ascq, France
3 École Polytechnique de Montréal, Montréal, Canada
7th International Conference on Cloud Computing and Services Science (CLOSER 2017)
April 24-26, 2017 – Porto, Portugal
21
22
Excerpt of the Cloud Dataset
HTTP Methods
23
à Retrieve
à Update
à Delete
à Create

Closer17.ppt

  • 1.
    Towards a REST CloudComputing Lexicon Fabio Petrillo1,3, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3 1 Université du Québec à Montréal, Montréal, Canada 2 Inria Lille - Nord Europe, Villeneuve d’Ascq, France 3 École Polytechnique de Montréal, Montréal, Canada 7th International Conference on Cloud Computing and Services Science (CLOSER 2017) April 24-26, 2017 – Porto, Portugal 1
  • 2.
    Context 2 • Cloud computing= most popular model to provide on- demand computational resources and services • REST APIs for offering such computational resources Web Services
  • 3.
    • Wide varietyof Cloud APIs à heterogeneity à no interop. • Cloud APIs are difficult to design and therefore to understand and use Problem • Well-named REST APIs may attract client developers • Quality factors: understandability and reusability 4
  • 4.
    • Right choiceof the lexicon of cloud computing APIs • BUT best naming practices scattered in the litterature • BUT no study on real-world cloud computing APIs 4 Solution
  • 5.
    Outline 5 • Contributions • Studydesign • Results and analysis • Conclusion and Future work
  • 6.
    Outline 6 • Contributions • Studydesign • Results and analysis • Conclusion and Future work
  • 7.
    7 Contributions Goal: Empirical studyof the lexicon of Cloud REST APIs C1. A tooled approach for extracting and analysing REST cloud computing lexicons C2. A dataset of services, resources, and terms used in three studied REST APIs C3. An analysis of the dataset
  • 8.
    Outline 8 • Contributions • Studydesign • Results and analysis • Conclusion and Future work
  • 9.
    9 Study Objects: RQ1. Which lexiconis adopted by cloud computing providers? RQ2. Are there common terms between providers’ lexicons? RQ3. What is the global lexicon of all cloud providers? Commercial Open source Standard
  • 10.
    Conceptual Model forCloud Computing REST APIs - Google Cloud Platform, OpenStack, OCCI, … 10 - GCP products: compute, sql, ... - OS API: orchestration-api, os-compute-2, … - OCCI Extensions: Infrastructure, Platform, … - /{project}/zones/{zone_id}/ instances/{instance_id} in GCP compute - /{tenant_ id}/servers/{server_id} in os-compute-2 - /compute/{compute_id} in OCCI Infrastructure - generic CRUD operations: DELETE, GET, POST, PUT, … - resource-specific actions: start, stop, attach, …
  • 11.
    Our Tooled Approach 11 Step1 – Collecting documentation Step 2 – Parsing documentation Step 3 – Extracting lexicon Step 4 – Analysing lexicon
  • 12.
    Implementation • Datasets encodedas CSV files to foster reusability • Parsers, extractors and analyses implemented in Python to foster readability, comprehension and auditability • Freely available on https://github.com/Spirals-Team/CloudLexicon 12
  • 13.
    Outline 13 • Contributions • Studydesign • Results and analysis • Conclusion and Future work
  • 14.
    14 Providers, Services andURIs Cloud Provider # of services % of services # of URIs % of URIs Average URIs/service GCP 22 15,49% 505 38,94% 23 OpenStack 115 80,99% 588 45,34% 5 OCCI 5 3,52% 204 15,53% 41 Total 142 1.297 9 Finding 1 – Strong diversity between cloud providers • GCP - medium services • OpenStack - a lot of very small services • OCCI - few large services
  • 15.
    15 RQ1. Which lexiconis adopted by cloud providers? Finding 2 – The lexicon contains a majority of nouns, which are equally singular or plural, and are mainly in lower case, following REST API best naming practices. Cloud Provider Lexicon Terms GCP 185 OpenStack 137 OCCI 47
  • 16.
    16 RQ2. Are therecommon terms between providers’ lexicons? Finding 3 – The three cloud computing REST APIs do not share a common lexicon and very few terms are common between two APIs. • No common term in the three APIs! • Only 17 terms (5%) common to two APIs!
  • 17.
    17 RQ3. What isthe global lexicon of all cloud providers? Finding 4 – There is no consensus currently on which terms to use on cloud computing systems. 352 different terms
  • 18.
    Outline 18 • Contributions • Studydesign • Results and analysis • Conclusion and Future work
  • 19.
    19 Conclusion • First studyevaluating and comparing the lexicon of three REST APIs - Strong diversity between cloud providers - Cloud REST APIs follow best naming practices - No common term in the three APIs! - Only 17 terms common to two API! - No consensus on used terms! • First measure of the lexical heterogeneity in cloud computing
  • 20.
    20 Future Work • Extendthis study to more cloud APIs Amazon Web Services, Apache CloudStack, DMTF CIMI, OASIS TOSCA, etc. • Study in deep the semantics of lexicons, e.g., synonyms • Build an ontology of cloud computing APIs in order to deal with semantic interoperability between clouds .
  • 21.
    Towards a REST CloudComputing Lexicon Fabio Petrillo1,3, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3 1 Université du Québec à Montréal, Montréal, Canada 2 Inria Lille - Nord Europe, Villeneuve d’Ascq, France 3 École Polytechnique de Montréal, Montréal, Canada 7th International Conference on Cloud Computing and Services Science (CLOSER 2017) April 24-26, 2017 – Porto, Portugal 21
  • 22.
    22 Excerpt of theCloud Dataset
  • 23.
    HTTP Methods 23 à Retrieve àUpdate à Delete à Create