Provisioning and configuration are distinct operations in the deployment process. Before a resource, such as a device or server, can be configured, it must be provisioned, or set up.
A slightly crude, but helpful, analogy is to think of the construction of a house. Provisioning is akin to building the structure itself. Once the house is up, it must be configured to meet the needs of its owner: for example, keys must be made, smoke detectors and security systems installed and the rooms of the house outfitted to satisfy the requirements of the people living in it.
In the case of a server, provisioning includes the setting up of virtual and physical hardware, installing the operating system, connecting to networks and making resources (such as CPU, memory, storage and a network connection) available for that server.
Once that is complete, the server can be configured to meet the specific requirements of a particular application or workload. Configuration includes partitioning drives, adjusting operating system settings, configuring firewalls, installing and configuring applications, and ensuring the system remains in the desired state.
Just as there are many different types of provisioning, there are many types of configuration, and both processes can be automated.