The document discusses software architectures for cloud applications. It defines cloud computing and its key characteristics like virtualized resources, elasticity, and pay-as-you-go models. Enabling technologies like virtualization, distributed storage, and increasing datacenter capacity are described. The document outlines common cloud service models including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Architectural components for cloud applications such as NoSQL databases, queues, caches, load balancers and CDNs are covered. The document provides an example case study of architecting a photo sharing application on AWS.