1. A method of providing configurable hardware, the method comprising: receiving a first request to generate configuration data for a field-programmable gate array (FPGA), the first request comprising a reference to a hardware design specifying application logic for implementation on the FPGA, the FPGA comprising host logic and the application logic when the FPGA is configured; generating a validated bitstream based on the application logic and the host logic, the validated bitstream specifying the configuration data for the FPGA; receiving a second request to download the validated bitstream to a host server computer of a computing environment, the host server computer comprising a particular FPGA; transmitting the validated bitstream to the host server computer in response to the second request so that the particular FPGA is configured with the host logic and the application logic; launching an instance of a virtual machine on the host server computer of the computing environment; and making the configured FPGA available for use by the instance of the virtual machine.