Skip to content

Commit a305684

Browse files
Edge Cloud LCM API User Story
1 parent c52d99f commit a305684

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
2+
Edge Cloud Lifecycle Management User Story
3+
_This document is based on the [CAMARA Commonalities template for User Stories](https://github.com/camaraproject/Commonalities/blob/main/documentation/Userstory-template.md)_
4+
_Roles are referenced from the ITU-T Cloud Refence Architecture._
5+
6+
## Summary
7+
"As an Application Developer, I want to determine the Edge Cloud Zone more suitable for my application, being aware of all the options available their status and region of interest.
8+
I want to be able to put my application available in the selected Edge Cloud Zone or Region in a simpler manner providing both artifacts and metadata for instantiating my application succesfully at the same time I want to be able to terminate
9+
running instances of my application on a particular Edge Zone or Region and also to remove information of the whole application itself ".
10+
11+
This story includes the whole journey from discovering Edge Cloud Zones available to run instances of the application and terminate them :
12+
13+
14+
## Actors, Roles, and Scope
15+
| Actor | Role | Scope |
16+
|-------|------|-------|
17+
|Application Provider (AP) |API Consumer | API requester |
18+
|Operator Platform (OP)|Edge Cloud Provider | API Publisher |
19+
|Edge Infrastructure Provider (EIP)|Edge Cloud Provider|
20+
21+
Note the role of Edge Cloud Provider may be played by either the Operator or a Hyperscaler.
22+
23+
## Pre-conditions
24+
The AP has a resource usage agreement with the Operator Platform
25+
26+
| Item | Description | Support Qualifier |
27+
|----|----|----|
28+
|Summary|Network operators offers a Multi-access Edge Computing platform in a given territory with several levels of abstraction being the Edge Cloud Zone the lowest one. Network operators offers a service through EdgeCloud APIs that permits application providers to deploy instances of an application in one or several Edge Cloud Zones, and to Applications Users the posibility to chose the most appropriate Edge Cloud Zone available at a given moment| M |
29+
|Pre-conditions|The AP has a resource usage agreement with the Operator Platform| M |
30+
|Begins when|The Application Provider (AP) invokes the EdgeCloud API to submit at application with references to obtain all needed data for their instantiation (container images or VM images and manifests describing required resources by an application)| M |
31+
|Step 1|The OP authorizes the request (terminates with a notification to the AP if it is not valid)| M |
32+
|Step 2|The OP validates the request (terminates with a notification to the AP if content is not valid)| M|
33+
|Step 3|The OP stores the app information and returns an Id for reference (terminates with a notification to the AP if error)| M |
34+
|Step 4|The OP request information of currently available Edge Cloud Zones and Regions and their status| M |
35+
|Step 4|The AP invokes the EdgeCloud API to instantiate the application in a given Region, it can also include an specific Edge Cloud Zone referencing previously generated appId | M |
36+
|Step 5|The OP validates the request and if AppId and parameters provided are valid, returns an object including references to one instance Id per Edge Cloud Zone with an instantiation status "instantiating" and starts deploying app instance in EdgeCloud Zones that meet the input criteria| M |
37+
|Step 6|The AP may request updated information of existing app instances of a given app. Possible status for app instantiation includes "ready" also information for endpoint info is provided for the app instance| O |
38+
|Step 7|App instance may provide service for end users | O |
39+
|Step 8|The AP request termination of one app instance (optionally all app instances in a given region) | M |
40+
|Step 8|The OP validates the request (terminates with a notification to the UE if content is not valid e.g. given appId does not exist)| M|
41+
|Step 9|The OP response to the AP and starts the termination of the app instance, moving its status to terminating| M|
42+
|Step 10|The UE connects to the provided EAS and start using the application| M|
43+
|Ends when|The UE connects to the EAS| M |
44+
|Post-conditions|The UE is connected to the most adequate EAS, it may request to reconnect (repeat Step 10) at any time if the perceived quality is not adequate| M |
45+
|Exceptions|<br><ul><li>During the step 2 the , the OP can not be able to download the image</li><li>During the step 5 the Edge cloud zone resources are not available | M |
46+
47+
48+
49+
## Flow
50+
```mermaid
51+
sequenceDiagram
52+
participant AP
53+
participant OP
54+
participant EIP
55+
Note over AP,OP: PRE App on device attached <br/> to operator network
56+
Note over AP,OP: PRE App developer registered, <br/> authenticated and authorised
57+
AP->>OP: GET /edge-cloud-zone
58+
OP->>AP: Returns the information about the Edge cloud zones (edgeCloudZoneInfo)
59+
alt app has a local mapping of server endpoints to Edge Cloud Zones
60+
AP->>OP: POST /app Information about app to be instantiate(appManifest)
61+
OP->>AP: Returns the identificator of the submitted app (appId)
62+
AP->>OP: GET /app?appId=UUID Information about app(appId) to be instantiate(appManifest)
63+
OP->>AP: Returns the information requested (appManifest)
64+
AP->>OP: DELETE /app (appId) Delete app for a given appId (Manifest and any related information)
65+
OP->>AP: Request accepted
66+
AP->>OP:POST /app Instantiate application (appId) in a determinated Edge Cloud Zone(edgeCloudZoneId)
67+
OP->>EIP: Instantiate instance in a determinated Edge Cloud Zone(edgeCloudZoneId)
68+
EIP->>OP: Application instantiated
69+
OP->>AP:Returns the appInstance created
70+
AP->>OP: GET /app (appId) /Instance?appID=UUID Information about app(appId) instantiated (appInstanceInfo)
71+
OP->>AP: Returns the application instance information
72+
AP->>OP: DELETE /app (appId) DELETE Running instance for a given appId.
73+
alt delete only the instance related with the appId
74+
OP->>EIP: Delete instance
75+
EIP->>OP: Instance deleted
76+
OP->>AP: Application instance deleted
77+
end
78+
end
79+
```
80+
81+
82+

0 commit comments

Comments
 (0)