Course description
This course covers the fundamentals of cloud computing, including servers, storage, databases, networking, software, analytics, and intelligence accessed over the internet. The course will cover the main cloud computing models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). You will also learn about the different deployment models, such as public, private, and hybrid clouds.
The course provides hands-on experience using cloud computing platforms such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). You will learn how to deploy, manage, and scale cloud-based applications, as well as how to secure your cloud infrastructure. Other topics include cloud storage, virtualization, containerization, and serverless computing.
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.
Faculty
Emmanuel Ndashimye and Christine Niyizamwiyitira