Method for optimizing the sizing of a virtualization infrastructure to a service load.

The method optimizes virtualization infrastructure scaling by pre-configuring reserve servers during a pre-deployment phase, addressing the challenge of rapid service load adaptation and enhancing resource efficiency and service reliability.

FR3157612A1Pending Publication Date: 2025-06-27ORANGE SA
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
FR2023015165
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-22
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

Existing virtualization infrastructure scaling mechanisms face challenges in quickly adapting to increased service loads due to time-consuming server configuration processes, leading to potential service degradation and resource inefficiency.

Method used

A method for optimizing virtualization infrastructure sizing by implementing a pre-deployment phase that partially configures reserve servers with an operating system and automated deployment solution components before a load increase, reducing the time needed to scale up in response to increased demand.

Benefits of technology

This approach significantly reduces the time required to respond to increased service loads, minimizing service degradation and allowing resources to be dynamically allocated across different services as needed, thereby optimizing resource utilization and energy efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for optimizing the sizing of a virtualization infrastructure to a service load. The invention relates to a method for optimizing the sizing of a virtualization infrastructure to a load of a communication service. The method is implemented by a pre-deployment entity (EPD), and it comprises, upstream of an increase (AC) of said load of the communication service, a partial configuration phase (P1) of at least one server of a group of reserve servers, called pre-deployment phase, comprising the transmission to a deployment entity (ED) of a request for installation, on said at least one server, of an operating system and at least one component of an automated deployment solution for containerized applications deemed suitable for the implementation of the communication service. Abstract figure: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for optimizing the sizing of a virtualization infrastructure to a service load. Technical field

[0001] The invention lies in the field of load distribution over a set of computing resources. More particularly, the present invention relates to scaling mechanisms, according to which a number of resources deployed for the implementation of a service is automatically adapted according to the service load to be absorbed. Prior art

[0002] Many communication networks use virtualized functions instantiated on virtualization nodes hosted in virtual machines or in servers grouped into clusters, or "clusters" within data centers. In the remainder of the document, mention is made of virtualization nodes hosted in servers but it is understood that the teaching of this document also applies to the case of virtualization nodes hosted in virtual machines.

[0003] An example of managing the instantiation of virtualized functions is known as "Kubernetes". A Kubernetes architecture comprises at least one cluster of virtualization nodes. Such a cluster of virtualization nodes comprises at least a first node called a management node, or "Kubernetes master node", and a plurality of computing nodes, or "Kubernetes worker node" intended to instantiate virtualized functions.

[0004] The management node includes, among other things, a database called ETCD which consists of a dynamic configuration register of the computing nodes.

[0005] A computing node comprises a plurality of virtualization units or "pods". Each virtualization unit is provided with resources enabling the execution of one or more software components. A software component, when executed, contributes to the implementation of a virtualized service or function.

[0006] The ETCD database embedded in the management node stores in reference files a list of virtualization units to be instantiated as well as parameters to be taken into account when instantiating a service or virtualized functions.

[0007] The management node regularly reads the contents of these files, compares them with the virtualization units being instantiated and adds or removes virtualization units in order to adapt their quantity to that indicated in these reference files.

[0008] The ETCD database also being accessible by a virtualization node deployment entity, the latter regularly reads the content of these files, compares the capacity of the deployed virtualization nodes with the capacity required by the virtualization units being instantiated and adds or removes virtualization nodes in order to adapt their quantity to the needs.

[0009] A Kubemetes architecture integrates in particular various load distribution mechanisms, including so-called horizontal scaling mechanisms which make it possible to automatically adapt the number of resources (for example, the number of virtualization nodes, or the number of virtualization units installed on all the virtualization nodes) according to a current load level associated with the service to be implemented, that is to say a current load level that the system must be able to absorb in order to guarantee satisfactory quality of the service provided. Thus, in response to an increase in the load for example, a greater number of virtualization nodes can be deployed.Deploying a new cluster of virtualization nodes (or "cluster") on a computer server, however, requires numerous preliminary configuration operations for this server which, although automated, take time. These operations, orchestrated by a deployment entity, include, for example, the installation of an operating system adapted to the context of implementation of the service, the installation of computer libraries, the installation of Kubernetes components, the installation of additional software components that may be necessary, etc.Thus, when they involve the configuration of a new server, it is estimated that fifteen to twenty minutes are currently required between the moment when a decision is made to increase the number of resources allocated to a service to cope with an increase in load, and the moment when the additional resources requested are actually operational to contribute to the implementation of the service.

[0010] During this deployment time, the service is likely to be degraded to the extent that the minimum resource conditions to ensure nominal operation of the service are no longer met. Furthermore, for certain critical applications for which a simple slowdown of the service is sometimes likely to have significant undesirable consequences, in particular when user security depends on proper operation of the service, such a deployment time is often prohibitive.

[0011] A typical solution to this problem is to oversize the system, by providing and continuously maintaining active a number of resources greater than those required to absorb an average or high service load of the service, so that the system is able to cope without delay with an increase temporary more or less prolonged load reduction, without the need to configure new servers.

