A computing system for allocating Virtual Network Functions, VNF, in a datacenter, the computing system comprising: a processing unit; a computation module configured to, for each VNF of a plurality of incoming VNFs to the computing system: define an extinction factor corresponding to a datacenter unit in the datacenter based on a state of the datacenter, a VNF catalogue and a set of allocation rules, wherein the extinction factor indicates how many times an incoming VNF could be placed in the datacenter unit, wherein the VNF catalogue is a file that contains information on the plurality of incoming VNFs to the computing system in sequential order, and wherein the state of the datacenter indicates available computing resources of datacenter units in the datacenter; and in response to the defined extinction factor, determine an allocation model based on the VNF catalogue, the set of allocation rules, the extinction factor, and the state of the datacenter, wherein the allocation model indicates a datacenter unit of the datacenter to which the VNF is to be allocated; and an allocation module configured to allocate the VNF in the datacenter based on the allocation model, wherein if a VNF can be allocated in more than one datacenter unit, the allocation module is further configured to allocate the VNF to the datacenter unit that extincts the allocation of a fewest number of future VNFs. a processing unit; a computation module configured to, for each VNF of a plurality of incoming VNFs to the computing system: define an extinction factor corresponding to a datacenter unit in the datacenter based on a state of the datacenter, a VNF catalogue and a set of allocation rules, wherein the extinction factor indicates how many times an incoming VNF could be placed in the datacenter unit, wherein the VNF catalogue is a file that contains information on the plurality of incoming VNFs to the computing system in sequential order, and wherein the state of the datacenter indicates available computing resources of datacenter units in the datacenter; and in response to the defined extinction factor, determine an allocation model based on the VNF catalogue, the set of allocation rules, the extinction factor, and the state of the datacenter, wherein the allocation model indicates a datacenter unit of the datacenter to which the VNF is to be allocated; and define an extinction factor corresponding to a datacenter unit in the datacenter based on a state of the datacenter, a VNF catalogue and a set of allocation rules, wherein the extinction factor indicates how many times an incoming VNF could be placed in the datacenter unit, wherein the VNF catalogue is a file that contains information on the plurality of incoming VNFs to the computing system in sequential order, and wherein the state of the datacenter indicates available computing resources of datacenter units in the datacenter; and in response to the defined extinction factor, determine an allocation model based on the VNF catalogue, the set of allocation rules, the extinction factor, and the state of the datacenter, wherein the allocation model indicates a datacenter unit of the datacenter to which the VNF is to be allocated; and an allocation module configured to allocate the VNF in the datacenter based on the allocation model, wherein if a VNF can be allocated in more than one datacenter unit, the allocation module is further configured to allocate the VNF to the datacenter unit that extincts the allocation of a fewest number of future VNFs.