Skip to content
Snippets Groups Projects
Commit 2fc02f6b authored by trantzas's avatar trantzas
Browse files

Fix for #9

- Updating architecture.md with latest updates
- resolving mkdocs linting info/warnings
parent 86af44b4
No related branches found
No related tags found
1 merge request!14Resolve "Creating Release 2024Q4 documentation"
Pipeline #10904 passed
...@@ -160,7 +160,7 @@ The sync process is found in the code and explained by the following picture: ...@@ -160,7 +160,7 @@ The sync process is found in the code and explained by the following picture:
# Expose CRDs as Service Specifications in OpenSlice catalogs # Expose CRDs as Service Specifications in OpenSlice catalogs
See [ExposingKubernetesResources](ExposingKubernetesResources.md) See [ExposingKubernetesResources](../../service_design/kubernetes/ExposingKubernetesResources.md)
......
# Architecture # Architecture
## High-Level Introduction
Openslice offers the following main functionalities: <!-- OpenSlice offers the following main functionalities:
* Service Catalog Management: A CSP will have the ability to manage the Service Catalog Items, their attributes , organize in categories and decide what to make available to Customers * Service Catalog Management: A CSP will have the ability to manage the Service Catalog Items, their attributes , organize in categories and decide what to make available to Customers
* Services Specifications: A CSP will be able to manage Service Specifications * Services Specifications: A CSP will be able to manage Service Specifications
* Service Catalog Exposure: A CSP will be able to expose catalog to customers and related parties * Service Catalog Exposure: A CSP will be able to expose catalog to customers and related parties
* Service Catalog to Service Catalog: Openslice able to consume and provide Service Catalog items to other catalogs * Service Catalog to Service Catalog: Openslice able to consume and provide Service Catalog items to other catalogs
* Service Order: The Customer will be able to place a Service Order * Service Order: The Customer will be able to place a Service Order
* Service Inventory: The Customer and Provider will be able to view deployed Services status * Service Inventory: The Customer and Provider will be able to view deployed Services status -->
[![OpenSlice architecture](./images/architecture.png)](./images/architecture.png)
The following figure displays the overall architecture of Openslice.
[![Openslice architecture](../images/architecture.png)](../images/architecture.png) OpenSlice consists of:
* Web frontend User Interface (UI) that consists of mainly two portal categories:
1. An NFV portal allowing users to onboard VNFDs/NSDs to facility’s NFVOs and self-service management
2. Several TMF-family portals (Product, Service, Resource, Testing) which allow users to browse the respective layers of a modern BSS/OSS solution
* An API gateway that proxies the internal APIs, which are used by the Web frontend as well as any other 3rd party services, and consist of:
1. A microservice offering TMF-compliant API services (e.g. Product/Service/Resource Catalog API, Service Ordering API, etc)
2. A microservice offering NFV-compliant API services (e.g. VNFD/NSD onboarding and management, etc) allowing to manage multiple NFVOs and store VNFDs and NSDs in the respective catalogues
* A Message Bus used by all microservices to exchange messages either via message Queues or via publish/subscribe Topics
* An Authentication Server implementing Oauth2 authentication scheme
* A microservice that is capable to interface with an issue management system (e.g. it raises an issue to all related stakeholders - CSPs, NOPs, CSCs - that a new Service Order is requested)
* A Central Logging microservice that logs all distributed actions into an Elasticsearch cluster
* A Service Orchestrator (SO) solution that will fulfill Service Ordering requests by propagating the orchestration actions to underlying components (e.g. NFVOs or Kubernetes) or to external SOs
* A MANO Client microservice which interfaces with SOL005-compliant NFVOs (synchronizing artifacts and propagating actions)
* A Custom Resource (CR) to TMF bridge (CRIDGE) microservice which interfaces with Kubernetes
* A Metrics Retrieval Component (METRICO) which interfaces with external monitoring tools, retrieving and injecting desired metrics into OpenSlice orchestration pipeline
* An Assurance Services component which generates and monitors alerts, as well executing defined actions based on the latter
* A visualization server (KROKI) microservice which enables a intuitive illustration of dependency graphs and interactions
Openslice allows Vertical Customers browsing the available offered service specifications. It consists of:
* Web frontend UIs that consist of mainly two portals: i) a NFV portal allowing users self-service management and onboarding VNFDs/NSDs to facility’s NFVO ii) a Services Portal, which allows users to browse the Service Catalog, Service Blueprints specifications and the Service Inventory
* An API gateway that proxies the internal APIs and used by the web front end as well as any other 3rd party service
* A Message Bus where all microservices use it to exchange messages either via message queues or via publish/subscribe topics
* An authentication server implementing Oauth2 authentication scheme
* A microservice offering TMF compliant API services (eg Service Catalog API, Service Ordering APIetc)
* A microservice offering NFV API services (eg VNF/NSD onboarding etc) and allows to store VNFDs and NSDs in a catalog
* A microservice that is capable to interface to an issue management system. For example it raises an issue to all related stakeholders (CSP, NOP, CSC) that a new Service Order is requested
* Central logging microservice that is capable to log all distributed actions in to an Elasticsearch cluster
* A Service Orchestrator solution that will propagate Service Ordering requests to the equivalent SOs and NFVOs
## Microservices Deployment
The following figure depicts how OpenSlice microservices are deployed
The following figure depicts how Openslice microservices are deployed [![OpenSlice microservices network deployment](./images/microservices_network_deployment.png)](./images/microservices_network_deployment.png)
[![Openslice microservices network deployment](../images/microservices_network_deployment.png)](../images/microservices_network_deployment.png)
## Deploying OpenSlice in multi-domain scenarios
## Deploying Openslice in multi domain scenarios A typical deployment across domains, involves some typical components:
A typical deployment across domains, involves today some typical components: i) an OSS/BSS to allow customers access the service catalog and perform service orders, ii) a Service Orchestrator (SO) component for executing the service order workflow, as well as iii) a Network Functions Virtualization Orchestrator (NFVO) for configuring the iv) network resources. 1. an OSS/BSS to allow customers access the service catalog and perform service orders,
2. a Service Orchestrator (SO) component for executing the service order workflow,
3. a Network Functions Virtualization Orchestrator (NFVO) or Kubernetes for configuring the network resources.
TMF Open APIs are introduced not only for exposing catalogues and accepting service orders, but also implementing the East-West interfaces between the domains, fulfilling also the LSO requirements as introduced by MEF. TMF Open APIs are introduced not only for exposing catalogues and accepting service orders, but also implementing the East-West interfaces between the domains, fulfilling also the [LSO requirements](https://wiki.mef.net/pages/viewpage.action?pageId=56165271) as introduced by MEF.
The following figure shows how openslice could be used in such scenarios: The following figure shows how openslice could be used in such scenarios:
[![Openslice multi-domain-architecture](../images/multi-domain-architecture.png)](../images/multi-domain-architecture.png) [![Openslice multi-domain-architecture](../getting_started/configuration/images/multi-domain-architecture.png)](../getting_started/configuration/images/multi-domain-architecture.png)
See more [Consuming Services From External Partner Organizations](./consumingServicesFromExternalPartners.md) See more [Consuming Services From External Partner Organizations](../getting_started/configuration/consumingServicesFromExternalPartners.md).
\ No newline at end of file
doc/architecture/images/architecture.png

267 KiB

...@@ -82,7 +82,7 @@ cd org.etsi.osl.main/kubernetes/helm/openslice/ ...@@ -82,7 +82,7 @@ cd org.etsi.osl.main/kubernetes/helm/openslice/
### 3. Prerequisites before deployment ### 3. Prerequisites before deployment
Before deploying the Helm chart, ensure you have configured the necessary components as detailed in the following section, i.e. [Configure Helm Chart Services](#configure-helm-chart-services). By default, the `main` branch is selected for deployment. Before deploying the Helm chart, ensure you have configured the necessary components as detailed in the following section, i.e. [Configure Helm Chart Services](#configure-helm-chart). By default, the `main` branch is selected for deployment.
We recommend: We recommend:
...@@ -487,7 +487,7 @@ The Keycloack server is managing authentication and running on a container at po ...@@ -487,7 +487,7 @@ The Keycloack server is managing authentication and running on a container at po
- Navigate to Administration Console - Navigate to Administration Console
- Login with the credentials from section [Keycloak Configuration](#3-keycloak-configuration). Default values are: - Login with the credentials from section [Keycloak Configuration](#2-keycloak-configuration). Default values are:
- user: admin - user: admin
- password: Pa55w0rd - password: Pa55w0rd
......
...@@ -6,7 +6,7 @@ TMF Open APIs are introduced not only for exposing catalogues and accepting serv ...@@ -6,7 +6,7 @@ TMF Open APIs are introduced not only for exposing catalogues and accepting serv
The following figure shows how openslice could be used in such scenarios: The following figure shows how openslice could be used in such scenarios:
[![Openslice multi-domain-architecture](../images/multi-domain-architecture.png)](../images/multi-domain-architecture.png) [![Openslice multi-domain-architecture](./images/multi-domain-architecture.png)](./images/multi-domain-architecture.png)
In Openslice we can consume services from 3rd parties via Open APIs. In Openslice we can consume services from 3rd parties via Open APIs.
...@@ -47,8 +47,7 @@ An organization must have the following characteristics in openslice catalog, li ...@@ -47,8 +47,7 @@ An organization must have the following characteristics in openslice catalog, li
An example Organization defined example in json: An example Organization defined example in json:
``` ```json
{ {
"uuid": "1a09a8b5-6bd5-444b-b0b9-a73c69eb42ae", "uuid": "1a09a8b5-6bd5-444b-b0b9-a73c69eb42ae",
"@baseType": "BaseEntity", "@baseType": "BaseEntity",
......
...@@ -81,7 +81,7 @@ Login credentials: ...@@ -81,7 +81,7 @@ Login credentials:
# Probe further # Probe further
* Installing OpenSlice. See the [Deployment](deployment.md) of OpenSlice * Installing OpenSlice: See the [Deployment](deployment.md) section
* Learn more on [how OpenSlice supports Network as a Service(NaaS)](./naas/introduction) * Learn more on [how OpenSlice supports Network as a Service(NaaS)](./naas/introduction.md)
* Who is implementing OpenSlice? See [OSL ETSI SDG](https://osl.etsi.org/) * Who is implementing OpenSlice? See [OSL ETSI SDG](https://osl.etsi.org/)
* How OpenSlice works? See the [Architecture](./architecture/architecture.md) of OpenSlice * How OpenSlice works? See the [Architecture](./architecture/architecture.md) of OpenSlice
...@@ -87,7 +87,7 @@ Delete it from the assigned Service Category. This action does not delete the ac ...@@ -87,7 +87,7 @@ Delete it from the assigned Service Category. This action does not delete the ac
## Consume and expose Service Specifications from other Service Catalogues ## Consume and expose Service Specifications from other Service Catalogues
See more on [Consuming Services From External Partner Organizations]( ../architecture/consumingServicesFromExternalPartners.md) See more on [Consuming Services From External Partner Organizations]( ../getting_started/configuration/consumingServicesFromExternalPartners.md).
## Probe further ## Probe further
......
...@@ -86,7 +86,7 @@ nav: ...@@ -86,7 +86,7 @@ nav:
- Role/Keycloak management: role_keycloak_management.md - Role/Keycloak management: role_keycloak_management.md
- NFV Orchestrator Configuration: nfvoconfig.md - NFV Orchestrator Configuration: nfvoconfig.md
- Advanced topics: - Advanced topics:
- Consuming Services From External OSS: ./architecture/consumingServicesFromExternalPartners.md - Consuming Services From External OSS: ./getting_started/configuration/consumingServicesFromExternalPartners.md
- NaaS: - NaaS:
- Introduction: ./naas/introduction.md - Introduction: ./naas/introduction.md
- Services: - Services:
...@@ -125,27 +125,27 @@ nav: ...@@ -125,27 +125,27 @@ nav:
- Typical Examples: ./service_design/lcmrules/examples.md - Typical Examples: ./service_design/lcmrules/examples.md
- Service Specification Examples: - Service Specification Examples:
- Introduction: ./service_design/examples/intro.md - Introduction: ./service_design/examples/intro.md
- Open5GS (NFV approach): ./service_design/examples/open5gs_nfv.md # - Open5GS (NFV approach): ./service_design/examples/open5gs_nfv.md
- Open5GS (Kubernetes approach): ./service_design/examples/open5gs_kubernetes.md # - Open5GS (Kubernetes approach): ./service_design/examples/open5gs_kubernetes.md
- Exposing CRDs_aaS_Example_Calculator: ./service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator.md - Exposing CRDs_aaS_Example_Calculator: ./service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator.md
- HELM Installation aaS Jenkins Example: ./service_design/examples/helmInstallation_aaS_Example_Jenkins/HELM_Installation_aaS_Jenkins_Example.md - HELM Installation aaS Jenkins Example: ./service_design/examples/helmInstallation_aaS_Example_Jenkins/HELM_Installation_aaS_Jenkins_Example.md
- Service Ordering: - Service Ordering:
- Ordering Services from catalogs: ./service_ordering/ordering_services.md - Ordering Services from catalogs: ./service_ordering/ordering_services.md
- Testing services: # - Testing services:
- Testing Specification: ./testing_services/test_spec.md # - Testing Specification: ./testing_services/test_spec.md
- Testing Catalogs: ./testing_services/test_catalogs.md # - Testing Catalogs: ./testing_services/test_catalogs.md
- Testing Inventory: ./testing_services/test_inventory.md # - Testing Inventory: ./testing_services/test_inventory.md
- Service as a Product: # - Service as a Product:
- Product Specification: ./product_model/product_spec.md # - Product Specification: ./product_model/product_spec.md
- Product Catalogs: ./product_model/product_catalogs.md # - Product Catalogs: ./product_model/product_catalogs.md
- Product Inventory: ./product_model/product_inventory.md # - Product Inventory: ./product_model/product_inventory.md
- Assurance services: # - Assurance services:
- Introduction: ./assurance_services/intro.md # - Introduction: ./assurance_services/intro.md
- Alarms and Actions: ./assurance_services/alarms_actions.md # - Alarms and Actions: ./assurance_services/alarms_actions.md
- Design & Architecture: - Design & Architecture:
- Architecture: ./architecture/architecture.md - Architecture: ./architecture/architecture.md
- Cloud native support: - Cloud native support:
- Introduction: ./architecture/CRIDGE_cloud_native_intro.md # - Introduction: ./architecture/CRIDGE_cloud_native_intro.md
- CRIDGE for Developers: ./architecture/CRIDGE/CRIDGEforDevelopers.md - CRIDGE for Developers: ./architecture/CRIDGE/CRIDGEforDevelopers.md
- Message bus: ./architecture/messagebus.md - Message bus: ./architecture/messagebus.md
- OSOM: ./architecture/osom.md - OSOM: ./architecture/osom.md
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment