Current version of the data model to describe the Cloud-Edge-IoT computing continuum, which has been developed from scratch during the aerOS project. This repository is organized in two folders:
- Examples: contains examples in JSON in normalized and key-value (within its folder) format of the proposed entities, but the comments about attributes are only included in the normalized format examples. In addition, the examples of the old version have been kept to allow comparisons.
- Schemas: contains the JSON schemas of the proposed entities (in key-value format).
The content of this repository has been used to formally define the ITinfrastructure (the name is still under discussion) data model inside the Smart Data Models initiative. This data model is currently in incubating stage.
This schema has been created using a relational database approach to only provide a better visualization and understanding support, but remember that this is no linked with databases.
Right now, we have identified 19 entities:
- Domain: represents an aerOS domain, which belongs to owners and contains some IEs and LLOs.
- DomainStatus: represents the status of a domain. Valid values are: Preliminar, Functional and Removed.
- InfrastructureElement: represents an Infrastructure Element, which is linked to a single Domain and a single LLO, with some monitoring information.
- InfrastructureElementStatus: represents the status of an IE. Valid values are: Untrusted, Unsecure, Overload and Ready.
- InfrastructureElementTier: represents the tier (cloud, edge, ...) of an IE. Valid values are: Cloud, Edge, FarEdge and IoT.
- CpuArchitecture: represents a CPU architecture. Valid values are: x64, arm32, arm64 and risc-v.
- OperatingSystem: represents an Operating System.
- LowLevelOrchestrator: represents a Low Level Orchestrator instance. The underlying "orchestration type" tries to link an LLO with a certain "container orchestration technology" (e.g. Kubernetes, Docker, containerd, ...).
- OrchestrationType: container orchestration technology. Valid values are: Kubernetes, Docker and Containerd.
- Service: represents a single instance of an IoT service with a unique identifier. A service is composed by one or some ServiceComponents.
- ServiceType: identifies the services (e.g. Wordpress, Node-RED, ...) such as a catalogue.
- ServiceComponent: represents a part of a service (at this moment a container) which is deployed in a IE. For instance, a "Wordpress" service is composed by two components or containers: a webpage and a database. This entity has attributes of diferent scopes: orchestration and deployment. We have added more useful attributes such as infrastructureElementRequirements, SLA, artifacts... that must be discussed and some or them are candidates to be moved to a new entity type.
- ServiceComponentStatus: represents the status of an service component. Valid values are: Running, Starting, Overload, Failed, Migrationg, Locating, Removing and Finished.
- InfrastructureElementRequirements: represents the IE requirements for running a service component.
- NetworkPort: represents a network port.
- PersistentStorage: represents the storage needed by the service component to persist key data.
- aerOS AAA entities:
- User: represents an aerOS user.
- Organization: represents an aerOS organization.
- Role: represents an aerOS role.
This repository is intended to provide examples of the ontology following the NGSI-LD spec to guide developers in the practical use of this ontology. Therefore, visit the aerOS continuum ontology repository to obtain more information about the formalized ontology following the LOT methodology. In addition, you can visit the generated Gitlab page that contains the ontology specification, including visual-friendly schemas.


