1. A computing device, comprising: a processor comprising one or more processing cores and operating in a multi-tenant environment, wherein the one or more processing cores are configured to execute at least a first virtual machine and a second virtual machine simultaneously, and the first virtual machine comprising a first plurality of computer executable instructions for a first tenant and the second virtual machine comprising a second plurality of computer executable instructions for a second tenant; a hardware resource configured to be shared by the first virtual machine and the second virtual machine executing simultaneously on the one or more processing cores; a hardware resource allocator configured to: assign a first identifier to the first virtual machine; and associate a portion of the hardware resource with the first identifier; and a hardware resource manager configured to: restrict access for computer executable instructions executed from the first virtual machine to the portion of the hardware resource associated with the first identifier.