[0012] Such a solution is not, however, ideal. On the one hand, it continuously mobilizes IT resources, typically servers, and this in a sterile manner most of the time, since these "reserve" resources are only requested during specific periods of increased load. As a result, although not used most of the time, these resources cannot be made available to other services that might need them. On the other hand, such oversizing of the system has impacts in terms of energy consumption, with in particular an increase in electricity consumption.

[0013] At a time when the challenges of saving resources - both energy and material - have become critical, there is therefore a need for alternative solutions making it possible to resolve all or part of the drawbacks mentioned above. Summary of the invention

[0014] The present technique makes it possible to propose a solution aimed at remedying certain drawbacks of the prior art. According to one aspect, the present technique relates in fact to a method for optimizing the sizing of a virtualization infrastructure to a load of a communication service. According to the general principle of the proposed invention, such a method, implemented within a pre-deployment entity comprises, upstream of an increase in said load of the communication service, a phase of partial configuration of at least one server of a group of reserve servers, called pre-deployment phase, comprising the transmission to a deployment entity of a request for installation, on said at least one server, of an operating system and at least one component of an automated deployment solution for containerized applications deemed suitable for the implementation of said communication service.

[0015] In this way, the pre-deployment phase makes it possible to carry out in an anticipated manner, that is to say before a possible need for an increase in the communication service load, operations known to be time-consuming when it comes to configuring servers, namely the installation of an operating system and an automated deployment solution for containerized applications. In this way, the scaling time in response to a possible subsequent detection of an increase in load for the service in question is reduced to that necessary to carry out operations aimed at completing a configuration already carried out for the most part. The reaction time of the system to return to nominal operation following such an increase in load is therefore considerably reduced. Furthermore, the servers configured in a partial manner in the pre-deployment phase are not specifically attached to a particular communication service: since their configuration is not yet finalized, they constitute so-called reserve resources, which are likely to be used indifferently by different services, depending on the load requirements and technical characteristics associated with these services. In this way, it is possible to avoid attaching resources full-time to a specific service, even though there is a high probability that such resources will only be used occasionally by said service. The method therefore allows, in addition to faster adaptation of a virtualized infrastructure to a scaling up of one or more communication services, to be able to adjust the virtualized infrastructure to the needs, preserving communication, software and energy resources.

[0016] In a particular embodiment, said at least one component belongs to the group comprising:

[0017] - a utility;

[0018] - a computer library;

[0019] - a configuration file;

[0020] - an artificial intelligence engine;

[0021] - an elementary component of said communication service.

[0022] In this way, the partial configuration operations of said at least one server can relate to various and multiple components. Thus, a large number of components can be pre-configured, flexibly, within the framework of a pre-deployment phase according to the present technique, thereby reducing the time required to finalize their configuration in the event of possible detection of an increase in the load of the communication service.

[0023] In a particular embodiment, said pre-deployment phase is implemented on the basis of a declarative type file previously obtained by said pre-deployment entity.

[0024] In this way, the pre-deployment phase is particularly simple to implement for a service operator, since it is sufficient for him to declare within a simple file, via key-value type entries, the characteristics of the partial configurations that he wishes to see deployed. In this way, the pre-deployment phase can also be triggered at the initiative of a third-party IT system adapted to automatically generate such a declarative file.

[0025] According to a particular characteristic, said declarative file comprises at least:

[0026] - a type and a version of said operating system to be installed on said at least one server ;

[0027] - a type and version of said automated application deployment solution containerized to be installed on said at least one server;

[0028] - a number of servers to be partially configured within said server group reserve, for said types and versions of said operating system and said automated containerized application deployment solution.

[0029] In this way, the proposed technique makes it possible to pre-deploy different types of partial configuration, each associated with a particular operating system and / or a particular automated deployment solution for containerized applications, on a chosen predefined number of servers. In this way, it is possible to implement several pre-deployment strategies, each in relation to a different subgroup of a group of reserve servers, thus allowing the method according to the present technique to be particularly adapted and flexible to respond to a large number of situations, in particular in terms of diversity of communication service to be supported.

[0030] In a particular embodiment, said sending of an installation request is conditional on a prior verification, with an authorization management server:

[0031] - that said deployment entity is authorized to carry out said installation in the framework of the said pre-deployment phase; and / or

[0032] - that said at least one server of said group of reserve servers is authorized to be the subject of said installation as part of said pre-deployment phase.

[0033] In this way, checks are carried out before carrying out a pre-deployment, so as to protect against any untimely pre-deployment such as, for example, a pre-deployment on a server which would not be intended for such operations or pre-deploying too many servers for example.

[0034] In a particular embodiment, said pre-deployment phase comprises:

[0035] - obtaining, within a data structure associated with said group of servers, reserve, of at least one data item identifying a set of servers available for the implementation of said communication service, within said group of reserve servers;

[0036] - the selection, within said identified available servers, of said at least one server object of said installation request, depending on the content of said declarative type file and technical characteristics associated with said available servers, obtained in said data structure.

[0037] In this way, checks are carried out to ensure that a reserve server selected to be the subject of a partial configuration defined in a declarative file is indeed available and indeed has sufficient technical characteristics for such an operation.

