1. A system for provisioning resources in a cloud environment, the system comprising: a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising: receiving from an application platform running in a cloud environment a request for one or more cloud resources, wherein the request does not specify whether to provision physical computing machines or virtual machines for the application platform; identifying a set of provision policies for provisioning cloud resources, the set of provision policies specific to the application platform; determining whether to approve the request for one or more cloud resources, the one or more cloud resources being at least one of one or more physical computing machines or one or more virtual machines; and in response to a determination that the request has been approved, determining, based on the set of provision policies specific to the application platform, whether to provision a first set of physical computing machines or a second set of virtual machines for the application platform; sending a first communication to a metal-as-a-service (MAAS) provider to cause the MAAS provider to provision the first set of physical computing machines for the application platform; receiving first information identifying the first set of physical computing machines from the MAAS provider; sending a second communication to a cloud broker to cause the cloud broker to provision the second set of virtual machines for the application platform; receiving second information identifying the second set of virtual machines from the cloud broker; and in response to the request, sending the first and second information to the application platform, whereby the application platform uses the first information to access the first set of physical computing machines and uses the second information to access the second set of virtual machines.