Comments (6)
Assumption: "MEC" in the intent definition actually refers to "cloudlets" as defined in https://github.com/camaraproject/EdgeCloud/blob/main/documentation/SupportingDocuments/edge_terminology.md
Actually there are two different API families to cover that intent. The controller API which provides cloudlets to the developer BEFORE he actually creates an edge app.
-ShowCloudlet - This API returns all cloudlets and their specific information a developer has access to (based on the organizations the developer belong to and their cloudlet access); I.e. this API is location independent thus the cloudlets are not returned in a particular order. The location and status of the cloudlets are part of the returned information.
The client API provide the application endpoints of the best cloudlets AFTER an edge app has been created:
- FindCloudlet - Find the best application service running on a cloudlet in the Edge Cloud for the client to use, based on proximity and other policies.
- GetAppInstList -Like FindCloudlet, but returns a short list of the best instances instead of a single result, allowing the client to choose based on its own criteria, or maintain several parallel connections to different sites. <- This one probably is closest to the defined intent with the difference that it provided application endpoints on that cloudlets, not the cloudlet itself.
Actually the intent itself already seems to assume a certain way of discovery and deployment, i.e. that a developer would want to discover optimal cloudlets before he actually deploys an app but still doing this being aware of the client location. However the EdgeXR implementation and API follows a model where you rather specify first your intents for an app using the CreateAutoProvPolicy API and at runtime the platform takes care of the deployment to the cloudlets based on those intents, the app client then discovers the optimal endpoints for the specific client situation. This is a different philosophy of where to put the burden of orchestration, the original intent seems to put this rather on the developer/client side while in our architecture this is part of the platform logic.
The intents which our APIs were designed for would be rather something like:
- As a developer, i want to see the available cloudlets to which an app could be provisioned during runtime
- As a developer client app, i want to be able to connect to the optimal endpoint(s) given my current location/connectivity
from edgecloud.
Thanks @ThomasEdgeXR - if we change the intent from "operator MEC platforms" to "cloudlets" (pointing to the terminology definition) then I think that can encompass the 5GFF case too. Would that help?
from edgecloud.
This intent is not part of the Capgemini App management API proposal.
from edgecloud.
the table accurately reflects the support for the intent in 5GFF MEC Exposure & Experience Management API.
the response has ordered list of MEC platforms from most optimal to least optimal based on multiple selection criteria as supplied by the API caller. default selection criteria is latency and additional criteria can be supplied as noted in the API spec either directly or via service profile id.
Another point to note is device location is not mandated as input for finding the optimal MEC. optimal MEC is based on data packet routing.
from edgecloud.
Thanks @maheshc01 - @ThomasEdgeXR proposes we change 'MEC platforms' to 'cloudlets'. Please can you compare the definition of each in the Edge Terminology and see if they are identical or not?
from edgecloud.
This are the flow diagrams for corresponding EdgeXR APIs
showCloudlet (https://api.edgexr.org/#tag/Cloudlet/operation/ShowCloudlet)
sequenceDiagram
participant developer
participant operator
Note over developer,operator: PRE App determined proper Operator Gateway as per attached network
Note over developer,operator: PRE App developer registered, <br/> authenticated and authorised
developer->>operator: POST /ShowCloudlet <region>
operator->>developer: Iist of cloudlets in the requested region
findCloudlet (https://developers.edgexr.org/design/best-practice-sdk/#sdk-basics--)
sequenceDiagram
participant app
participant operator
Note over app,operator: PRE App determined proper Operator Gateway as per attached network
app->>operator: POST /RegisterClient <app, org>
operator->>app: <sessioncookie>
app->>operator: GET /FindCloudlet <sessioncookie, devicelocation>
operator->>app: <closest endpoint IP>
from edgecloud.
Related Issues (20)
- EAM API: versioning
- AED API: versioning
- EAM API: Readiness Checklist
- TI API: 3Legs link obsolete HOT 2
- TI API: Test Cases HOT 1
- TI API: Cloud Event notification
- TI API: phone number from access token
- Combining EDS API with AED API
- EDS API: Application Endpoints functionality to be a new API
- Combining EDS API with EAM API
- Update CODEOWNERS to replace TEF representative
- TI API: resource modification while action is still in progress HOT 1
- TI API: DNS cache HOT 9
- TI API: destination EAS IP address
- TI API: Changelog HOT 1
- EAM: remove appId from get app instances API
- EAM API: missing App Instance name? HOT 1
- EAM API: allow more than one App type instance per Zone
- EAM API: only UUID format for IDs is too strict HOT 1
- EAM API: Regions for App definitions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from edgecloud.