[0038] According to a particular characteristic, said sending of an installation request comprises the uploading, within a version management system associated with said deployment entity, of at least one deployment file comprising partial configuration information of said at least one selected server, said at least one deployment file being generated based on the content of said declarative file and said technical characteristics associated with said at least one selected server.

[0039] In this way, conventional mechanisms close to those implemented in the context of a complete server configuration, including the uploading of configuration files into a version management system associated with a deployment entity, are used to carry out partial configuration operations of the selected servers. The implementation of these operations is thus simplified.

[0040] In a particular embodiment, said method comprises, in response to an increase in load of said communication service:

[0041] - the selection, from said at least one server partially configured in said pre-deployment phase, of at least one server whose partial configuration is compatible with a descriptive deployment request file obtained by said pre-deployment entity following detection of said increase in load;

[0042] - finalizing the configuration of said at least one partially configured server selected, delivering an operational server for the implementation of said communication service.

[0043] In this way, the time between when a decision is made to increase the number of resources allocated to a service to cope with an increase in load and when the requested additional resources are actually operational to contribute to the implementation of the service is substantially reduced.

[0044] In a particular embodiment, a determination of the compatibility of said partial configuration with said deployment request descriptive file comprises a verification that the operating system and the at least one component of an automated containerized application deployment solution installed on said at least one selected partially configured server are compatible with the implementation of said communication service.

[0045] In a particular embodiment, said selection of said at least one server comprises taking into account a location of said at least one server, with regard to at least one location information included in said deployment request descriptive file, determined according to a nature of said communication service.

[0046] In this way, characteristics specific to the communication service facing an increase in load, such as its nature or technical characteristics associated with this service, are taken into consideration for the selection and final configuration of the reserve servers to be assigned to said service to help absorb said increase in load.

[0047] In a particular embodiment, said finalization of the configuration is conditioned on a prior verification, with an authorization management server, that said at least one selected partially configured server is authorized to be the subject of said configuration finalization.

[0048] In a particular embodiment, said finalization of the configuration is conditioned on a prior verification, within a data structure associated with said group of reserve servers, that said at least one selected partially configured server is available for the implementation of said communication service.

[0049] In this way, checks are carried out before finalizing the configuration of a selected reserve server, in order to ensure that this server is still available and still authorized to be the subject of such an operation. Any possible modification of availability and / or authorization occurring after the partial configuration operations of this server in the pre-deployment phase can thus be detected and taken into account.

[0050] In a particular embodiment, said finalization of the configuration comprises:

[0051] - the generation, on the basis of said deployment request descriptive file, of at least at least one configuration information of said at least one selected partially configured server;

[0052] - the configuration, on said at least one selected partially configured server, based on said at least one configuration information, of at least one virtualization node according to said automated deployment solution for containerized applications, for the implementation of said communication service.

[0053] In this way, additional resources suitable to help absorb the load of the communication service are available and operational.

[0054] According to another aspect, the invention relates to a pre-deployment entity for optimizing the sizing of a virtualization infrastructure to a load of a communication service. Such an entity comprises means for partial configuration of at least one server of a group of reserve servers, called pre-deployment means, implemented upstream of an increase in said load of the communication service, said pre-deployment means comprising means for transmitting, to a deployment entity, a request for installation, on said at least one server, of an operating system and at least one component of an automated deployment solution for containerized applications deemed suitable for the implementation of said communication service.

[0055] Such an entity can of course present the different characteristics relating to the optimization method according to the invention, which can be combined or considered in isolation. Thus, the characteristics and advantages of this entity are the same as those of the optimization method, and are not detailed further.

[0056] According to another aspect, the proposed invention also relates to a computer program product downloadable from a communication network and / or stored on a computer-readable medium and / or executable by a microprocessor, comprising program code instructions for executing the method as described above in any of its embodiments, when this method is executed on a computer.

[0057] The proposed invention also relates to a computer-readable recording medium on which is recorded a computer program comprising program code instructions for executing the steps of the method as described above, in any of their embodiments.

[0058] Such a recording medium may be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk.

[0059] On the other hand, such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means, so that the computer program contained therein is remotely executable. The program according to the invention may in particular be downloaded over a network, for example the Internet.

[0060] The different embodiments mentioned above can be combined with each other for implementing the invention. Figures

[0061] Other characteristics and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given as a simple illustrative and non-limiting example, and the appended drawings, among which:

[0062] [Fig-1] schematically presents the main stages of a method for optimizing the sizing of a virtualization infrastructure to a service load, in a particular embodiment of the proposed technique

[0063] [Fig.2] presents a sequence diagram illustrating a first phase, called pre-deployment also called partial deployment, of the optimization method, in a particular embodiment of the proposed technique;

[0064] [Fig.3] shows an example of the content of a declarative configuration file of pre-deployment to be carried out, in a particular embodiment of the proposed technique;

[0065] [Fig.4] presents a sequence diagram illustrating a second phase, called deployment finalization, of the optimization method, in a particular embodiment of the proposed technique;

