6. Examples

flowchart TB so{{Service Offering}} pr[/Physical Resource\] vr[\Virtual Resource\] ivr[\Instantiated Virtual Resource/] part[Participant]

6.1 Generic LAMP offering

LAMP is an acronym for Linux, Apache, MySQL, PHP. It is a software stack consisting of the operating system, an HTTP server, a database management system and an interpreted programming language, and is used to set up a web server.

flowchart TB wh -- providedBy --> prov1 wh -. aggregationOf .-> lamp lamp -. aggregationOf .-> paas lamp -- copyrightOwnedBy --> softed1 lamp -- tenantOwnedBy --> prov1 lamp -- maintainedBy --> prov2 server -- manufacturedBy --> manu1 server -. aggregationOf .-> dc server -- onwedBy --> owner1 server -- maintainedBy --> prov4 dc -- manufacturedBy --> manu2 dc -- onwedBy --> owner2 dc -- maintainedBy --> prov5 paas -. aggregationOf .-> server paas -- maintainedBy --> prov3 paas -- copyrightOwnerBy --> softed2 paas -- tenantOwnedBy --> prov2 paas -. aggregationOf .-> conf conf -- copyrightOwnerBy --> prov3 wh{{Web Hosting}} paas[\Platform as a Service/] prov1[Provider 1] lamp[\LAMP/] server[/Servers\] dc[/Datacenter\] conf[\Configuration\] softed1[Software Editor 1] prov2[Provider 2] softed2[Software Editor 2] prov3[Provider 3] manu1[Manufacturer 1] owner1[Owner 1] prov4[Provider 4] manu2[Manufacturer 2] owner2[Owner 2] prov5[Provider 5]

6.1.1 LAMP offering using one software vendor

Example of a LAMP offering with one software vendor.
This diagram can be used to illustrate how several “Trusted Cloud” offers are built.

flowchart TB wh -- providedBy --> prov1 wh -. aggregationOf .-> lamp lamp -. aggregationOf .-> paas lamp -- tenantOwnedBy --> prov1 lamp -- maintainedBy --> prov1 server -. aggregationOf .-> dc server -- onwedBy --> softed1 server -- maintainedBy --> softed1 server -- manufacturedBy --> manu1 dc -- onwedBy --> softed1 dc -- manufacturedBy ---> manu2 dc -- maintainedBy --> softed1 paas -. aggregationOf ..-> server paas -. aggregationOf .-> conf paas -- maintainedBy --> prov1 paas -- copyrightOwnerBy --> softed1 paas -- tenantOwnedBy --> prov1 conf -- copyrightOwnerBy --> softed1 lamp -- copyrightOwnedBy --> softed1 wh{{Web Hosting}} paas[\Platform as a Service/] prov1[National Provider] lamp[\LAMP/] server[/Servers\] dc[/Datacenter\] conf[\Configuration\] softed1[Non-National Software Editor] manu1[Manufacturer 1] manu2[Manufacturer 2]

6.2 Simple Fortune teller

Example of a simple API endpoint returning a fortune from the BSD packet fortune.

For the same service offering, 3 examples of service offering are detailled with 3 different transparency level:
Trust_Index(Service Offering 1 v1.0) < Trust_Index(Service Offering 1 v2.0) < Trust_Index(Service Offering 1 v3.0)

6.2.1 Fortune teller v1.0

flowchart TB so1{{Fortune teller}} part1[Provider 1] so1 -- providedBy --> part1

Service Offering

name: Fortune teller
description: API to randomly return a fortune
providedBy: url(provider1)
termsAndConditions:
  - https://some.url.for.terms.and.condition.example.com

Provider 1

registrationNumber: FR5910.899103360
headquarterAddress:
  country: FR
legalAddress:
  country: FR

6.2.2 Fortune teller v2.0

flowchart TB so1{{Fortune teller}} part1[Provider 1] vr1[\Software 1\] so1 -- providedBy --> part1 so1 -- aggregationOf --> vr1 vr1 -- copyrightOwnedBy --> part1

Service Offering

name: Fortune teller
description: API to randomly return a fortune
providedBy: url(provider1)
aggregationOf:
  - url(software1)
termsAndConditions:
  - https://some.url.for.terms.and.condition.example.com

Software 1

name: api software
copyrightOwnedBy:
  - url(provider1)
license:
  - EPL-2.0

6.2.3 Fortune teller v3.0

flowchart TB so1{{Service Offering}} part1[Provider 1] part2[Participant 2] part3[Participant 3] vr1[\API/] vr2[\DataSet\] pr1[/Datacenter\] so1 -- providedBy --> part1 so1 -- aggregationOf --> vr1 & vr2 & pr1 vr1 -- copyrightOwnedBy --> part1 vr1 -- tenantOwnedByBy --> part1 vr1 -- maintainedBy --> part1 vr2 -- copyrightOwnedBy --> part3 pr1 -- maintainerBy --> part2

Service Offering

name: Fortune teller
description: API to randomly return a fortune
providedBy: url(provider1)
aggregationOf:
  - url(software1)
  - url(dataset1)
  - url(datacenter1)
termsAndConditions:
  - https://some.url.for.terms.and.condition.example.com
policies:
  - type: opa
    content: |-
      package fortune
      allow = true {
        input.method = "GET"
      }

API 1

name: api software
maintainedBy:
  - url(provider1)
tenantOwnedByBy:
  - url(provider1)
copyrightOwnedBy:
  - url(provider1)
license:
  - EPL-2.0

Dataset 1

name: fortune dataset
copyrightOwnedBy:
  - name: The Regents of the University of California
    registrationNumber: C0008116
    headquarterAddress:
      state: CA
      country: USA
    legalAddress:
      state: CA
      country: USA
license:
  - BSD-3
  - https://metadata.ftp-master.debian.org/changelogs//main/f/fortune-mod/fortune-mod_1.99.1-7.1_copyright

Participant 2

name: Cloud Service Provider
registrationNumber: FR5910.424761419
headquarterAddress:
  country: FR
legalAddress:
  country: FR

Datacenter 1

name: datacenter
maintainedBy: url(participant2)
location:
  - country: FR