Cloud services provide scalability, availability, and reliability so that applications can focus on their code. A cloud service uses public endpoints for external access, internal endpoints for private communication between roles, and instance input endpoints for individual instances. Roles in a cloud service can communicate through HTTP and provide web and worker functionality. Designing for the cloud requires embracing errors, and ensuring availability, reliability, and scalability through redundancy, reliability features in Azure like auto-recovery, and handling transient errors.