def calc_min_vms_for_resources(vm_ram, vm_cpu, requested_ram_gb, requested_cpus):
    """
    Return the minimum number of VMs of a specific flavour (X RAM in GBs, Y CPU cores per VM) requires to allocate the
    amount of RAM in GBs and CPU cores passed as input.
    :param vm_ram: RAM in GBs per VM.
    :param vm_cpu: CPU cores per VM.
    :param requested_ram_gb: Amount of RAM in GB to allocate.
    :param requested_cpus: Amount of CPU cores to allocate.
    :return: Minimum necessary number of VMs with to satisfy the requested resources.
    """
    return max(int(requested_ram_gb/vm_ram), int(requested_cpus/vm_cpu)) + 1