Common CNF TermsTerm | Ribbon Definitions / Usage |
---|
Container | A Container image is a ready-to-run software package, containing everything needed to run a function: the code and any runtime it requires, application and system libraries, and default values for any essential settings. By design, a container is immutable: you cannot change the code of a container that is already running. If you have a containerized function and want to make changes, you must build a new image that includes the change, then recreate the container to start from the updated image. | Database shard | Database sharding splits a single dataset into partitions (or shards). Each shard contains unique rows of information that you can store separately across multiple nodes. All shards run on separate nodes but share the original database's schema or design. | K8S ConfigMap | A ConfigMap is an API object that allows you to store data as key-value pairs. Kubernetes pods can use ConfigMaps as configuration files, environment variables or command-line arguments. ConfigMaps allow you to decouple environment-specific configurations from containers to make applications portable. For details, refer to https://kubernetes.io/docs/concepts/configuration/configmap/ | K8S Daemonset | DaemonSet feature is used to ensure that some or all of your pods are scheduled and running on every single available node in the K8S cluster. This essentially runs a copy of the desired pod across all nodes. When a new node is added to a Kubernetes cluster, a new pod is added to that newly attached node. For details, refer to https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ | K8S Deployment | A Deployment is a resource object in Kubernetes that provides declarative updates to applications. A deployment allows you to describe an application's life cycle, such as which images to use for the app, the number of required pods and the pod update method. For details, refer to https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ | K8S Job | A Job is a supervisor for pods carrying out batch processes, that is, a process that runs for a certain time to completion. For details, refer to https://kubernetes.io/docs/concepts/workloads/controllers/job/ | K8S Persistent Volume (PV) | A PersistentVolume is a piece of storage in the cluster that has been provisioned by an administrator or dynamically provisioned using Storage Classes. PVs are volume plugins like Volumes but have a lifecycle independent of any individual | Pod pod that uses the PV. GlusterFS is used in the Ribbon VNF to share the data across managed nodes. Some use cases for PV include: - The configurations are shared from OAM across other pods via PV
- Performance statistics are shared from various pods to OAM via PV
| K8S Persistent Volume Claim (PVC) | A PersistentVolumeClaimis a request for storage by a user. It is similar to a | Podpod. Pods consume node resources and PVCs consume PV resources. Pods can request specific levels of resources (CPU and Memory). Claims can request specific size and access modes (e.g., mounted as ReadWriteOnce, ReadOnlyMany or ReadWriteMany). For details, refer to https://kubernetes.io/docs/concepts/storage/persistent-volumes/ | K8S | Pod Pod pod is the smallest deployable units of computing that you can create and manage in Kubernetes. A | Pod pod is a group of one or more container with shared storage and network resources and a specification for how to run the containers. Additional information: | K8S Replicaset | A ReplicaSet is a process that runs multiple instances of a | Pod pod and keeps the specified number of | Pods pods constant. Its purpose is to maintain the specified number of | Pod pod instances running in a cluster at any given time to prevent users from losing access to their application when a | Pod Podpod specification or in a container image. Using a Secret means that you don't need to include confidential data in your application code. For details, refer to https://kubernetes.io/docs/concepts/configuration/secret/ | K8S Service | A Service is a logical abstraction for a deployed group of pods in a cluster (which all perform the same function). Since pods are ephemeral, a service enables a group of pods, which provide specific functions (web services, image processing, etc.) to be assigned a name and unique IP address (clusterIP). For details, refer to https://kubernetes.io/docs/concepts/services-networking/service/ | K8S Statefulset | A StatefulSet is the workload API object used to manage stateful applications. Manages the deployment and scaling of a set of | Podspods, and provides guarantees about the ordering and uniqueness of these | Podspods. For details, refer to https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ | K8S Storage Class (SC) | A StorageClass provides a way for administrators to describe the "classes" of storage they offer. Different classes might map to quality-of-service levels, or to backup policies, or to arbitrary policies determined by the cluster administrators. For details, refer to https://kubernetes.io/docs/concepts/storage/storage-classes/ | Microservice | Microservices – also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are: - Highly maintainable and testable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
- Owned by a small team
| Observability | Observability – A complex system's internal state can be deduced from external outputs. The goal of Ribbon observability is to facilitate the exposure of metrics and logs. Multiexcerpt |
---|
MultiExcerptName | Observability Overview |
---|
| uses OpenTelemetry to implement the Ribbon Observability Stack and supports the selected components from the OpenTelemetry community. 's aim is to support all CNF-based products in order to stream the observability data. With the introduction of this new stack, all logs and metrics and in future traces are normalized and pre-processed, which will help to correlate multiple data points captured from each microservice and deliver them to configured backends. |
| RBBN Application | An Application (or Application Service for aaS offers) is composed of one or more CNFs. In the near term an Application will likely map 1:1 with a CNF (eg: SBC CNF). | RBBN CNF | A Cloud-Native Network Function is a software-implementation of a Network Function implemented in container(s) and orchestrated by Kubernetes, built and deployed in a cloud-native way. A CNF is a single deployable, upgradable and manageable entity. – A RBBN CNF consists or 1 or more | Podspods, packaged via a Helm Chart. | RBBN CNF Solution Hierarchy | - Solution → Collection of Helm Charts
- Application (1-n...) → currently 1:1, Application to CNF
| RBBN Solution | A RBBN Solution consists of a collection of Applications or CNFs which together form an overall solution (e.g., a solution may contain RAMP, PSX, AS and SBC Applications). The scope of the application teams is to define LCM operations, and the Solutions/Services teams define the solution with workflows integrating application level LCM operations. Note: Ribbon Call Trust and Ribbon Voice Sync are examples of Solutions composed of multiple Applications/CNFs. |
Abbreviations Used in CNF DocumentationAbbreviation | Definition |
---|
AA | Authentication and Authorization | CAC | Call Admission Control | CI/CD | Continuous Integration/Continuous Deployment | CM | Configuration Management | CNCF | Cloud Native Computing Foundation | CNe | Cloud-Native edition | CNF | Cloud Native Network Function | CS | Common Services | DBaaS | DB as a Service | DevOps | Development and Operations | DM | Device Management | EFK | Elasticsearch, Fluentd, and Kibana stack | EPU | Endpoint Updater | FCAPS | Faults, Configuration, Accounting, Performance, and Security | FM | Fault Management | IDM | Identity Management | K8S | Kubernetes | LM | License Management | NS | Network Services | OAM | Operations, Administration and Maintenance | OCP | OpenShift Container Platform | PFE | Packet Front-End | PM | Performance Metrics | PSX-P | PSX Primary | PSX-R | PSX Replica | RAC | Role Assignment Controller | RBBN | Ribbon Communications | RHPA | Ribbon Horizontal Pod Autoscaler | SC | Session Control | SIP-T | SIP-Telephony | SLB | SIP Load Balancer | TOSCA | Topology and Orchestration Specification for Cloud Applications |
|