[0066] [Fig.5] describes a simplified architecture of a pre-deployment module of a pre-deployment entity for implementing the proposed technique, in a particular embodiment of the proposed technique. Detailed description of the invention General principle

[0067] The technique described below makes it possible to overcome some of the aforementioned drawbacks.

[0068] In all the figures of this document, elements and steps of the same nature are designated by the same numerical reference.

[0069] According to a first aspect, the present technique relates to a method for optimizing the sizing of a virtualization infrastructure to a load of a communication service, implemented by a pre-deployment entity. The proposed technique relates more particularly to techniques for optimizing the horizontal automatic scaling time ("Horizontal Au-toscaling") of an automated deployment solution for containerized applications such as Kubemetes for example.

[0070] The general principle of the proposed technique, illustrated in relation to [Fig.l] in a particular embodiment, consists of partially and anticipatedly configuring at least one reserve server prior to a need for AC load scaling of a communication service, i.e. in an upstream phase of the moments when a service load is likely to increase (for example, before the communication service is put into operation, or when the current infrastructure deployed for the implementation of the communication service is still capable of absorbing an observed service load). More particularly, such a partial configuration phase, also called a pre-deployment phase PI in the context of the present technique, comprises the installation, on one or more reserve servers, of an operating system and at least one component of an automated deployment solution for containerized applications.The communication service may be a value-added service, i.e. a voice, text, or video service intended for one or more customers of the communication service, or it may also be a service specific to a communication operator, for example a communication service of a control or administration plan of a network. communication. The required increase in load for the communication service may correspond to a need for access by a greater number of terminals to the communication service or even to greater functional richness of the communication service requiring longer processing times for the management of data relating to the communication service.

[0071] A communication service that can more particularly benefit from the optimization method concerns, for example, a network game where it appears very important on the one hand to adapt the infrastructure to the geographical diversity of the players accessing the game as well as to the increase in load induced by a number of players connecting simultaneously to the network game. Knowing that low latency is a crucial issue for the players accessing this communication service and that it is very important to respond very dynamically and very quickly to the requirements of increase in load induced by a potentially significant growth in the number of players in a fairly short period of time, the method advantageously makes it possible to reduce the increase in load time of the infrastructure and thus to meet the requirements of the users.The method is particularly suitable for the future implementation of gaming applications accessible via streaming technology in CDN (Content Delivery Networks) nodes such as those specified by the SVTA (Streaming Video Technology Alliance) Open Caching organization and the IETF CDNi (Content Delivery Networks Interconnection) working group.

[0072] In a particular embodiment, the operating system and the components of an automated deployment solution for containerized applications thus installed on a reserve server during the pre-deployment phase PI correspond to software elements whose probability of being compatible with communication services already deployed or to be deployed on a communication network is high.

[0073] In other words, it is proposed according to the present technique to operate a two-stage configuration of the servers which are potentially to be used to contribute to absorbing a one-off increase in load of a communication service:

[0074] - firstly, a partial PI configuration is carried out in anticipation, that is, even before such an increase in load is observed, so the duration of such a pre-deployment phase is not a critical factor;

[0075] - in a second stage, and only when the situation requires it, that is to say by example, in the face of a sudden increase in AC load, a P2 finalization of the configuration, so as to make the server operational as quickly as possible to contribute to the absorption of the observed load.

[0076] More particularly, thanks to the present technique, the scaling time in response to an increase in load AC is reduced to that necessary to carry out operations aimed at completing a configuration already well advanced in a second phase P2 called configuration finalization, the most time-consuming configuration operations (for example the installation of an operating system) having already been carried out upstream in the pre-deployment phase PI. Typically, with the proposed technique, less than three minutes (one to two minutes in most cases) elapse between the moment when a decision is taken to increase the number of resources assigned to a service to cope with an increase in load, and the moment when the additional resources requested are actually operational to contribute to the implementation of the service (compared to ten to fifteen minutes with the existing classic scaling mechanism presented in relation to the prior art).

[0077] In addition to this substantial saving in reaction time, the present technique also makes it possible not to continuously mobilize servers as backup servers associated with a single service, unlike the conventional system oversizing solution already described in relation to the prior art. Indeed, the servers configured partially in the pre-deployment phase PI according to the present technique are not dedicated to the implementation of a single predefined service. On the contrary, they belong more particularly to a group of so-called reserve servers, which constitute resources that are likely to be used indifferently by different services, depending on the needs. In other words, a reserve server S1 can be assigned to a service A during a temporary period of increased load of this service A, then later assigned to a service B during a temporary period of increased load of service B. Presentation of a particular embodiment

[0078] In the remainder of the document, the pre-deployment PI and deployment finalization P2 phases are described in more detail, in various particular embodiments of the proposed technique, in which the deployment of the service is implemented via a Kubernetes orchestration solution (it being understood that the general principle presented previously and the steps described below remain substantially the same for the deployment of services via automated deployment solutions for containerized applications other than Kubernetes).

[0079] [Fig.2] is a sequence diagram illustrating the implementation of a pre-deployment phase PI, in a particular embodiment. Such a pre-deployment phase is implemented at a pre-deployment entity EPD.

