SDC is the ONAP visual modeling and design tool. It creates internal metadata that describes assets used by all ONAP components, both at design time and run time.
The SDC manages the content of a catalog, and logical assemblies of selected catalog items --as needed-- to completely define how and when VNFs are realized in a target environment. A complete virtual assembly of specific catalog items, together with selected workflows and instance configuration data, completely defines how the deployment, activation, and life-cycle management of VNFs are accomplished. Selected sub-assemblies may also be represented in the catalog and may be combined with other catalog items, including other sub-assemblies.
In the context of a catalog containing TOSCA nodes that are assembled to form a TOSCA blueprint within the SDC, it is expected that such nodes convey (as properties) all of the workflows and/or workflow fragments) needed to realize the node in some specific target environment. In this way, any assembly of such nodes (defined in a blueprint) can be used to define the end-to-end workflow needed to realize the VNF associated with the TOSCA blueprint.
SDC manages four levels of assets:
- Resource: a fundamental capability, implemented either entirely in software, or as software that interacts with a hardware device. Each Resource is a combination of one or more Virtual Function Components (VFCs), along with all the information necessary to instantiate, update, delete, and manage the Resource. A Resource also includes license-related information. There are three kinds of Resource:
- Infrastructure (the Cloud resources, e.g., Compute, Storage)
- Network (network connectivity functions & elements); example: a Virtual Network Function (VNF)
- Application (features and capabilities of a software application); example: a load-balancing function
- Service: a well formed object comprising one or more Resources. Service Designers create Services from Resources, and include all of the information about the Service needed to instantiate, update, delete, and manage the Service
The key output of SDC is a set of models containing descriptions of asset capabilities and instructions to manage them. These models are stored in the SDC Master Reference Catalog for the entire enterprise to use.
There are four major components of SDC:
- The Catalog is the repository for assets at the Resource and Service levels. Assets are added to the Catalog using the Design Studio.
- The Design Studio is used to create, modify, and add Resource and Service definitions in the Catalog.
- The Certification Studio, available in a future release, is used to test new assets at all levels. It will be used for sandbox experimentation, and will include support for automated testing.
- The Distribution Studio is used to deploy certified assets. From the Distribution studio, new Service assets, including their underlying Resources and Services, are deployed into lab environments for testing purposes, and into production after certification is complete. In a future release, there will be a way to export Product information to external Business Support Systems for customer ordering and billing.
The definitions of assets include Information Artifacts and Deployment Artifacts. Information Artifacts are provided by the vendor of an asset such as a VNF; they describe characteristics of the asset. Some of these artifacts are supporting documents intended for human readers only, whereas others contain data that will be imported into the ONAP environment when the asset is onboarded.
Once assets are on-boarded, the information provided by the vendor is translated into SDC internal resource models. The service provider will use SDC to further enrich the resource model to meet the provider’s environment, and additionally compose resources into service models. The model includes not only the description of the asset but also references to ONAP functions needed for lifecycle management of the asset. The tested models will then be distributed to the ONAP execution environment as Deployment Artifacts.
The Deployment Artifacts include the asset definition (a Resource or Service) with instructions to ONAP for creation and management of an instance of the asset in the network. Currently, SDC imports and retains information from Heat Templates for cloud infrastructure creation, YANG XML files for state data manipulated by the Network Configuration Protocol, TOSCA files for specifying cloud infrastructure, and certain vendor provided scripts. In the future, SDC may import BPMN/BPEL files for specifying business processes and their interconnections in a service-oriented architecture.