Course description
This course introduces the fundamentals of cloud computing, including core services like compute, storage, networking, and databases. It covers key models (IaaS, PaaS, SaaS) and deployment types (public, private, hybrid). Students gain hands-on experience with AWS, Azure, and GCP, learning to deploy, manage, scale, and secure cloud applications, along with topics such as virtualization, containers, serverless computing, and cloud storage.
Learning objectives
The objective of this course is to give students an overview of the field of Cloud Computing, its underlying enabling technology, and interact with cloud computing to gain hands-on skills through projects. Specifically, the course has the following objectives:
Students will learn:
- the fundamental ideas behind Cloud Computing, the evolution of the paradigm, its applicability, benefits, as well as current and future challenges.
- the basic ideas and principles in data center design; cloud management techniques and cloud software deployment considerations.
- different CPU, memory and I/O virtualization techniques that serve in offering software, computation and storage services on the cloud; Software Defined Networks (SDN) and Software Defined Storage (SDS); Cloud Orchestration with Openstack testbed.
- Cloud storage technologies and relevant distributed file systems, NoSQL databases and object storage
Outcomes
After completing this course, students will be able to do the following:
- Explain the core concepts of the cloud computing paradigm: how and why this paradigm shift came about, the characteristics, advantages and challenges brought about by the various models and services in cloud computing.
- Understand and apply Virtualization (hypervisors for bare metal, and hosted, container)
- Deploy and use application on Cloud computing models, IaaS, PaaS, SaaS
- Discuss system, network and storage virtualization and outline their role in enabling the cloud computing system model.
- Programming models for the cloud computing
- Understand consistency Availability and Partition Tolerance (CAP) theorem
- Apply distributed application in the cloud computing
- Calculation of Power usage effectiveness (PUE) to determine the energy efficiency of a data center
- Understand the cloud compliance, the Service Level Agreement (SLA), Service Level Objective (SLO), Service Level Indicator (SLI)
Content details
Introduction
- Definition and evolution of Cloud Computing
- Enabling Technologies, Service and Deployment Models Popular Cloud Stacks and Use Cases
- Benefits, Risks, and Challenges of Cloud Computing
Virtualization
- Virtualization (CPU, Memory, I/O),software & storage defined network
- Hosted hypervisor
- Bare metal hypervisor
- Docker
Cloud Infrastructure
- Historical Perspective of Data Centers
- Explain the fundamental principles and methods for autonomic computing system
- How is a data center operated in a self-managed
- Apply fundamental principles and methods of autonomic computing to management of data centers and cloud services.
- Analyze the impact of autonomic systems on system lifecycle management
- Design and implement algorithms for autonomic management of data center resources
- Orchestration of Cloud, OpenStack testBed
Cloud Storage
- Introduction to Storage Systems Cloud Storage Concepts
- Cloud programming models
- Distributed File Systems
- Distributed Databases
- Power efficiency
- Power efficient computing
- Heat management
- How much power is used for running a server
- Measure Web server power-performance tradeoff
- Optimize (self-manage) power-performance
- Use autonomic management method(s)
Compliance and security
- Service level SLA, SLO, SLI
- Cloud security
Pre-requisites
04-641 Fundamentals of Telecommunications and Computer Networks (may be taken concurrently); or similar class.