[0080] In a step 201, an administrator, possibly via an administration software system, expresses his wish to authorize a deployment entity ED to carry out pre-configuration operations of one or more servers, i.e. pre-deployment, according to the present technique. To this end, it transmits during this step 201 to an authorization management server SGH of the pre-deployment entity EP an indication to this effect, and receives in return, in a step 202, a confirmation that the deployment entity ED is now identified within the authorization management server SGH as authorized to carry out pre-deployment operations. Such a deployment entity ED corresponds for example to an entity capable of configuring servers, including an integral configuration as described in relation to the prior art.

[0081] In a step 203, the administrator also communicates to the SGH authorization management server identifiers of servers or types of servers that it wishes to authorize to be pre-deployed, for example according to the geographical area where they are located. For example, the administrator transmits to the SGH authorization management server one or more identifiers of particular servers, or information according to which it wishes to authorize pre-deployment for servers located in particular data spaces, such as SV_RC servers located in regional data spaces (“Regional Clouds” in English), SV_EC servers located in end data spaces (“Edge Clouds” in English), or SV_FEC servers located in border data spaces (“Far Edge Clouds” in English), such spaces being notably defined by the O-RAN alliance (“Open Radio Access Network” in English).The administrator receives in return, in a step 204, a confirmation that the chosen servers or types of servers are now correctly identified within the SGH authorization management server as authorized to be the subject of pre-deployment operations according to the present technique.

[0082] In the particular embodiment illustrated in [Fig.2], the pre-deployment is initiated following the upload, in a step 205, of a declarative FD type file within an MPD pre-deployment module (for example implemented in the form of a Kubemetes operator) of the EPD pre-deployment entity. The declarative FD file contains information useful for the pre-deployment to be carried out, relating in particular to the operating system and the components of the deployment solution to be deployed on one or more reserve servers. An example of an extract of the content of such a declarative FD file is illustrated in relation to [Fig.3].More particularly, the FD file lists one or more pre-deployment operations to be implemented, each associated with a type and version of operating system 31 and deployment solution 32 to be installed, with a deployment entity 33 to be used to carry out the pre-deployment, and with a number 34 of reserve servers to be pre-deployed. In the example of [Fig.3], the following are thus defined for example: .

[0083] - a first pre-deployment request of reference name_deployment_l, according to which a deployment entity kanod_name_l is asked to pre-deploy ten servers by installing the Ubuntu operating system version 23.04 and the necessary components of the Kubemetes deployment solution version 1.15;

[0084] - a second pre-deployment request with reference name_deployment_2, according to which a deployment entity kanod_name_2 is asked to pre-deploy five servers by installing the Debian operating system version 12.4 and the necessary components of the Kubernetes deployment solution version 1.10.

[0085] The declarative file presented in [Fig.3] is given for purely illustrative and non-limiting purposes. In particular, additional information other than that listed previously may be declared in connection with a given pre-deployment request. Such additional information includes, for example, information relating to different types of components to be installed in connection with an automated deployment solution for containerized applications declared in the declarative file FD, such as information relating to the installation of utilities, particular software libraries, artificial intelligence engines, particular configuration files, elementary components associated with the communication service, etc.

[0086] Upon detection of the presence of such a declarative FD file, various mechanisms are triggered at the level of the MPD pre-deployment module of the EPD pre-deployment entity, as illustrated in [Fig.2].

[0087] Firstly, the pre-deployment module MPD queries the SGH authorization management server in a step 206, in order to verify that the deployment entity associated with a pre-deployment operation in the declarative file FD, for example the deployment entity ED of [Fig.2], is indeed authorized to carry out pre-deployment operations. If this is the case, the pre-deployment module MPD obtains confirmation of this authorization from the SGH authorization management server, in a step 207. The pre-deployment module MPD then sends, in a step 208, a request to a BDD data structure of the EPD pre-deployment entity, which contains information relating to the servers of a group of reserve servers that can be used for implementing communication services.At least part of this information may in particular have been inserted into the BDD data structure jointly with step 203 previously described, in which servers are authorized to be subject to partial configuration according to the present technique. The request issued in step 208 aims more particularly to determine a list of servers currently available for the provision of a communication service. In a step 209, in response to this request, the BDD data structure transmits to the pre-deployment module MPD such a list of available servers (in the form for example of data making it possible to identify these servers, for example addresses. IP or any other identifier such as for example a DNS identifier), as well as associated information, typically technical characteristics linked to these servers.

[0088] In a step 210, depending on the configuration information declared in the declarative file FD obtained in step 205 and possibly additional information associated with the available servers identified in step 209, the pre-deployment module MPD selects from among these available servers those which must be the subject of a pre-deployment, in other words a partial configuration according to the present technique. For example, with reference to the example of [Fig.3], as part of the pre-deployment request referenced name_deployment_l, the MPD pre-deployment module selects ten servers from the available servers in the reserve server group, which have technical characteristics compatible with the configuration information declared in the FD declarative file, typically technical characteristics sufficient to install the Ubuntu operating system in version 23.04 and the Kubernetes deployment solution in version 1.15.

