You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revise best practices for Azure Operator Service Manager
Updated terminology to reflect best practices and improved clarity in the guidelines for managing network functions using Azure Operator Service Manager.
# Basic concepts for Azure Operator Service Manager
12
-
Microsoft has developed many proven practices for managing network functions (NFs) using Azure Operator Service Manager. This article provides basic guidelines that NF vendors, telco operators, and their partners can follow to optimize NF deployments. Consider these concepts when beginning the onboard and deployment planning process.
12
+
Microsoft has developed many proven best practices for managing network functions (NFs) using Azure Operator Service Manager. This article provides basic guidelines that NF vendors, telco operators, and their partners can follow to optimize NF deployments. Consider these concepts when beginning the onboard and deployment planning process.
13
13
14
14
## General considerations
15
15
We recommend that you first onboard and deploy your simplest NFs (one or two charts) by using the quickstarts to familiarize yourself with the overall flow. You can add necessary configuration details in subsequent iterations. As you go through the quickstarts, consider the following points:
@@ -44,13 +44,12 @@ The Azure Operator Service Manager publisher is a regional service deployed acro
44
44
- The publisher name must be unique for each Microsoft Entra tenant in each region.
45
45
46
46
## NFDG and NFDV considerations
47
-
The network function definition group (NFDG) represents the smallest component that you plan to reuse independently across multiple services. All parts of an NFDG are always deployed together. These parts are called `networkFunctionApplications` items.
47
+
The network function definition group (NFDG) represents the smallest component that you plan to reuse independently across multiple services. All parts of an NFDG are always deployed together. These parts are called `networkFunctionApplications` items. For example, it's natural to onboard a single NF that consists of multiple Helm charts and images as a single NFDG if you always deploy those components together. In cases where multiple NFs are always deployed together, it's reasonable to have a single NFDG for all of them. Single NFDGs can have multiple NFDVs.
48
48
49
-
For example, it's natural to onboard a single NF that consists of multiple Helm charts and images as a single NFDG if you always deploy those components together. In cases where multiple NFs are always deployed together, it's reasonable to have a single NFDG for all of them. Single NFDGs can have multiple NFDVs.
50
-
51
-
For CNF NFDVs, the `networkFunctionApplications` list can contain only Helm packages. It's reasonable to include multiple Helm packages if they're always deployed and deleted together.
52
-
53
-
For VNF NFDVs, the `networkFunctionApplications` list must contain at least one `VhdImageFile` value and one ARM template. The ARM template should deploy a single virtual machine (VM). To deploy multiple VMs for a single VNF, make sure to use a separate ARM template for each VM.
49
+
* For CNF NFDVs, the `networkFunctionApplications` list can contain only Helm packages.
50
+
* It's reasonable to include multiple Helm packages if they're always deployed and deleted together.
51
+
* For VNF NFDVs, the `networkFunctionApplications` list must contain at least one `VhdImageFile` value and one ARM template.
52
+
* To deploy multiple VMs for a single VNF, make sure to use a separate ARM template for each VM.
54
53
55
54
The ARM template can deploy only Resource Manager resources from the following resource providers:
56
55
-`Microsoft.Compute`
@@ -63,14 +62,15 @@ The ARM template can deploy only Resource Manager resources from the following r
63
62
64
63
For ARM templates that contain anything beyond the preceding list, all `PUT` calls on the VNF result in a validation error.
65
64
66
-
### Common use cases that trigger an NFDV minor or major version update
67
-
- Updating CGSs or configuration group values (CGVs) for an existing release that triggers a change to `deployParametersMappingRuleProfile`
68
-
- Updating values that are hard-coded in the NFDV
69
-
- Marking components as inactive to prevent them from being deployed via `applicationEnablement: Disabled`
70
-
- A new NF release, such as charts and images
65
+
### NFDV minor or major updates
66
+
The NFDV represents a release of the base NFDG and and is associated to a unique version. As the NF changes overtime, many NFDVs are use to capture capabilities, at any given point in time. Typical changes that trigger a new NFDV may include:
67
+
- Updating NF artifacts, such as new charts or image versions.
68
+
- Updating CGSs or configuration group values (CGVs) that change `deployParametersMappingRuleProfile`.
69
+
- Updating any default values hard-coded into the NFDV.
70
+
- Updating component enablement, to prevent them from being deployed via `applicationEnablement: Disabled`.
71
71
72
72
> [!NOTE]
73
-
> A minimum number of changes is required every time the payload of an NF changes. A minor or major NF release without exposing new CGS parameters requires only updating the artifact manifest, pushing new images and charts, and bumping the NFDV.
73
+
> A minor or major NF release which doesn't expose new CGS parameters requires only updating the artifact manifest, pushing new images and charts, and bumping the NFDV.
74
74
75
75
## NSDG and NSDV considerations
76
76
A network service design group (NSDG) is a composite of one or more NFDGs and any infrastructure components deployed at the same time. These components might include clusters and VMs in Nexus Kubernetes or Azure Kubernetes Service (AKS). A site network service (SNS) refers to a single NSDV. Such a design provides a consistent and repeatable deployment of the network service to a site from a single SNS `PUT` call.
@@ -84,20 +84,21 @@ An example NSDG might consist of:
84
84
85
85
These five components form a single NSDG. A single NSDG can have multiple NSDVs.
86
86
87
-
### Common use cases that trigger an NSDV minor or major version update
88
-
- Creating or deleting CGSs
89
-
- Changes in the ARM template associated with one of the NFs being deployed
90
-
- Changes in the infrastructure ARM template; for example, Nexus Kubernetes, AKS, or VM
87
+
### NSDV minor or major update
88
+
The NSDV represents a release of the base NSD and and is associated to a unique version. NSDV changes are less frequent then NFDV changes, and in some cases, a single NSDV supports the entire lifecycle of a site network service. However, the following service changes do require new a NSDV:
89
+
- Creating, deleting or adding values in CGSs.
90
+
- Changing the NF ARM template used by a deployed site network service resource.
91
+
- Changing the infrastructure ARM template used by a deploy site resource.
91
92
92
93
> [!NOTE]
93
-
> Changes in an NFDV shouldn't trigger an NSDV update. The NFDV should be exposed as a parameter within the CGS, so operators can control what to deploy by using CGVs.
94
+
> It's recommened to expose the NFDV as a parameter within the CGS, so operators can control what to deploy by using CGVs. This further reduces NSDV change frequency.
94
95
95
96
## SNS considerations
96
97
We recommend that you have a single SNS for the entire site, including the infrastructure. The SNS should deploy any required infrastructure (for example, clusters and VMs in Nexus Kubernetes or AKS), and then deploy the required NFs on top. Such a design provides a consistent and repeatable deployment of the network service to a site from a single SNS `PUT` call.
97
98
98
99
We recommend that you deploy every SNS with a user-assigned managed identity rather than a system-assigned managed identity. This user-assigned managed identity must have permissions to access the NFDV and must have the role of Managed Identity Operator on itself. For more information, see [Create and assign a user-assigned managed identity](how-to-create-user-assigned-managed-identity.md).
99
100
100
-
## Resource scheme use-case examples
101
+
## Resource scheme considerations
101
102
The following two scenarios illustrate Azure Operator Service Manager resource mapping.
102
103
103
104
### Scenario: Single network function
@@ -125,7 +126,7 @@ Multiple NFs with some shared and independent components are deployed to a Nexus
125
126
-**CGV**: Equal to the number of CGSs.
126
127
-**SNS**: Single per NSDV.
127
128
128
-
## Network Function upgrade considerations
129
+
## Upgrade considerations
129
130
Assuming that NFs support in-place and in-service upgrades, the following considerations apply for CNFs:
130
131
- If you add new charts and images, Azure Operator Service Manager installs the new charts.
131
132
- If you remove some charts and images, Azure Operator Service Manager deletes the charts that are no longer declared in the NFDV.
@@ -140,7 +141,7 @@ The following considerations apply for VNFs:
140
141
- Deployment policy, to control whether VM deployment is allowed or not
141
142
- In the NFDV, you need to parameterize `deployParameters` and `templateParameters` in such a way that you can supply the unique values by using CGVs for each.
142
143
143
-
## Deployment troubleshooting considerations
144
+
## Troubleshooting considerations
144
145
During installation and upgrade, by default:
145
146
- The `atomic` and `wait` options are set to `true`.
0 commit comments