The Cloud Applications Architecture course serves as an entry point for learning how to design and deploy cloud systems effectively. Starting with the history and fundamental technologies of cloud computing, trainees will explore the differences between IaaS, PaaS, and SaaS and learn how these models can support application scalability and performance. Practical modules cover creating virtual networks, handling traffic, deploying both server-based and serverless functions, and selecting appropriate storage and database solutions. Key system qualities—such as fault tolerance, performance, and security—are emphasized, with automation playing a critical role in managing cloud resources. This course equips students with foundational knowledge and hands-on experience to prepare for more advanced cloud architecture courses.
The course introduces participants to the fundamentals of cloud computing, including types of cloud services (IaaS, PaaS, SaaS) and essential technologies like virtualization and containerization. The initial sessions provide a grounding in the economics and motivations behind cloud adoption, followed by an in-depth look at the architectural principles that guide cloud application design.
Students will then focus on creating virtual networks, exploring how to manage inbound and outbound traffic, content delivery, and region selection. Modules on deploying computational resources cover both traditional server-based approaches and serverless options, providing a balanced understanding of cloud-native applications. Persistent data storage solutions—such as block storage, object storage, and databases—are also discussed, with a focus on selecting the right solution based on data type, consistency, and availability requirements.
The course also emphasizes quality attributes critical to cloud applications. Participants will explore patterns and tactics for scalability, performance, and security, gaining practical insights into setting up automation for resource provisioning, monitoring, and fault recovery. Final sessions on cloud architecture methodologies, including the Twelve-Factor App and the Well-Architected Framework, provide a structured approach for maintaining robust and efficient cloud applications.
Upon completion of the course, participants will be able to:
- Understand the fundamental principles and economic drivers of cloud computing.
- Design high-level architectures for cloud applications, balancing cost, performance, and scalability.
- Create and manage virtual networks, traffic flows, and access points.
- Deploy and manage various application components, utilizing server-based and serverless options.
- Develop resilient, secure cloud systems with considerations for automation, monitoring, and fault tolerance.
- Lay a foundation for further training in high-load systems, Big Data, and distributed databases.
This course is a blend of theory (60%) and practical design exercises (40%). Students participate in group sessions to draft cloud application architectures, simulate traffic management, and outline automation strategies, providing hands-on experience with essential cloud architecture concepts.