Cloud computing gave birth to a paradigm in which infrastructure can be requested, provisioned, and used almost instantly in a service-oriented manner. Infrastructure as a service, however, is only the first step in cloud adoption. In fact, cloud computing introduces various distinct service models constituting a cloud service stack. Each of the models abstracts from lower-level cloud services and comprises only a limited set of new concepts. In situations where entire cloud stacks are to be provisioned, the overall complexity needs to be managed.