The present disclosure generally relates to the field of cloud computing. In particular, a technique for simplifying management of a service on a network infrastructure in a cloud computing environment is presented. The technique may be embodied in methods, computer programs, apparatuses and systems.
In distributed cloud environments, including edge computing and more centralized approaches, cloud sites may be geographically distributed and interconnected through a wide area network (WAN).
Cloud sites may become candidate hosting targets for virtualized network functions (VNFs) and services. Orchestrators (either central or local orchestrators) may receive deployment descriptions of VNFs (or subsets thereof) and/or services to execute the actual deployment or instantiation thereof. VNFs and services may be deployed upon instructions from the central orchestrator, or locally using a local orchestrator without communication with the central orchestrator via the WAN. Open source projects employing local and central orchestrators include the Akraino Edge Stack project and the Open Networking Automation Platform (ONAP) project, for example.
VNFs may be chained with other VNFs and/or physical network functions (PNFs) to realize a network service. A deployment description or service description may define deployment requirements and the operational behavior of the VNFs and services. Examples are the VNF descriptor (VNFD) and the network service descriptor (NSD) which are described in ETSI GS NFV-SOL 001, such as in ETSI GS NFV-SOL 001 V2.5.1 (2018-12), for example. VNFDs and NSDs may include constructs to model VNFs such as those defined in ETSI GS NFV 003 (e.g., ETSI GS NFV 003 V1.4.1 (2018-08)) including constructs, such as the virtualization deployment unit (VDU) which may be mapped to a virtual machine (VM) or a container, for example, and the virtual link (VL) which may be used to connect two or more entities, such as VNFs or VNF components (VNFCs), for example.
As said, VNFs and services may be deployed or instantiated on infrastructure resources of cloud sites. Such infrastructure resources are typically represented in the form of a network inventory. Exemplary network inventories are illustrated in
Building a network inventory may form a fundamental step of any VNF or service deployment and may generally be required to solve the placement problem, i.e., to decide where to (e.g., best) instantiate VNF or service components on the available infrastructure. The size of a network inventory may be very large in distributed cloud and edge computing scenarios, however. As a result, the placement problem may become less tractable due to the inherent scalability and multi-dimensional nature of the optimization problem to be solved and it may therefore be difficult for engines (e.g., placement engines) to process the large amount of data from the inventory to deploy a VNF or service (or to perform more general network management tasks, such as rearranging or scaling VNFs or workloads, for example) in a short amount of time.
Accordingly, there is a need for a technique for simplifying network management in a cloud computing environment that avoids the problems discussed above, or other problems.
According to a first aspect, a method for simplifying management of a service on a network infrastructure in a cloud computing environment is provided. The method is performed by an aggregation component and comprises generating, for a service to be managed on the network infrastructure and based on a representation of resources available in the network infrastructure, an aggregated representation of the resources available in the network infrastructure, wherein aggregated resources in the aggregated representation are computed to comply with one or more capacity-related requirements of the service to be managed, and providing the aggregated representation to an orchestration component for management of the service.
The resources in the representation may comprise nodes and links of the network infrastructure each providing a particular capacity. Generating the aggregated representation of the resources may include determining whether at least one of node aggregation and link aggregation is required for the aggregated resources to comply with the one or more capacity-related requirements of the service. When it is determined that node aggregation is required, generating the aggregated representation of the resources may include aggregating at least two nodes of the network infrastructure to obtain an aggregated node that complies with the one or more capacity-related requirements of the service. Node aggregation may be performed under a constraint that nodes at different sites of the cloud computing environment are not to be aggregated. When it is determined that link aggregation is required, generating the aggregated representation of the resources may include aggregating at least two links of the network infrastructure to obtain an aggregated link that complies with the one or more capacity-related requirements of the service.
Determining whether node aggregation is required may include determining a reference value of available node capacities in the network infrastructure, calculating a total of required node capacities from the one or more capacity-related requirements of the service, and determining whether node aggregation is required based on a comparison of the total of required node capacities with the reference value of available node capacities. The reference value of available node capacities may be determined as one of a sum of available node capacities and an average of available node capacities per site in the cloud computing environment. The reference value of available node capacities may be determined differently per site in the cloud computing environment. Determining whether link aggregation is required may include determining a reference value of available link capacities in the network infrastructure, calculating a total of required link capacities from the one or more capacity-related requirements of the service, and determining whether link aggregation is required based on a comparison of the total of required link capacities with the reference value of available link capacities.
The one or more capacity-related requirements of the service may be derived from a deployment descriptor of the service. The deployment descriptor of the service may be obtained from a service catalog available in the cloud computing environment. When the service corresponds to a network service to be managed on the network infrastructure, the one or more capacity-related requirements of the service may be derived from a network service descriptor of the network service. When the service corresponds to a virtualized network function to be managed on the network infrastructure, the one or more capacity-related requirements of the service may be derived from a virtualized network function descriptor of the virtualized network function. Node-related requirements among the one or more capacity-related requirements of the service may be derived from at least one definition of a virtual deployment unit in the deployment descriptor. Link-related requirements among the one or more capacity-related requirements of the service may be derived from at least one definition of a virtual link in the deployment descriptor.
The aggregation component may be executed as a component of the orchestration component, wherein the orchestration component may be a central orchestration component being centrally responsible for management of services on the network infrastructure in the cloud computing environment. Alternatively, the aggregation component may be executed in a distributed manner on at least one of a central orchestration component being centrally responsible for management of services on the network infrastructure in the cloud computing environment and one or more local orchestration components each being locally responsible for management of services on a local network infrastructure of a site of the cloud computing environment.
According to a second aspect, a method for simplifying management of a service on a network infrastructure in a cloud computing environment is provided. The method is performed by an orchestration component and comprises obtaining, from an aggregation component, an aggregated representation of resources available in the network infrastructure, the aggregated representation being generated for a service to be managed on the network infrastructure and based on a representation of resources available in the network infrastructure, wherein aggregated resources in the aggregated representation comply with one or more capacity-related requirements of the service to be managed, and triggering management of the service based on the aggregated representation.
The method according to the second aspect defines a method from the perspective of an orchestration component which may be complementary to the method performed by the aggregation component according to the first aspect. The aggregation component and the orchestration component of the second aspect may thus correspond to the aggregation component and the orchestration component described above in relation to the first aspect. Triggering management of the service based on the aggregated representation may include calculating a placement of the service on the network infrastructure based on the aggregated representation of the resources, and triggering management of the service based on the calculated placement.
According to a third aspect, a computer program product is provided. The computer program product comprises program code portions for performing the method of at least one of the first aspect and the second aspect when the computer program product is executed on one or more computing devices (e.g., a processor or a distributed set of processors). The computer program product may be stored on a computer readable recording medium, such as a semiconductor memory, DVD, CD-ROM, and so on.
According to a fourth aspect, a computing unit configured to execute an aggregation component for simplifying management of a service on a network infrastructure in a cloud computing environment is provided. The computing unit comprises at least one processor and at least one memory, wherein the at least one memory contains instructions executable by the at least one processor such that the aggregation component is operable to perform any of the method steps presented herein with respect to the first aspect.
According to a fifth aspect, a computing unit configured to execute an orchestration component for simplifying management of a service on a network infrastructure in a cloud computing environment is provided. The computing unit comprises at least one processor and at least one memory, wherein the at least one memory contains instructions executable by the at least one processor such that the orchestration component is operable to perform any of the method steps presented herein with respect to the second aspect.
According to a sixth aspect, there is provided a system comprising a computing unit according to the fourth aspect and a computing unit according to the fifth aspect.
Implementations of the technique presented herein are described herein below with reference to the accompanying drawings, in which:
In the following description, for purposes of explanation and not limitation, specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent to one skilled in the art that the present disclosure may be practiced in other embodiments that depart from these specific details.
Those skilled in the art will further appreciate that the steps, services and functions explained herein below may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed micro-processor or general purpose computer, using one or more Application Specific Integrated Circuits (ASICs) and/or using one or more Digital Signal Processors (DSPs). It will also be appreciated that when the present disclosure is described in terms of a method, it may also be embodied in one or more processors and one or more memories coupled to the one or more processors, wherein the one or more memories are encoded with one or more programs that perform the steps, services and functions disclosed herein when executed by the one or more processors.
It will be understood that each of the computing unit 400 and the computing unit 410 may be implemented on a physical computing unit or a virtualized computing unit, such as a virtual machine, for example. It will further be appreciated that each of the computing unit 400 and the computing unit 410 may not necessarily be implemented on a standalone computing unit, but may be implemented as components—realized in software and/or hardware—residing on multiple distributed computing units as well, such as in a cloud computing environment, for example.
The representation of resources available in the network infrastructure may correspond to a conventional network inventory (e.g., a central network inventory maintained by a central orchestrator receiving topologies of nodes and links of different sites of the cloud computing environment from local orchestrators at the sites and building the centralized network inventory based thereon) and, by generating an aggregated representation of the resources available in the network infrastructure, an aggregated network inventory may be created to provide an aggregated view of the available resources. The method performed by the aggregation component may thus be seen as a method for performing network inventory aggregation.
The aggregated representation of the resources may specifically be generated for a service to be managed, wherein aggregated resources in the aggregated representation may be computed to comply with one or more capacity-related requirements of the particular service to be managed. The aggregated representation (or “view”) may therefore be optimized for the service to be managed in terms of its requirements and the service requirements may as such be used to guide the level of aggregation (or “abstraction”). The service itself may correspond to any service that is deployable on the network infrastructure of the cloud computing environment. For example, the service may be a VNF or a network service, such as a network service which comprises one or more VNFs and/or PNFs, for example.
Once generated, the aggregated representation may be provided (e.g., sent) to an orchestration component which may effectively carry out the management of the service. The orchestration component may correspond to one of a central orchestrator and a local orchestrator in the cloud computing environment, for example. If the service is a new service to be deployed, the management of the service may correspond to deployment of the service on the network infrastructure and, if the service is an existing service, the management of the service may relate to performing a life-cycle operation regarding the service, e.g., a rearrangement of service resources, such as scaling VNFs or workloads, for example.
As the aggregated representation of the resources available in the network infrastructure may—due to the aggregation being performed—comprise a reduced number of nodes and/or links as compared to the original representation of the resources available in the network infrastructure (e.g., as available in the conventional network inventory), management operations regarding the service may generally be simplified. For example, the placement problem for a new service may be alleviated because less time may be required to calculate where to (e.g., best) instantiate the service on the available infrastructure. The same may apply to the management of existing services, i.e., when service resources are to be rearranged, for example.
The resources in the representation may comprise nodes and links of the network infrastructure each providing a particular capacity, and the aggregated resources in the aggregated representation may thus correspond to aggregated nodes and aggregated links each providing a particular aggregated capacity. As said, the aggregated resources may be computed to comply with the capacity-related requirements of the service to be managed. As such, the capacity-related requirements may relate to capacities provided by nodes and/or links of the network infrastructure, including node-related capacities, such as at least one of central processing unit (CPU), RAM and hard disk related capacities provided at a node (e.g., number of CPUs and their speeds, amount of RAM (e.g., 32 GB of RAM), amount of disk space (e.g., 10 TB of disk space), etc.), and/or link-related capacities, such as at least one of bandwidth characteristics and latency characteristics of a link (e.g., 100 Gbps of throughput, 1 ms round trip time, etc.). Node-related and link-related capacities may not only include capacities provided by physical nodes and links but also capacities provided by virtualized nodes and links, such as VMs and VLs, for example.
An aggregated representation may be created for each service among a plurality of services to be managed so that multiple network views may generally be constructed over the same resource infrastructure. The views may then be used to form the aggregated network inventory. Every new service to be managed may trigger the creation of another aggregated representation that may become part of the aggregated inventory, which may then be used by placement engines and/or management systems as an optimized network inventory for optimized service placement and improved network management, as described above.
In order to generate an aggregated representation of the resources available in the network infrastructure for a particular service to be managed, a two-step procedure may generally be performed. In a first step of the procedure, a classification of the service may be carried out to determine, given the capacity-related requirements of the service, whether the service is a service which requires node aggregation and/or a service which requires link aggregation. In the second step of the procedure, the actual node aggregation and/or link aggregation may be executed based on the classification results, e.g., by grouping respective notes and/or links and summing up their individual capacities.
Generating the aggregated representation of the resources may thus include determining whether at least one of node aggregation and link aggregation is required for the aggregated resources to comply with the one or more capacity-related requirements of the service. When it is determined that node aggregation is required, generating the aggregated representation of the resources may include aggregating at least two nodes of the network infrastructure to obtain an aggregated node that complies with the one or more capacity-related requirements of the service. The aggregated node may thus be determined in a manner so that the sum of the node-related capacities of the individual nodes which are grouped into the aggregated node comply with the service requirements. The same may generally apply to the generation of an aggregated link. Thus, when it is determined that link aggregation is required, generating the aggregated representation of the resources may include aggregating at least two links of the network infrastructure to obtain an aggregated link that complies with the one or more capacity-related requirements of the service. To avoid that nodes located at different cloud sites are aggregated, node aggregation may be performed under a constraint that nodes at different sites of the cloud computing environment are not to be aggregated.
In order to carry out the above-mentioned classification as a service which requires node aggregation or not, a procedure to determine whether—given the capacity-related requirements of the service—the network infrastructure is overprovisioned or underprovisioned may be performed. To this end, determining whether node aggregation is required may include determining a reference value of available node capacities in the network infrastructure, calculating a total of required node capacities from the one or more capacity-related requirements of the service, and determining whether node aggregation is required based on a comparison of the total of required node capacities with the reference value of available node capacities. The reference value may be indicative of actual hardware capabilities of cloud sites, for example, and by comparing the reference value with the total of required node capacities derived from the capacity-related requirements of the service, it may be determined whether the network infrastructure is overprovisioned (i.e., that resources are available in abundance in terms of their capacities) or whether the network infrastructure is underprovisioned (i.e., that not enough resources are available) and that, therefore, node aggregation is required to obtain an aggregated nodes complying with the capacity-related requirements of the service.
The reference value of available node capacities may be determined as one of a sum of available node capacities and an average of available node capacities per site in the cloud computing environment. The reference value of available node capacities may also be determined differently per site in the cloud computing environment, e.g., according to the number of cloud sites and hardware configuration per cloud site. The above may similarly apply to the classification as a service which requires link aggregation or not, the difference being that, instead of node-related capacities, link-related capacities may be considered. Determining whether link aggregation is required may thus include determining a reference value of available link capacities in the network infrastructure, calculating a total of required link capacities from the one or more capacity-related requirements of the service, and determining whether link aggregation is required based on a comparison of the total of required link capacities with the reference value of available link capacities.
As described above, deployment descriptors may be used to define deployment requirements and the operational behavior of services to be deployed on the network infrastructure. Thus, in one implementation, the capacity related requirements of the service may be derived from a deployment descriptor of the service. Since, in conventional systems, deployment descriptors may be stored in service catalogs, the deployment descriptor of the service may be obtained from a service catalog available in the cloud computing environment. An exemplary deployment descriptor is shown in
When the service corresponds to a network service to be managed on the network infrastructure, the one or more capacity-related requirements of the service may be derived from a network service descriptor of the network service. The network service and the network service descriptor may be understood as a network service and as an NSD as defined in ETSI GS NFV-SOL 001, respectively, such as defined in ETSI GS NFV-SOL 001 V2.5.1 (2018-12) or successor versions thereof. Similarly, when the service corresponds to a virtualized network function to be managed on the network infrastructure, the one or more capacity-related requirements of the service may be derived from a virtualized network function descriptor of the virtualized network function. The virtualized network function and the virtualized network function descriptor may be understood as a VNF and as a VNFD as defined in ETSI GS NFV-SOL 001, respectively, such as defined in ETSI GS NFV-SOL 001 V2.5.1 (2018-12) or successor versions thereof.
Node-related requirements among the one or more capacity-related requirements of the service may be derived from at least one definition of a virtual deployment unit in the deployment descriptor. The virtual deployment unit may be a VDU as defined in ETSI GS NFV 003, such as defined in ETSI GS NFV 003 V1.4.1 (2018-08) or successor versions thereof. Similarly, link-related requirements among the one or more capacity-related requirements of the service may be derived from at least one definition of a virtual link in the deployment descriptor. The virtual link may be a VL as defined in ETSI GS NFV 003, such as defined in ETSI GS NFV 003 V1.4.1 (2018-08) or successor versions thereof.
The aggregation component may be executed as a standalone component or may be comprised as a subcomponent of another component being executed in the cloud computing environment. In one variant, the aggregated component may be executed as a component of the orchestration component, wherein the orchestration component may be a central orchestration component being centrally responsible for management of services on the network infrastructure in the cloud computing environment. In another variant, the aggregation component may be executed in a distributed manner on at least one of a central orchestration component being centrally responsible for management of services on the network infrastructure in the cloud computing environment and one or more local orchestration components each being locally responsible for management of services on a local network infrastructure of a site of the cloud computing environment.
Such variants are exemplarily depicted in
In step S802, the orchestration component may obtain, from an aggregation component, an aggregated representation of resources available in the network infrastructure, the aggregated representation being generated for a service to be managed on the network infrastructure and based on a representation of resources available in the network infrastructure, wherein aggregated resources in the aggregated representation comply with one or more capacity-related requirements of the service to be managed. In step S804, the orchestration component may trigger management of the service based on the aggregated representation. Triggering management of the service based on the aggregated representation may include calculating a placement of the service on the network infrastructure based on the aggregated representation of the resources, and triggering management of the service based on the calculated placement.
In
In a graphical form, the original representation of resources available in the network infrastructure and the aggregated representation thereof may be considered as graphs in which nodes correspond to vertices and links correspond to edges between two nodes. In this case, if only node aggregation is required, vertices of cloud sites may be aggregated (e.g., grouped) according to pools of node requirements (e.g., VDU requirements) of the service and the aggregated vertices may be annotated by the sum of the corresponding node resource capacities. Edges from merged vertices may be discarded. If only link aggregation is required, edges of cloud sites may be aggregated (e.g., grouped) according to pools of link requirements (e.g., VL requirements) of the service and the aggregated edges may be annotated by the sum of corresponding link resource capacities. Vertices from merged links may be discarded. If both node aggregation and link aggregation are required, vertices and edges of cloud sites may be aggregated (e.g., grouped) according to pools of node requirements (e.g., VDU requirements) and link requirements (e.g., VL requirements) of the service and the resulting graph may be annotated with both node and link capacities accordingly.
As has become apparent from the above, the present disclosure provides a technique for simplifying management of a service on a network infrastructure in a cloud computing environment. Due to the reduced number of nodes and/or links in the aggregated representation of the resources, the computational complexity of the placement problem, i.e., where to best place a service on the available infrastructure, may be alleviated and both network management and service deployment operations may be executed more efficiently, so that the time to deploy a service and to perform life-cycle operations in which service resources are rearranged, such as scaling VNFs or workloads, may be reduced. By considering service requirements in generating the aggregated representation, an aggregated network inventory may be built up which is specifically optimized for the services contained in the service catalog of the cloud computing environment.
It is believed that the advantages of the technique presented herein will be fully understood from the foregoing description, and it will be apparent that various changes may be made in the form, constructions and arrangement of the exemplary aspects thereof without departing from the scope of the invention or without sacrificing all of its advantageous effects. Because the technique presented herein can be varied in many ways, it will be recognized that the invention should be limited only by the scope of the claims that follow.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/058274 | 4/2/2019 | WO | 00 |