minor fixes in text related to R12
[doc.git] / docs / platform / architecture / index.rst
1 .. This work is licensed under a Creative Commons Attribution
2 .. 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. Copyright 2017-2018 Huawei Technologies Co., Ltd.
5 .. Copyright 2019 ONAP Contributors
6 .. Copyright 2020 ONAP Contributors
7 .. Copyright 2021 ONAP Contributors
8 .. Copyright 2022 ONAP Contributors
9 .. Copyright 2023 ONAP Contributors
10
11 .. _ONAP-architecture:
12
13 Architecture
14 ============
15 ONAP is a comprehensive platform for orchestration, management, and automation
16 of network and edge computing services for network operators, cloud providers,
17 and enterprises. Real-time, policy-driven orchestration and automation of
18 physical, virtual, and cloud native network functions enables rapid automation
19 of new services and complete lifecycle management critical for 5G and
20 next-generation networks.
21
22 The ONAP project addresses the rising need for a common automation platform for
23 telecommunication, cable, and cloud service providers—and their solution
24 providers—to deliver differentiated network services on demand, profitably and
25 competitively, while leveraging existing investments.
26
27 The challenge that ONAP meets is to help network operators keep up with the
28 scale and cost of manual changes required to implement new service offerings,
29 from installing new data center equipment to, in some cases, upgrading
30 on-premises customer equipment. Many are seeking to exploit SDN and NFV to
31 improve service velocity, simplify equipment interoperability and integration,
32 and to reduce overall CapEx and OpEx costs. In addition, the current, highly
33 fragmented management landscape makes it difficult to monitor and guarantee
34 service-level agreements (SLAs). These challenges are still very real now as
35 ONAP creates its eighth release.
36
37 ONAP is addressing these challenges by developing global and massive scale
38 (multi-site and multi-VIM) automation capabilities for physical, virtual, and
39 cloud native network elements. It facilitates service agility by supporting
40 data models for rapid service and resource deployment and providing a common
41 set of northbound REST APIs that are open and interoperable, and by supporting
42 model-driven interfaces to the networks. ONAP’s modular and layered nature
43 improves interoperability and simplifies integration, allowing it to support
44 multiple VNF environments by integrating with multiple VIMs, VNFMs, SDN
45 Controllers, as well as legacy equipment (PNF). The Service Design & Creation
46 (SDC) project also offers seamless orchestration of CNFs. ONAP’s consolidated
47 xNF requirements publication enables commercial development of ONAP-compliant
48 xNFs. This approach allows network and cloud operators to optimize their
49 physical, virtual and cloud native infrastructure for cost and performance;
50 at the same time, ONAP’s use of standard models reduces integration and
51 deployment costs of heterogeneous equipment. All this is achieved while
52 minimizing management fragmentation.
53
54 The ONAP platform allows end-user organizations and their network/cloud
55 providers to collaboratively instantiate network elements and services in a
56 rapid and dynamic way, together with supporting a closed control loop process
57 that supports real-time response to actionable events. In order to design,
58 engineer, plan, bill and assure these dynamic services, there are three major
59 requirements:
60
61 - A robust design framework that allows the specification of the service in all
62   aspects – modeling the resources and relationships that make up the service,
63   specifying the policy rules that guide the service behavior, specifying the
64   applications, analytics and closed control loop events needed for the elastic
65   management of the service
66 - An orchestration and control framework (Service Orchestrator and Controllers)
67   that is recipe/ policy-driven to provide an automated instantiation of the
68   service when needed and managing service demands in an elastic manner
69 - An analytic framework that closely monitors the service behavior during the
70   service lifecycle based on the specified design, analytics and policies to
71   enable response as required from the control framework, to deal with
72   situations ranging from those that require healing to those that require
73   scaling of the resources to elastically adjust to demand variations.
74
75 To achieve this, ONAP decouples the details of specific services and supporting
76 technologies from the common information models, core orchestration platform,
77 and generic management engines (for discovery, provisioning, assurance etc.).
78
79 Furthermore, it marries the speed and style of a DevOps/NetOps approach with
80 the formal models and processes operators require to introduce new services and
81 technologies. It leverages cloud-native technologies including Kubernetes to
82 manage and rapidly deploy the ONAP platform and related components. This is in
83 stark contrast to traditional OSS/Management software platform architectures,
84 which hardcoded services and technologies, and required lengthy software
85 development and integration cycles to incorporate changes.
86
87 The ONAP Platform enables service/resource independent capabilities for design,
88 creation and lifecycle management, in accordance with the following
89 foundational principles:
90
91 - Ability to dynamically introduce full service lifecycle orchestration (design
92   , provisioning and operation) and service API for new services and
93   technologies without the need for new platform software releases or without
94   affecting operations for the existing services
95 - Scalability and distribution to support a large number of services and large
96   networks
97 - Metadata-driven and policy-driven architecture to ensure flexible and
98   automated ways in which capabilities are used and delivered
99 - The architecture shall enable sourcing best-in-class components
100 - Common capabilities are ‘developed’ once and ‘used’ many times
101 - Core capabilities shall support many diverse services and infrastructures
102
103 Further, ONAP comes with a functional architecture with component definitions
104 and interfaces, which provides a force of industry alignment in addition to
105 the open source code.
106
107 Architecture Overview
108 ---------------------
109
110 The ONAP architecture consists of a design time and run time functions, as well
111 as functions for managing ONAP itself.
112
113    Note: Use the interactive features of the below ONAP Architecture Overview.
114    Click to enlarge it. Then hover with your mouse over an element in the
115    figure for a short description. Click the element to get forwarded to a more
116    detailed description.
117
118 .. image:: media/onap-architecture-overview-interactive-path.svg
119    :width: 800
120
121 **Figure 1: Interactive high-level view of the ONAP architecture with its
122 microservices-based platform components. Click to enlarge and discover.**
123
124 The figure below provides a simplified functional view of the architecture,
125 which highlights the role of a few key components:
126
127 #. ONAP Design time environment provides onboarding services and resources
128    into ONAP and designing required services.
129 #. External API provides northbound interoperability for the ONAP Platform.
130 #. ONAP Runtime environment provides a model- and policy-driven orchestration
131    and control framework for an automated instantiation and configuration of
132    services and resources. Multi-VIM/Cloud provides cloud interoperability for
133    the ONAP workloads. Analytic framework that closely monitors the service
134    behavior handles closed control loop management for handling healing,
135    scaling and update dynamically.
136 #. OOM provides the ability to manage cloud-native installation and deployments
137    to Kubernetes-managed cloud environments.
138 #. ONAP Shared Services provides shared capabilities for ONAP modules. The ONAP
139    Optimization Framework (OOF) provides a declarative, policy-driven approach
140    for creating and running optimization applications like Homing/Placement,
141    and Change Management Scheduling Optimization. The Security Framework uses
142    open-source security patterns and tools, such as Istio, Ingress Gateway,
143    oauth2-proxy, and Keycloak. This Security Framework makes ONAP secure
144    external and inter-component communications, authentication and
145    authorization.
146    Logging Framework (reference implementation PoC) supports open-source- and
147    standard-based logging. It separates application log generation from log
148    collection/aggregation/persistence/visualization/analysis; i.e., ONAP
149    applications handle log generation only and the Logging Framework stack will
150    handle the rest. As a result, operators can leverage/extend their own
151    logging stacks.
152 #. ONAP shared utilities provide utilities for the support of the ONAP
153    components.
154
155 Information Model and framework utilities continue to evolve to harmonize
156 the topology, workflow, and policy models from a number of SDOs including
157 ETSI NFV MANO, ETSI/3GPP, O-RAN, TM Forum SID, ONF Core, OASIS TOSCA, IETF,
158 and MEF.
159
160 |image2|
161
162 **Figure 2. Functional view of the ONAP architecture**
163
164 Microservices Support
165 ---------------------
166 As a cloud-native application that consists of numerous services, ONAP requires
167 sophisticated initial deployment as well as post- deployment management.
168
169 The ONAP deployment methodology needs to be flexible enough to suit the
170 different scenarios and purposes for various operator environments. Users may
171 also want to select a portion of the ONAP components to integrate into their
172 own systems. And the platform needs to be highly reliable, scalable, secure
173 and easy to manage. To achieve all these goals, ONAP is designed as a
174 microservices-based system, with all components released as Docker containers
175 following best practice building rules to optimize their image size. Numerous
176 optimizations such as shared databases and the use of standardized lightweight
177 container operating systems reduce the overall ONAP footprint.
178
179 ONAP Operations Manager (OOM)
180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181 The ONAP Operations Manager (OOM) is responsible for orchestrating the
182 end-to-end lifecycle management and monitoring of ONAP components. OOM uses
183 Kubernetes with IPv4 and IPv6 support to provide CPU efficiency and platform
184 deployment. In addition, OOM helps enhance ONAP platform maturity by providing
185 scalability and resiliency enhancements to the components it manages.
186
187 OOM is the lifecycle manager of the ONAP platform and uses the Kubernetes
188 container management system and Consul to provide the following functionality:
189
190 #. Deployment - with built-in component dependency management (including
191    multiple clusters, federated deployments across sites, and anti-affinity
192    rules)
193 #. Configuration - unified configuration across all ONAP components
194 #. Monitoring - real-time health monitoring feeding to a Consul GUI and
195    Kubernetes
196 #. Restart - failed ONAP components are restarted automatically
197 #. Clustering and Scaling - cluster ONAP services to enable seamless scaling
198 #. Upgrade - change out containers or configuration with little or no service
199    impact
200 #. Deletion - clean up individual containers or entire deployments
201
202 OOM supports a wide variety of cloud infrastructures to suit your individual
203 requirements.
204
205 Starting with the Istanbul-R9, as a PoC, OOM provides Service Mesh-based
206 mTLS (mutual TLS) between ONAP components to secure component communications,
207 by leveraging Istio. The goal is to substitute (unmaintained) AAF
208 functionalities.
209
210 In addition to Service Mesh-based mTLS, OOM also provides inter-component
211 authentication and authorization, by leveraging Istio Authorizaiton Policy.
212 For external secure communication, authentication (including SSO) and
213 authorization, OOM configures Ingress, oauth2-proxy, IAM (realized by
214 KeyCloak) and IdP.
215
216 |image3|
217
218 **Figure 3. Security Framework component architecture**
219
220
221 Microservices Bus (MSB)
222 ^^^^^^^^^^^^^^^^^^^^^^^
223 Microservices Bus (MSB) provides fundamental microservices support including
224 service registration/ discovery, external API gateway, internal API gateway,
225 client software development kit (SDK), and Swagger SDK. When integrating with
226 OOM, MSB has a Kube2MSB registrar which can grasp services information from k8s
227 metafile and automatically register the services for ONAP components.
228
229 In London release, ONAP Security Framework components provide secure
230 communication capabilities. This approach is a more Kubernetes-native approach.
231 As a result, MSB functions will be replaced by the Security Framework, and MSB
232 becomes an optional component.
233
234 In the spirit of leveraging the microservice capabilities, further steps
235 towards increased modularity have been taken. Service Orchestrator (SO) and the
236 controllers have increased its level of modularity.
237
238 Portal
239 ------
240
241 .. warning:: The ONAP :strong:`portal` project is :strong:`unmaintained`.
242              As of Release 12 'London' the component is no longer part of the
243              ONAP deployment. The new :strong:`Portal-NG` project is a
244              :strong:`PoC`.
245
246 ONAP delivers a single, consistent user experience to both design time and
247 runtime environments, based on the user’s role. Role changes are configured
248 within a single ONAP instance.
249
250 This user experience is managed by the ONAP Portal, which provides access to
251 design, analytics and operational control/administration functions via a
252 shared, role-based menu or dashboard. The portal architecture provides
253 web-based capabilities such as application onboarding and management,
254 centralized access management through the Authentication and Authorization
255 Framework (AAF), and dashboards, as well as hosted application widgets.
256
257 The portal provides an SDK to enable multiple development teams to adhere to
258 consistent UI development requirements by taking advantage of built-in
259 capabilities (Services/ API/ UI controls), tools and technologies. ONAP also
260 provides a Command Line Interface (CLI) for operators who require it (e.g., to
261 integrate with their scripting environment). ONAP SDKs enable operations/
262 security, third parties (e.g., vendors and consultants), and other experts to
263 continually define/redefine new collection, analytics, and policies (including
264 recipes for corrective/remedial action) using the ONAP Design Framework Portal.
265
266 Design Time Framework
267 ---------------------
268 The design time framework is a comprehensive development environment with
269 tools, techniques, and repositories for defining/ describing resources,
270 services, and products.
271
272 The design time framework facilitates reuse of models, further improving
273 efficiency as more and more models become available. Resources, services,
274 products, and their management and control functions can all be modeled using a
275 common set of specifications and policies (e.g., rule sets) for controlling
276 behavior and process execution. Process specifications automatically sequence
277 instantiation, delivery and lifecycle management for resources, services,
278 products and the ONAP platform components themselves. Certain process
279 specifications (i.e., ‘recipes’) and policies are geographically distributed to
280 optimize performance and maximize autonomous behavior in federated cloud
281 environments.
282
283 Service Design and Creation (SDC)
284 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
285 Service Design and Creation (SDC) provides tools, techniques, and repositories
286 to define/simulate/certify system assets as well as their associated processes
287 and policies. Each asset is categorized into one of four asset groups: Resource
288 , Services, Products, or Offers. SDC supports the onboarding of Network
289 Services packages (ETSI SOL007 with ETSI SOL001), ONAP proprietary CNF packages
290 (embedding Helm Chart), ASD-based CNF packages (ETSI SOL004 and embedding Helm
291 Chart), VNF packages (Heat or ETSI SOL004) and PNF packages (ETSI SOL004). SDC
292 also includes some capabilities to model 5G network slicing using the standard
293 properties (Slice Profile, Service Template).
294
295 Since Kohn-R11 release, SDC supports the onboarding of another CNF-Modeling
296 package, Application Service Description (ASD) package. ASD is a deployment
297 descriptor for cloud native applications/functions. It minimizes information
298 needed for the CNF orchestrator, by referencing most resource descriptions to
299 the cloud native artifacts (e.g., Helm Chart). Its CSAR package adheres to
300 ETSI SOL004.
301
302 The SDC environment supports diverse users via common services and utilities.
303 Using the design studio, product and service designers onboard/extend/retire
304 resources, services and products. Operations, Engineers, Customer Experience
305 Managers, and Security Experts create workflows, policies and methods to
306 implement Closed Control Loop Automation/Control and manage elastic
307 scalability.
308
309 To support and encourage a healthy VNF ecosystem, ONAP provides a set of VNF
310 packaging and validation tools in the VNF Supplier API and Software Development
311 Kit (VNF SDK) and VNF Validation Program (VVP) components. Vendors can
312 integrate these tools in their CI/CD environments to package VNFs and upload
313 them to the validation engine. Once tested, the VNFs can be onboarded through
314 SDC. In addition, the testing capability of VNFSDK is being utilized at the LFN
315 Compliance Verification Program to work towards ensuring a highly consistent
316 approach to VNF verification. ONAP supports onboarding of CNFs and PNFs as
317 well.
318
319 The Policy Creation component deals with policies; these are rules, conditions,
320 requirements, constraints, attributes, or needs that must be provided,
321 maintained, and/or enforced. At a lower level, Policy involves machine-readable
322 rules enabling actions to be taken based on triggers or requests. Policies
323 often consider specific conditions in effect (both in terms of triggering
324 specific policies when conditions are met, and in selecting specific outcomes
325 of the evaluated policies appropriate to the conditions).
326
327 Policy allows rapid modification through easily updating rules, thus updating
328 technical behaviors of components in which those policies are used, without
329 requiring rewrites of their software code. Policy permits simpler
330 management / control of complex mechanisms via abstraction.
331
332 VNF SDK
333 ^^^^^^^
334 VNF SDK provides the functionality to create VNF/PNF packages, test VNF
335 packages and VNF ONAP compliance and store VNF/PNF packages and upload to/from
336 a marketplace.
337
338 VVP
339 ^^^
340 VVP provides validation for the VNF Heat package.
341
342 Runtime Framework
343 -----------------
344 The runtime execution framework executes the rules and policies and other
345 models distributed by the design and creation environment.
346
347 This allows for the distribution of models and policy among various ONAP
348 modules such as the Service Orchestrator (SO), Controllers, Data Collection,
349 Analytics and Events (DCAE), Active and Available Inventory (A&AI). These
350 components use common services that support security (access control,
351 secure communication), logging and configuration data.
352
353 Orchestration
354 ^^^^^^^^^^^^^
355 The Service Orchestrator (SO) component executes the specified processes by
356 automating sequences of activities, tasks, rules and policies needed for
357 on-demand creation, modification or removal of network, application or
358 infrastructure services and resources, this includes VNFs, CNFs and PNFs,
359 by conforming to industry standards such as ETSI, TMF.
360 The SO provides orchestration at a very high level, with an end-to-end view
361 of the infrastructure, network, and applications. Examples of this include
362 BroadBand Service (BBS) and Cross Domain and Cross Layer VPN (CCVPN).
363 The SO is modular and hierarchical to handle services and multi-level
364 resources and Network Slicing, by leveraging pluggable adapters and delegating
365 orchestration operations to NFVO (SO NFVO, VFC), VNFM, CNF Manager, NSMF
366 (Network Slice Management Function), NSSMF (Network Slice Subnet Management
367 Function).
368
369 Starting from the Guilin release, the SO provides CNF orchestration support
370 through integration of CNF adapter in ONAP SO:
371
372 - Support for provisioning CNFs using an external K8S Manager
373 - Support the Helm-based orchestration
374 - Leverage the CNF Adapter to interact with the K8S Plugin in MultiCloud
375 - Bring in the advantage of the K8S orchestrator and
376 - Set stage for the Cloud Native scenarios
377
378 In London, ONAP SO added ASD-based CNF orchestration support to simplify
379 CNF orchstration and to remove redundancies of CNF resource attributes and
380 orchestration process.
381
382 - Support for onboarding ASD-based CNF models and packages in runtime
383 - Support the SO sub-component 'SO CNFM' for ASD-dedicated CNF orchestration
384   to isolate ASD management from other SO components - separation of concerns
385 - Use of ASD for AS LCM, and use of associated Helm Charts for CNF deployment
386   to the selected external K8s Clusters
387 - Use of Helm Client to communicate with external K8S clusters for CNF
388   deployment
389 - Monitoring deployed K8S resources thru Kubernetes APIs
390
391 3GPP (TS 28.801) defines three layer slice management function which include:
392
393 - CSMF (Communication Service Management Function)
394 - NSMF (Network Slice Management Function)
395 - NSSMF (Network Slice Subnet Management Function)
396
397 To realize the three layers, CSMF, NSMF and/or NSSMF are realized within ONAP,
398 or use the external CSMF, NSMF or NSSMF. For ONAP-based network slice
399 management, different choices can be made as follows. Among them, ONAP
400 orchestration currently supports options #1 and #4.
401
402 |image4|
403
404 **Figure 4: ONAP Network Slicing Support Options**
405
406
407 Virtual Infrastructure Deployment (VID)
408 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
409
410 .. warning:: The ONAP :strong:`vid` project is :strong:`unmaintained`.
411              As of Release 12 'London' the component is no longer part of the
412              ONAP deployment.
413
414 The Virtual Infrastructure Deployment (VID) application enables users to
415 instantiate infrastructure services from SDC, along with their associated
416 components, and to execute change management operations such as scaling and
417 software upgrades to existing VNF instances.
418
419 Policy-Driven Workload Optimization
420 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
421 The ONAP Optimization Framework (OOF) provides a policy-driven and model-driven
422 framework for creating optimization applications for a broad range of use
423 cases. OOF Homing and Allocation Service (HAS) is a policy driven workload
424 optimization service that enables optimized placement of services across
425 multiple sites and multiple clouds, based on a wide variety of policy
426 constraints including capacity, location, platform capabilities, and other
427 service specific constraints.
428
429 ONAP Multi-VIM/Cloud (MC) and several other ONAP components such as Policy, SO,
430 A&AI etc. play an important role in enabling “Policy-driven Performance/
431 Security-Aware Adaptive Workload Placement/ Scheduling” across cloud sites
432 through OOF-HAS. OOF-HAS uses cloud agnostic Intent capabilities, and real-time
433 capacity checks provided by ONAP MC to determine the optimal VIM/Cloud
434 instances, which can deliver the required performance SLAs, for workload
435 (VNF, etc.) placement and scheduling (Homing). Operators now realize the true
436 value of virtualization through fine grained optimization of cloud resources
437 while delivering performance and security SLAs.
438
439 Controllers
440 ^^^^^^^^^^^
441 Controllers are applications which are coupled with cloud and network services
442 and execute the configuration, real-time policies, and control the state of
443 distributed components and services. Rather than using a single monolithic
444 control layer, operators may choose to use multiple distinct controller types
445 that manage resources in the execution environment corresponding to their
446 assigned controlled domain such as cloud computing resources (SDN-C).
447 The Virtual Function Controller (VF-C) and SO NFVO provide an ETSI NFV
448 compliant NFV-O function that is responsible for lifecycle management of
449 virtual services and the associated physical COTS server infrastructure. VF-C
450 provides a generic VNFM capability, and both VF-C and SO NFVO integrate with
451 external VNFMs and VIMs as part of an NFV MANO stack.
452
453 .. warning:: The ONAP :strong:`appc` project is :strong:`unmaintained`.
454              As of Release 12 'London' the component is no longer part of the
455              ONAP deployment.
456
457 ONAP has two application level configuration and lifecycle management modules
458 called SDN-C and App-C. Both provide similar services (application level
459 configuration using NetConf, Chef, Ansible, RestConf, etc.) and lifecycle
460 management functions (e.g., stop, resume, health check, etc.).
461 They share common code from CCSDK repo. However, there are some differences
462 between these two modules (SDN-C uses CDS only for onboarding and
463 configuration / LCM flow design, whereas App-C uses CDT for the LCM functions
464 for self service to provide artifacts storing in App-C Database).
465 SDN-C has been used mainly for Layer1-3 network elements and App-C is
466 being used for Layer4-7 network functions. This is a very loose
467 distinction and we expect that over time we will get better alignment and
468 have common repository for controller code supporting application level
469 configuration and lifecycle management of all network elements (physical or
470 virtual, layer 1-7). Because of these overlaps, we have documented SDN-C and
471 App-C together. ONAP Controller Family (SDN-C / App-C) configures and maintains
472 the health of L1-7 Network Function (VNF, PNF, CNF) and network services
473 throughout their lifecycle:
474
475 - Configures Network Functions (VNF/PNF)
476 - Provides programmable network application management platform:
477
478   - Behavior patterns programmed via models and policies
479   - Standards based models & protocols for multi-vendor implementation
480   - Extensible SB adapters such as Netconf, Ansible, Rest API, etc.
481   - Operation control, version management, software updates, etc.
482 - Local source of truth
483   - Manages inventory within its scope
484   - Manages and stores state of NFs
485   - Supports Configuration Audits
486
487 Controller Design Studio (CDS)
488 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
489 The Controller Design Studio (CDS) community in ONAP has contributed a
490 framework to automate the resolution of resources for instantiation and any
491 config provisioning operation, such as day0, day1 or day2 configuration. The
492 essential function of CDS is to create and populate a controller blueprint,
493 create a configuration file from this Controller blueprint, and associate at
494 design time this configuration file (configlet) to a PNF/VNF/CNF during the
495 design phase. CDS removes dependence on code releases and the delays they cause
496 and puts the control of services into the hands of the service providers. Users
497 can change a model and its parameters with great flexibility to fetch data from
498 external systems (e.g., IPAM) that is required in real deployments. This makes
499 service providers more responsive to their customers and able to deliver
500 products that more closely match the needs of those customers.
501
502 Inventory
503 ^^^^^^^^^
504 Active and Available Inventory (A&AI) provides real-time views of a system’s
505 resources, services, products and their relationships with each other, and also
506 retains a historical view. The views provided by A&AI relate data managed by
507 multiple ONAP instances, Business Support Systems (BSS), Operation Support
508 Systems (OSS), and network applications to form a “top to bottom” view ranging
509 from the products end users buy, to the resources that form the raw material
510 for creating the products. A&AI not only forms a registry of products,
511 services, and resources, it also maintains up-to-date views of the
512 relationships between these inventory items.
513
514 To deliver the promised dynamism of SDN/NFV, A&AI is updated in real time by
515 the controllers as they make changes in the network environment. A&AI is
516 metadata-driven, allowing new inventory types to be added dynamically and
517 quickly via SDC catalog definitions, eliminating the need for lengthy
518 development cycles.
519
520 Policy Framework
521 ^^^^^^^^^^^^^^^^
522 The Policy framework provides policy based decision making capability and
523 supports multiple policy engines and can distribute policies through policy
524 design capabilities in SDC, simplifying the design process.
525
526 Multi Cloud Adaptation
527 ^^^^^^^^^^^^^^^^^^^^^^
528 Multi-VIM/Cloud provides and infrastructure adaptation layer for VIMs/Clouds
529 and K8s clusters in exposing advanced cloud agnostic intent capabilities,
530 besides standard capabilities, which are used by OOF and other components
531 for enhanced cloud selection and SO/VF-C for cloud agnostic workload
532 deployment. The K8s plugin is in charge of deploying CNFs on the Kubernetes
533 clusters using Kubernetes APIs.
534
535 Data Collection Analytics and Events (DCAE)
536 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
537 DCAE provides the capability to collect events, and host analytics applications
538 (DCAE Services)
539
540 Closed Control Loop Automation Management Platform in Policy (Policy - CLAMP)
541 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
542
543 .. warning:: The ONAP :strong:`CLAMP` function is now part of :strong:`Policy`.
544
545 Closed loop control is provided by cooperation among a number of design-time
546 and run-time elements. The Runtime loop starts with data collectors from Data
547 Collection, Analytics and Events (DCAE). ONAP includes the following collectors
548 : VES (VNF Event Streaming) for events, HV-VES for high-volume events, SNMP
549 for SNMP traps, File Collector to receive files, and RESTCONF Collector to
550 collect the notifications. After data collection/verification phase, data move
551 through the loop of micro-services like Homes for event detection, Policy
552 for determining actions, and finally, controllers and orchestrators to
553 implement actions. The Policy framework is also used to monitor the loops
554 themselves and manage their lifecycle. DCAE also includes a number of
555 specialized micro-services to support some use-cases such as the Slice Analysis
556 or SON-Handler. Some dedicated event processor modules transform collected data
557 (SNMP, 3GPP XML, RESTCONF) to VES format and push the various data into data
558 lake. CLAMP, Policy and DCAE all have design time aspects to support the
559 creation of the loops.
560
561 We refer to this automation pattern as “Closed Control loop automation” in that
562 it provides the necessary automation to proactively respond to network and
563 service conditions without human intervention. A high-level schematic of the
564 “Closed control loop automation” and the various phases within the service
565 lifecycle using the automation is depicted in Figure 4.
566
567 Closed control loop control is provided by Data Collection, Analytics and
568 Events (DCAE) and one or more of the other ONAP runtime components.
569 Collectively, they provide FCAPS (Fault Configuration Accounting Performance
570 Security) functionality. DCAE collects performance, usage, and configuration
571 data; provides computation of analytics; aids in troubleshooting; and publishes
572 events, data and analytics (e.g., to policy, orchestration, and the data lake).
573 Another component, Holmes, connects to DCAE and provides alarm correlation
574 for ONAP, new data collection capabilities with High Volume VES, and bulk
575 performance management support.
576
577 Working with the Policy Framework (and embedded CLAMP), these components
578 detect problems in the network and identify the appropriate remediation.
579 In some cases, the action will be automatic, and they will notify the
580 Service Orchestrator or one of the controllers to take action.
581 In other cases, as configured by the operator, they will raise an alarm
582 but require human intervention before executing the change. The policy
583 framework is extended to support additional policy decision capabilities
584 with the introduction of adaptive policy execution.
585
586 Starting with the Honolulu-R8 and concluding in the Istanbul-R9 release, the
587 CLAMP component was successfully integrated into the Policy component initially
588 as a PoC in the Honolulu-R8 release and then as a fully integrated component
589 within the Policy component in Istanbul-R9 release.
590 CLAMP's functional role to provision Policy has been enhanced to support
591 provisioning of policies outside of the context of a Control Loop and therefore
592 act as a Policy UI. In the Istanbul release the CLAMP integration was
593 officially released.
594
595 |image5|
596
597 **Figure 5: ONAP Closed Control Loop Automation**
598
599 Virtual Function Controller (VFC)
600 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
601 VFC provides the NFVO capability to manage the lifecycle of network service and
602 VNFs, by conforming to ETSI NFV specification.
603
604 Data Movement as a Platform (DMaaP)
605 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
606 DMaaP provides data movement service such as message routing and data routing.
607
608 Use Case UI (UUI)
609 ^^^^^^^^^^^^^^^^^
610 UUI provides the capability to instantiate the blueprint User Cases and
611 visualize the state.
612
613 CLI
614 ^^^
615 ONAP CLI provides a command line interface for access to ONAP.
616
617 External APIs
618 ^^^^^^^^^^^^^
619
620 .. warning:: The ONAP :strong:`externalapi` project is :strong:`unmaintained`.
621
622 External APIs provide services to expose the capability of ONAP.
623
624 Shared Services
625 ---------------
626
627 ONAP provides a set of operational services for all ONAP components including
628 activity logging, reporting, common data layer, configuration, persistence,
629 access control, secret and credential management, resiliency, and software
630 lifecycle management.
631
632 ONAP Shared Services provide shared capabilities for ONAP modules. These
633 services handle access management and security enforcement, data backup,
634 configuration persistence, restoration and recovery. They support standardized
635 VNF interfaces and guidelines.
636
637 Optimization Framework (OOF)
638 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
639 OOF provides a declarative, policy-driven approach for creating and running
640 optimization applications like Homing/Placement, and Change Management
641 Scheduling Optimization.
642
643 Security Framework
644 ^^^^^^^^^^^^^^^^^^
645 The Security Framework uses open-source security patterns and tools, such as
646 Istio, Ingress Gateway, oauth2-proxy, and KeyCloak. This Security Framework
647 provides secure external and inter-component communications, authentication,
648 and authorization.
649
650 Logging Framework (PoC)
651 ^^^^^^^^^^^^^^^^^^^^^^^
652
653 .. warning:: The ONAP :strong:`Logging Framework` project is a reference
654    implementation :strong:`PoC`.
655
656 Logging Framework supports open-source and standard-based logging. It separates
657 the application log generation from the log collection/aggregation/persistence/
658 visualization/analysis; i.e., ONAP applications handle log generation only, and
659 the Logging Framework stack will handle the rest. As a result, operators can
660 leverage/extend their own logging stacks.
661
662 Configuration Persistence Service (CPS)
663 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
664 The Configuration Persistence Service (CPS) provides storage for real-time
665 run-time configuration and operational parameters that need to be used by ONAP.
666 Several services ranging from SDN-C, DCAE and the network slicing use case
667 utilize CPS for these purposes. Its details in
668 :ref:`CPS - Configuration Persistence Service<onap-cps:architecture>`.
669
670 ONAP Modeling
671 -------------
672 ONAP provides models to assist with service design, the development of ONAP
673 service components, and with the improvement of standards interoperability.
674 Models are an essential part for the design time and runtime framework
675 development. The ONAP modeling project leverages the experience of member
676 companies, standard organizations and other open source projects to produce
677 models which are simple, extensible, and reusable. The goal is to fulfill the
678 requirements of various use cases, guide the development and bring consistency
679 among ONAP components and explore a common model to improve the
680 interoperability of ONAP.
681
682 ONAP supports various models detailed in the Modeling documentation.
683
684 A new CNF modeling descriptor, Application Service Description (ASD), has been
685 added to ONAP since the Kohn release. It is to simplify CNF modeling and
686 orchestration by delegating resource modeling to Kubernetes-based resource
687 descriptors (e.g., Helm Chart).
688
689 The modeling project includes the ETSI catalog component, which provides the
690 parser functionalities, as well as additional package management
691 functionalities.
692
693 Industry Alignment
694 ------------------
695 ONAP support and collaboration with other standards and open source communities
696 is evident in the architecture.
697
698 - MEF and TMF interfaces are used in the External APIs
699 - In addition to the ETSI-NFV defined VNFD and NSD models mentioned above, ONAP
700   supports the NFVO interfaces (SOL005 between the SO and VFC, SOL003 from
701   either the SO or VFC to an external VNFM).
702 - Further collaboration includes 5G/ORAN & 3GPP Harmonization, Acumos DCAE
703   Integration, and CNCF Telecom User Group (TUG).
704
705 Read this whitepaper for more information:
706 `The Progress of ONAP: Harmonizing Open Source and Standards <https://www.onap.org/wp-content/uploads/sites/20/2019/04/ONAP_HarmonizingOpenSourceStandards_032719.pdf>`_
707
708 ONAP Blueprints
709 ---------------
710 ONAP can support an unlimited number of use cases, within reason. However, to
711 provide concrete examples of how to use ONAP to solve real-world problems, the
712 community has created a set of blueprints. In addition to helping users rapidly
713 adopt the ONAP platform through end-to-end solutions, these blueprints also
714 help the community prioritize their work.
715
716 5G Blueprint
717 ^^^^^^^^^^^^
718 The 5G blueprint is a multi-release effort, with five key initiatives around
719 end-to-end service orchestration, network slicing, PNF/VNF lifecycle management
720 , PNF integration, and network optimization. The combination of eMBB that
721 promises peak data rates of 20 Mbps, uRLLC that guarantees sub-millisecond
722 response times, MMTC that can support 0.92 devices per sq. ft., and network
723 slicing brings with it some unique requirements. First ONAP needs to manage the
724 lifecycle of a network slice from initial creation/activation all the way to
725 deactivation/termination. Next, ONAP needs to optimize the network around real
726 time and bulk analytics, place VNFs on the correct edge cloud, scale and heal
727 services, and provide edge automation. ONAP also provides self organizing
728 network (SON) services such as physical cell ID allocation for new RAN sites.
729 These requirements have led to the five above-listed initiatives and have been
730 developed in close cooperation with other standards and open source
731 organizations such as 3GPP, TM Forum, ETSI, and O-RAN Software Community.
732
733 |image6|
734
735 **Figure 6. End-to-end 5G Service**
736
737 Read the `5G Blueprint <https://www.onap.org/wp-content/uploads/sites/20/2019/07/ONAP_CaseSolution_5G_062519.pdf>`_
738 to learn more.
739
740 A related activity outside of ONAP is called the 5G Super Blueprint where
741 multiple Linux Foundation projects are collaborating to demonstrate an
742 end-to-end 5G network. In the short-term, this blueprint will showcase
743 three major projects: ONAP, Anuket (K8S NFVI), and Magma (LTE/5GC).
744
745 |image7|
746
747 **Figure 7. 5G Super Blueprint Initial Integration Activity**
748
749 In the long-term, the 5G Super Blueprint will integrate O-RAN-SC and LF Edge
750 projects as well.
751
752 Residential Connectivity Blueprints
753 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
754 Two ONAP blueprints (vCPE and BBS) address the residential connectivity use
755 case.
756
757 Virtual CPE (vCPE)
758 """"""""""""""""""
759 Currently, services offered to a subscriber are restricted to what is designed
760 into the broadband residential gateway. In the blueprint, the customer has a
761 slimmed down physical CPE (pCPE) attached to a traditional broadband network
762 such as DSL, DOCSIS, or PON (Figure 6). A tunnel is established to a data
763 center hosting various VNFs providing a much larger set of services to the
764 subscriber at a significantly lower cost to the operator. In this blueprint,
765 ONAP supports complex orchestration and management of open source VNFs and both
766 virtual and underlay connectivity.
767
768 |image8|
769
770 **Figure 8. ONAP vCPE Architecture**
771
772 Read the `Residential vCPE Use Case with ONAP blueprint <https://www.onap.org/wp-content/uploads/sites/20/2018/11/ONAP_CaseSolution_vCPE_112918FNL.pdf>`_
773 to learn more.
774
775 Broadband Service (BBS)
776 """""""""""""""""""""""
777 This blueprint provides multi-gigabit residential internet connectivity
778 services based on PON (Passive Optical Network) access technology. A key
779 element of this blueprint is to show automatic re-registration of an ONT
780 (Optical Network Terminal) once the subscriber moves (nomadic ONT) as well as
781 service subscription plan changes. This blueprint uses ONAP for the design,
782 deployment, lifecycle management, and service assurance of broadband services.
783 It further shows how ONAP can orchestrate services across different locations
784 (e.g. Central Office, Core) and technology domains (e.g. Access, Edge).
785
786 |image9|
787
788 **Figure 9. ONAP BBS Architecture**
789
790 Read the `Residential Connectivity Blueprint <https://www.onap.org/wp-content/uploads/sites/20/2019/07/ONAP_CaseSolution_BBS_062519.pdf>`_
791 to learn more.
792
793 Voice over LTE (VoLTE) Blueprint
794 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
795 This blueprint uses ONAP to orchestrate a Voice over LTE service. The VoLTE
796 blueprint incorporates commercial VNFs to create and manage the underlying
797 vEPC and vIMS services by interworking with vendor-specific components,
798 including VNFMs, EMSs, VIMs and SDN controllers, across Edge Data Centers and
799 a Core Data Center. ONAP supports the VoLTE use case with several key
800 components: SO, VF-C, SDN-C, and Multi-VIM/ Cloud. In this blueprint, SO is
801 responsible for VoLTE end-to-end service orchestration working in collaboration
802 with VF-C and SDN-C. SDN-C establishes network connectivity, then the VF-C
803 component completes the Network Services and VNF lifecycle management
804 (including service initiation, termination and manual scaling) and FCAPS
805 (fault, configuration, accounting, performance, security) management. This
806 blueprint also shows advanced functionality such as scaling and change
807 management.
808
809 |image10|
810
811 **Figure 10. ONAP VoLTE Architecture Open Network Automation Platform**
812
813 Read the `VoLTE Blueprint <https://www.onap.org/wp-content/uploads/sites/20/2018/11/ONAP_CaseSolution_VoLTE_112918FNL.pdf>`_
814 to learn more.
815
816 Optical Transport Networking (OTN)
817 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
818 Two ONAP blueprints (CCVPN and MDONS) address the OTN use case. CCVPN addresses
819 Layers 2 and 3, while MDONS addresses Layers 0 and 1.
820
821 CCVPN (Cross Domain and Cross Layer VPN) Blueprint
822 """"""""""""""""""""""""""""""""""""""""""""""""""
823 CSPs, such as CMCC and Vodafone, see a strong demand for high-bandwidth, flat,
824 high-speed OTN (Optical Transport Networks) across carrier networks. They also
825 want to provide a high-speed, flexible and intelligent service for high-value
826 customers, and an instant and flexible VPN service for SMB companies.
827
828 |image11|
829
830 **Figure 11. ONAP CCVPN Architecture**
831
832 The CCVPN (Cross Domain and Cross Layer VPN) blueprint is a combination of SOTN
833 (Super high-speed Optical Transport Network) and ONAP, which takes advantage of
834 the orchestration ability of ONAP, to realize a unified management and
835 scheduling of resources and services. It achieves cross-domain orchestration
836 and ONAP peering across service providers. In this blueprint, SO is responsible
837 for CCVPN end-to-end service orchestration working in collaboration with VF-C
838 and SDN-C. SDN-C establishes network connectivity, then the VF-C component
839 completes the Network Services and VNF lifecycle management. ONAP peering
840 across CSPs uses an east-west API which is being aligned with the MEF Interlude
841 API. CCVPN, in conjunction with the IBN use case, offers intent based cloud
842 leased line service. The key innovations in this use case are physical network
843 discovery and modeling, cross-domain orchestration across multiple physical
844 networks, cross operator end-to-end service provisioning, close-loop reroute
845 for cross-domain service, dynamic changes (branch sites, VNFs) and intelligent
846 service optimization (including AI/ML).
847
848 Read the `CCVPN Blueprint <https://www.onap.org/wp-content/uploads/sites/20/2019/07/ONAP_CaseSolution_CCVPN_062519.pdf>`_
849 to learn more.
850
851 MDONS (Multi-Domain Optical Network Service) Blueprint
852 """"""""""""""""""""""""""""""""""""""""""""""""""""""
853 While CCVPN addresses the automation of networking layers 2 and 3, it does not
854 address layers 0 and 1. Automating these layers is equally important because
855 providing an end-to-end service to their customers often requires a manual and
856 complex negotiation between CSPs that includes both the business arrangement
857 and the actual service design and activation. CSPs may also be structured such
858 that they operate multiple networks independently and require similar
859 transactions among their own networks and business units in order to provide an
860 end-to-end service. The MDONS blueprint created by AT&T, Orange, and Fujitsu
861 solves the above problem. MDONS and CCVPN used together can solve the OTN
862 automation problem in a comprehensive manner.
863
864 |image12|
865
866 **Figure 12. ONAP MDONS Architecture**
867
868 Intent Based Network (IBN) Use Case
869 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
870 Intent technology can reduce the complexity of management without getting into
871 the intricate details of the underlying network infrastructure and contribute
872 to efficient network management. This use case performs a valuable business
873 function that can further reduce the operating expenses (OPEX) of network
874 management by shifting the paradigm from complex procedural operations to
875 declarative intent-driven operations.
876
877 |image13|
878
879 **Figure 13. ONAP Intent-Based Networking Use Case**
880
881 3GPP 28.812, Intent driven Management Service (Intent driven MnS), defines
882 some key concepts that are used by this initiative. The Intent Based Networking
883 (IBN) use case includes the development of an intent decision making. This use
884 case has initially been shown for a smart warehouse, where the intent is to
885 increase the output volume of automated guided vehicles (AVG) and the network
886 simply scales in response. The intent UI is implemented in UUI and the
887 components of the intent framework interact with many components of ONAP
888 including SO, A&AI, Policy, DCAE and CDS.
889
890 vFW/vDNS Blueprint
891 ^^^^^^^^^^^^^^^^^^
892 The virtual firewall, virtual DNS blueprint is a basic demo to verify that ONAP
893 has been correctly installed and to get a basic introduction to ONAP. The
894 blueprint consists of 5 VNFs: vFW, vPacketGenerator, vDataSink, vDNS and
895 vLoadBalancer. The blueprint exercises most aspects of ONAP, showing VNF
896 onboarding, network service creation, service deployment and closed-loop
897 automation. The key components involved are SDC, CLAMP, SO, APP-C, DCAE and
898 Policy. In the recent releases, the vFW blueprint has been demonstrated by
899 using a mix of a CNF and VNF and entirely using CNFs.
900
901 Verified end to end tests
902 -------------------------
903 Use cases
904 ^^^^^^^^^
905 Various use cases have been tested for the Release. Use case examples are
906 listed below. See detailed information on use cases, functional requirements,
907 and automated use cases can be found here:
908 :doc:`Verified Use Cases<onap-integration:docs_usecases_release>`.
909
910 - E2E Network Slicing
911 - 5G OOF (ONAP Optimization Framework) SON (Self-Organized Network)
912 - CCVPN-Transport Slicing
913
914 Functional requirements
915 ^^^^^^^^^^^^^^^^^^^^^^^
916 Various functional requirements have been tested for the Release. Detailed
917 information can be found in the
918 :doc:`Verified Use Cases<onap-integration:docs_usecases_release>`.
919
920 - xNF Integration
921
922   - ONAP CNF orchestration - Enhancements
923   - ONAP ASD-based CNF orchestration
924   - PNF PreOnboarding
925   - PNF Plug & Play
926
927 - Lifecycle Management
928
929   - Policy Based Filtering
930   - Bulk PM / PM Data Control Extension
931   - Support xNF Software Upgrade in association to schema updates
932   - Configuration & Persistency Service
933
934 - Security
935
936   - CMPv2 Enhancements
937
938 - Standard alignment
939
940   - ETSI-Alignment for Guilin
941   - ONAP/3GPP & O-RAN Alignment-Standards Defined Notifications over VES
942   - Extend ORAN A1 Adapter and add A1 Policy Management
943
944 - NFV testing Automatic Platform
945
946   - Support for Test Result Auto Analysis & Certification
947   - Support for Test Task Auto Execution
948   - Support for Test Environment Auto Deploy
949   - Support for Test Topology Auto Design
950
951 Conclusion
952 ----------
953 The ONAP platform provides a comprehensive platform for real-time, policy-
954 driven orchestration and automation of physical and virtual network functions
955 that will enable software, network, IT and cloud providers and developers to
956 rapidly automate new services and support complete lifecycle management.
957
958 By unifying member resources, ONAP will accelerate the development of a vibrant
959 ecosystem around a globally shared architecture and implementation for network
960 automation —with an open standards focus— faster than any one product could on
961 its own.
962
963 Resources
964 ---------
965 See the Resources page on `ONAP.org <https://www.onap.org/resources>`_
966
967 .. |image1| image:: media/ONAP-architecture.png
968    :width: 800px
969 .. |image2| image:: media/ONAP-fncview.png
970    :width: 800px
971 .. |image3| image:: media/ONAP-securityFramework.png
972    :width: 800px
973 .. |image4| image:: media/ONAP-NetworkSlicingOptions.png
974    :width: 800px
975 .. |image5| image:: media/ONAP-closedloop.png
976    :width: 800px
977 .. |image6| image:: media/ONAP-5G.png
978    :width: 800px
979 .. |image7| image:: media/ONAP-5GSuperBP-Integration.png
980    :width: 800px
981 .. |image8| image:: media/ONAP-vcpe.png
982    :width: 800px
983 .. |image9| image:: media/ONAP-bbs.png
984    :width: 800px
985 .. |image10| image:: media/ONAP-volte.png
986    :width: 800px
987 .. |image11| image:: media/ONAP-ccvpn.png
988    :width: 800px
989 .. |image12| image:: media/ONAP-mdons.png
990    :width: 800px
991 .. |image13| image:: media/ONAP-IntentBasedNetworking.png
992    :width: 800px