Today, Google Cloud Platform (GCP) is one of the leaders among cloud APIs. Although it was established only five years ago, GCP has gained notable expansion due to its suite of public cloud services that it based on a huge, solid infrastructure. GCP allows developers to use these services by accessing GCP RESTful API that is described through HTML pages on its website. However, the documentation of GCP API is written in natural language (English prose) and therefore shows several drawbacks, such as Informal Heterogeneous Documentation, Imprecise Types, Implicit Attribute Metadata, Hidden Links, Redundancy and Lack of Visual Support. To avoid confusion and misunderstandings, the cloud developers obviously need a precise specification of the knowledge and activities in GCP. Therefore, this paper introduces GCP MODEL, an inferred formal model-driven specification of GCP which describes without ambiguity the resources offered by GCP. GCP MODEL conforms to the Open Cloud Computing Interface (OCCI) metamodel and is implemented based on the open source model-driven Eclipse-based OCCIWARE tool chain. Thanks to our GCP MODEL, we offer corrections to the drawbacks we identified.
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
A Precise Model for Google Cloud Platform (IC2E'2018)
1. A Precise Model for
Google Cloud Platform
Stéphanie Challita | Faiez Zalila | Christophe Gourdin | Philippe Merle
Inria Lille – Nord Europe & University of Lille
6th IEEE International Conference on Cloud Engineering (IC2E 2018)
17 – 20 April, 2018, Orlando, Florida, USA
3. Google Cloud Platform
Cloud
developer/designer
Cloud
provider
An agreement with the developer on exactly how the system will operate
conformsto
GCP
documentation
GCP documentation is written in natural language
human errors and/or semantic confusions
Stéphanie Challita 317 – 20 April, 2018, Orlando, Florida, USA
4. Agenda
• Drawbacks & Motivations
• Contribution
• Perspectives
Stéphanie Challita 417 – 20 April, 2018, Orlando, Florida, USA
6. List of Drawbacks
Stéphanie Challita 6
• Informal Heterogeneous Documentation
• Imprecise Types
• Implicit Attribute Metadata
• Hidden Links
• Redundancy
• Lack of Visual Support
17 – 20 April, 2018, Orlando, Florida, USA
7. Informal Heterogeneous Documentation
Stéphanie Challita 7
Vs.
Available at
https://cloud.google.com/compute/docs/reference/latest/networks
Available at
https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.clusters
17 – 20 April, 2018, Orlando, Florida, USA
9. Lack of Visual Support
• Only descriptive information in GCP
documentation
– A huge time to be properly understood and analyzed
• Visual diagrams easily highlight in short but
catchy view the concepts of the API
– Help to avoid wastage of time
– Logical sequence and comparative analysis can be
undertaken
Stéphanie Challita 917 – 20 April, 2018, Orlando, Florida, USA
11. Global Vision
Stéphanie Challita 1117 – 20 April, 2018, Orlando, Florida, USA
• Precise model for GCP
• Work of reverse-engineering, HTML Model
• GCP model refinement
12. GCP Snapshot
Stéphanie Challita 12
A
Snapshot
GCP
HTML pages
GCP
documentation
• GCP engineers could
update/correct GCP
documentation
• Continuously following up with
GCP documentation is costly
• Snapshot of GCP API
17 – 20 April, 2018, Orlando, Florida, USA
13. GCP Crawler & GCP Model
Stéphanie Challita 13
GCP
Crawler GCP
Model
A B
Snapshot
GCP
HTML pages
GCP
documentation
C
• GCP Crawler to extract all GCP resources, their
attributes and actions
• GCP Model for a better description of the GCP
resources and for reasoning over them
No more Informal Heterogeneous Documentation
17 – 20 April, 2018, Orlando, Florida, USA
14. Model Transformations
Stéphanie Challita 14
GCP
Crawler
Implicit Attribute
Metadata Detection
Link Identification
Redundancy Removal
GCP
Model
A B
Snapshot
GCP
HTML pages
GCP
documentation
C
Model
Transformations
Type Refinement
Model Visualization
17 – 20 April, 2018, Orlando, Florida, USA
15. Type Refinement
• By adopting the data type system proposed by OCCIware
metamodel
– defining regular expressions,
– and using the EMF validator to check the type constraints that
are attached to the attributes
• If the type of an attribute in the documentation is string
and the description explains that this is an email address,
we apply the email validation constraint :
– STRINGTYPE + this regular expression:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,6}$
• No more Imprecise Types
Stéphanie Challita 1517 – 20 April, 2018, Orlando, Florida, USA
16. Model Visualization
No more Lack of Visual Support
Stéphanie Challita 16
For an easier understanding
and analysis of the API,
because the insights become
obvious
17 – 20 April, 2018, Orlando, Florida, USA
17. Analysis
• “GCP documentation is
developed by two separate
clusters of development teams”
Stéphanie Challita 1717 – 20 April, 2018, Orlando, Florida, USA
Runtime
Config
Cloud User
Account
• “GCP documentation is
redundant and not
comprehensive”
&
GCP
Model
19. In progress…
• Validation with Google
• GCP Studio, a dedicated model-driven
environment for GCP
• Generation of GCP artifacts such as JSON files
and CURL scripts
• Model-driven management of GCP systems
Stéphanie Challita 1917 – 20 April, 2018, Orlando, Florida, USA