Clouds are made of on-demand, scalable computing resources that are accessed as a service via the internet. There are different cloud deployment models (public, private, hybrid) and service models (IaaS, PaaS, SaaS). Infrastructure as a service (IaaS) clouds provide fundamental computing resources like storage, networking and virtual machines, while platform as a service (PaaS) clouds provide additional services like databases, messaging queues and development tools. Choosing between IaaS and PaaS involves considering factors like lock-in to the cloud vendor, control over the infrastructure, and application requirements.