[0089] The MPD pre-deployment module also checks with the authorization management server, in a step 211, that the selected servers are indeed authorized to be deployed.In the event that one or more of the selected servers do not meet this criterion, the MPD pre-deployment module may possibly carry out a new selection of servers from among the available servers, until reaching the desired number of servers as declared in the FD declarative file. In a step 212, the MPD pre-deployment module obtains for example confirmation from the authorization management server that the selected servers are all authorized to be used for partial configuration operations within the framework of a pre-deployment phase according to the present technique.

[0090] In a step 213, once the authorizations have been verified and confirmed, the pre-deployment module MPD uploads pre-deployment files into a GIT version management system associated with the deployment entity ED identified in the declarative file FD for the pre-deployment operation considered (for example, for the pre-deployment request referenced name_deployment_l in the example of [Fig. 3], the pre-deployment files are uploaded into the version management system associated with the deployment entity referenced kanod_name_l\ These pre-deployment files are for example constructed on the basis of the information declared in the declarative file FD and the technical characteristics of the servers finally selected, and they list all the useful information so that a deployment module MD of the deployment entity ED can carry out the required partial configuration of these servers.

[0091] By means of this transmission of the pre-deployment files, the pre-deployment entity EPD sends a request to the deployment entity ED to carry out the desired partial configurations of the selected servers, as defined in the declarative file FD. The deployment entity ED then carries out the required operations, according to a classic mechanism close to that implemented in the context of a complete server configuration according to the prior art.

[0092] More particularly, in a step 214, the MD deployment module detects the presence of these new pre-deployment files in the GIT version management system associated with it. The MD deployment module then has the useful data for implementing the requested pre-deployments, namely the list of servers on which to operate these pre-deployments, and the way in which they must be configured, in particular in terms of operating system and deployment solution to be installed there, this solution comprising one or more components.

[0093] On this basis, the partial configuration operations are then implemented, in a step 215. In the example illustrated in [Fig.2], the deployment module MD proceeds for example respectively in steps 215, 215' and 215” to the pre-deployment of several reserve servers, including in particular at least one SV-RC server located in regional data spaces ("Regional Clouds" in English), at least one SV-EC server located in end data spaces ("Edge Clouds" in English), and at least one SV-FEC server located in FEC border data spaces ("Far Edge Clouds" in English). According to a particular characteristic, once the partial configurations have been finalized, the deployment module MD of the deployment entity ED issues a shutdown or standby request to the servers concerned.In a step 216, the deployment module MD of the deployment entity ED also informs the pre-deployment module MPD that the requested pre-deployment operations have been carried out.

[0094] In a step 217, the pre-deployment module MPD confirms to the administrator (or to the administration software system) that the partial configuration of the selected reserve servers has been correctly carried out, in accordance with the content of the declarative file FD.

[0095] At this stage, the pre-deployment phase PI according to the present technique is considered to be completed, and the system is ready for the implementation, if necessary, of a configuration finalization phase P2, in particular if an increase in the load of the communication service is detected.

[0096] [Fig.4] is a sequence diagram illustrating the implementation of such a P2 configuration finalization phase, in a particular embodiment. This P2 configuration finalization phase is also implemented at the level of the EPD pre-deployment entity.

[0097] In a step 401, the pre-deployment module MPD of the pre-deployment entity EPD obtains a descriptive file of a deployment to be carried out, for example because a significant increase in load, and therefore the need to scale up, has been detected. Such a file is for example uploaded by an administrator or generated and transmitted automatically to the MPD pre-deployment module by a third-party software system having detected the increase in load. According to a particular characteristic, the descriptive file includes, possibly in addition to other information, at least one piece of information on a location of a server to be configured, in particular depending on the nature of the communication service requiring the increase in load. The deployment request may thus for example relate to a request for deployment in a particular data space among RC regional data spaces (“Regional Clouds” in English), edge data spaces (“Edge Clouds” in English), or FEC border data spaces (“Far Edge Clouds” in English).Thus, the descriptive file makes it possible, for example, to request priority deployment in an FEC edge data space when the communication service in question is associated with strong requirements in terms of quality of service, in particular when the nominal operation of this service requires low latency.

[0098] Upon receipt of this file, the pre-deployment module MPD determines in a step 402 whether a server that has previously been the subject of a partial configuration within the framework of a pre-deployment phase PI as already described in relation to [Fig.2] has characteristics compatible with those required in the descriptive file received. Such a determination of compatibility notably comprises a verification that the operating system and that the at least one component of an automated deployment solution for containerized applications installed on this partially configured server are indeed compatible with an implementation of the communication service considered.In the negative, if no server meets these criteria, the MPD pre-deployment module sends a classic deployment file, i.e. without PI pre-deployment, to the GIT version management system associated with the ED deployment entity, in order to trigger a classic deployment according to the prior art (i.e. a complete configuration of a new server by a classic deployment module). In the affirmative, when the MPD pre-deployment module identifies on the contrary at least one configuration server already partially configured in the PI pre-deployment phase and with characteristics compatible with the deployment request descriptive file, for example the SV_EC server of [Fig. 4], this MPD module carries out in a particular embodiment various checks making it possible to ensure that this server can actually be used as part of a scaling operation aimed at absorbing the increase in load that the service is undergoing.The MPD pre-deployment module issues, for example, in a step 403, a request to the BDD data structure associated with the group of . standby servers, to ensure that the SV_EC server in question is still available (i.e., for example, that it has not already been requisitioned to contribute to the implementation of another service potentially also facing a peak load).

[0099] Upon receipt, in a step 404, of confirmation from the BDD data structure that the identified server is indeed available, the pre-deployment module MPD queries, in a step 405, the SGH authorization management server of the EPD pre-deployment entity, in order to verify that the identified compatible and available reserve server SV_EC is indeed authorized to be the subject of a configuration finalization operation according to the second phase P2. When the pre-deployment module MPD obtains, in a step 406, confirmation from the SGH authorization management server that this is indeed the case, it issues in a step 407 a new request to the BDD data structure, in order to reserve this server SV_EC, that is to say to remove it from the list of available reserve servers maintained in this database.Once this reservation information has been recorded in the BDD data structure, the MPD pre-deployment module receives in a step 408 confirmation from the BDD data structure that the server identified as compatible has been removed from the list of available servers.

[0100] The pre-deployment module MPD then generates, on the basis of the deployment request descriptive file, at least one configuration information item making it possible to finalize the configuration of the selected compatible server, which it transmits to a deployment finalization module MFD of the pre-deployment entity EPD, in a step 409.

[0101] The MFD deployment finalization module then proceeds with the operations of finalizing the configuration of the selected SV_EC server, these operations comprising at least the configuration of at least one virtualization node according to the automated deployment solution of containerized applications preconfigured in this server, for the implementation of said service.

[0102] In a particular embodiment of the proposed technique, such configuration finalization operations comprise for example a sequence of different steps, according to which:

[0103] - the MFD deployment finalization module starts the SV_EC server of which it it is appropriate to finalize the configuration, in a step 410;

[0104] - the MFD deployment finalization module installs an MK management node (by example a Kubernetes master node or “Kubemetes master node”) within this SV_EC server, in a step 411;

[0105] - MFD deployment finalization module configures the MK management node installed, in a step 412, so that it instantiates one or more computing nodes (“Kubernetes worker node”);

[0106] - the MFD deployment finalization module checks the status of the instantiated nodes, in a step 413;

[0107] - optionally, in steps 414 to 416, the finalization module MFD deployment requests (step 414) from the MK management node that it deploys (step 415) on the SV_EC server an application contributing to the deployed communication service, then the MFD deployment finalization module checks (step 416) the status of the application thus deployed.

[0108] At the end of the deployment finalization operations, and more particularly when it has been verified that they have been carried out successfully, the deployment finalization module MFD confirms to the pre-deployment module MPD, in a step 417, that the reserve server SV_EC is now completely configured and operational for the implementation of said service, and that it can in particular contribute to the absorption of the increase in the detected service load. The pre-deployment module MPD relays this information to the administrator (or to the administration software system) in a step 418. Device

[0109] According to another aspect, the proposed technique also relates to a pre-deployment entity, adapted to carry out the method of optimizing the sizing of a virtualization infrastructure to a load of a communication service, as previously described in any of its embodiments. Such an entity comprises means for partial configuration of at least one server of a group of reserve servers, called pre-deployment means, implemented upstream of an increase in said load of the communication service. According to the present technique, these pre-deployment means comprise means for transmitting, to a deployment entity, a request for installation, on said at least one server, of an operating system and at least one component of an automated deployment solution for containerized applications deemed suitable for the implementation of said communication service.

[0110] [Fig.5] represents, in a schematic and simplified manner, the structure of a pre-deployment module of such a pre-deployment entity, in a particular embodiment. The pre-deployment module according to the proposed technique comprises for example a memory 51 consisting of a buffer memory M, a processing unit 52, equipped for example with a microprocessor pP, and controlled by the computer program Pg 53, implementing steps of the optimization method according to at least one embodiment of the invention. To this end, the device also comprises at least one communication interface (for example an Ethernet communication interface), allowing it to receive and transmit messages in from and to other elements of the deployment entity, or third-party elements such as, for example, an administration software system, or a deployment entity.

[0111] At initialization, the code instructions of the computer program 53 are loaded into the buffer memory before being executed by the processor of the processing unit 52. The processing unit 52 detects at input E for example the presence of a declarative type file, the content of which describes information useful for the implementation of desired pre-deployment operations, including in particular information relating to an operating system and to components of an automated deployment solution for containerized applications to be deployed on one or more reserve servers.

[0112] The microprocessor of the processing unit 52 then carries out the steps of the optimization method, according to the instructions of the computer program 53. More particularly, on the basis of the data contained in the declarative file received as input E, and of additional data possibly obtained from other elements of the pre-deployment entity - such as an authorization management server or a data structure associated with a group of reserve servers - the processing unit 52 selects at least one reserve server retained to be the subject of a partial configuration.The processing unit 52 then emits, at output S, a request for installation, on said at least one server, of the operating system and of the at least one component of the automated deployment solution for containerized applications deemed suitable for the implementation of the communication service according to the declarative file, so as to significantly reduce the duration of possible subsequent operations for finalizing the configuration of these servers, in particular in the event of detection of an increase in the load of the communication service.

Claims

Claims

1. Method for optimizing the sizing of a virtualization infrastructure to a load of a communication service, said method being implemented by a pre-deployment entity (EPD), said method being characterized in that it comprises, upstream of an increase (AC) of said load of the communication service, a partial configuration phase (PI) of at least one server of a group of reserve servers, called pre-deployment phase, comprising the transmission to a deployment entity (ED) of a request for installation, on said at least one server, of an operating system and at least one component of an automated deployment solution for containerized applications deemed suitable for the implementation of said communication service.

2. Method according to claim 1, characterized in that said at least one component belongs to the group comprising: - a utility; - a computer library; - a configuration file; - an artificial intelligence engine; - an elementary component of said communication service.

3. Method according to claim 1, characterized in that said pre-deployment phase is implemented on the basis of a declarative type file previously obtained by said pre-deployment entity.

4. Method according to claim 3, characterized in that said declarative file comprises at least: - a type and a version of said operating system to be installed on said at least one server; - a type and a version of said automated containerized application deployment solution to be installed on said at least one server; - a number of servers to be partially configured within said group of reserve servers, for said types and versions of said operating system and of said automated containerized application deployment solution.

5. Method according to claim 1, characterized in that said sending of an installation request is conditional on a prior verification, with an authorization management server: - that said deployment entity is authorized to carry out said ins- installation within the framework of said pre-deployment phase; and / or - that said at least one server of said reserve server group is authorized to be the subject of said installation within the framework of said pre-deployment phase.

6. Method according to claim 3, characterized in that said pre-deployment phase comprises: - obtaining, within a data structure associated with said group of reserve servers, at least one data item identifying a set of servers available for the implementation of said communication service, within said group of reserve servers; - selecting, within said identified available servers, said at least one server which is the subject of said installation request, as a function of the content of said declarative type file and technical characteristics associated with said available servers, obtained in said data structure.

7. Method according to claim 6, characterized in that said issuing of an installation request comprises the uploading, within a version management system associated with said deployment entity, of at least one deployment file comprising partial configuration information of said at least one selected server, said at least one deployment file being generated as a function of the content of said declarative file and said technical characteristics associated with said at least one selected server.

8. Method according to claim 1, characterized in that it comprises, in response to an increase in load of said communication service: - the selection, from said at least one partially configured server in said pre-deployment phase, of at least one server whose partial configuration is compatible with a deployment request descriptive file obtained by said pre-deployment entity following detection of said increase in load; - the finalization of the configuration of said at least one selected partially configured server, delivering an operational server for the implementation of said communication service.

9. Method according to claim 8, characterized in that a determination of the compatibility of said partial configuration with said deployment request descriptive file comprises a verification that the operating system and the at least one component of an automated containerized application deployment solution installed on said at least one at least one selected partially configured server is compatible with the implementation of said communication service.

10. Method according to claim 8, characterized in that said selection of said at least one server comprises taking into account a location of said at least one server, with regard to at least one location information included in said descriptive deployment request file, determined according to a nature of said communication service.

11. Method according to claim 8, characterized in that said finalization of the configuration is conditioned on a prior verification, with an authorization management server, that said at least one selected partially configured server is authorized to be the subject of said configuration finalization.

12. Method according to claim 8, characterized in that said finalization of the configuration is conditioned on a prior verification, within a data structure associated with said group of reserve servers, that said at least one selected partially configured server is available for the implementation of said communication service.

13. Method according to claim 8, characterized in that said finalization of the configuration comprises: - the generation, on the basis of said deployment request descriptive file, of at least one configuration information of said at least one selected partially configured server; - the configuration, on said at least one selected partially configured server, on the basis of said at least one configuration information, of at least one virtualization node according to said automated deployment solution of containerized applications, for the implementation of said communication service.

14. Pre-deployment entity for optimizing the sizing of a virtualization infrastructure to a load of a communication service, said entity being characterized in that it comprises means for partial configuration of at least one server of a group of reserve servers, called pre-deployment means, implemented upstream of an increase in said load of the communication service, said pre-deployment means comprising means for transmitting, to a deployment entity, a request for installation, on said at least one server, of an operating system and at least one component of an automated containerized application deployment solution deemed suitable for implementing said communication service.

15. Computer program product downloadable from a communications network and / or stored on a computer-readable medium and / or executable by a microprocessor, characterized in that it comprises program code instructions for executing a method according to any one of claims 1 to 13, when executed by a computer.

Citation Information

Patent Citations

  • Environment agnostic configuration with a declarative infrastructure provisioner

    US11321137B2

  • Software-defined network orchestration in a virtualized computer system

    US20210311760A1

  • Deployment and configuration of an edge site based on declarative intents indicative of a use case

    US20220342649A1

  • Techniques for deploying infrastructure resources with a declarative provisioning tool

    WO2021150307A1