This document provides an overview of the CloudStack architecture and its evolution from a developer's perspective. It describes the key components of CloudStack including hosts, primary storage, clusters, pods, networks, secondary storage, and zones. It also outlines the general architecture abstractions used in CloudStack like resource agents, message bus, and asynchronous job execution. Finally, it details some of the core CloudStack subsystems including the compute subsystem and management server deployment architecture.