Nowadays, cloud computing technologies are commonly used both by the public and private institutions, so as to save money and computing efforts, by using a network of remote servers hosted on the Internet to manage their services. Thus, cloud clients must interact with cloud providers in order to make use of the services deployed in the cloud, and the cloud infrastructure must be designed taking into account both the physical devices and equipment required (racks, switches, and so on) and also the user demands, expressed in terms of the services they need. This paper focuses on this latter aspect, in which we analyze how cloud clients interact with a cloud provider, providing a Unified Modeling Language-based framework to model a cloud system, including the underlying infrastructure, the user resource requirements, and their interactions with the cloud provider. INDEX TERMS Design tools and techniques, cloud design, interoperability, model development.