“This package contains three 1-hour lessons on the principles of cloud computing. The target audience is the instructors of second or third year undergraduate classes in computer science or software engineering. It’s not Computer Science 101; we need the students to have some sort of idea as to what a queue is and what an object is and how to write a rudimentary program.
File Name: 8742.zip
Resource ID: 8742
Publication Date: 10/01/2010
Download Size and Type: 38.00 MB Zip file [GD: Does not include the videos, 354MB for those]
Course Module Contents
Each lesson consists of a PowerPoint deck, a video, sample programs, and homework assignments. The PowerPoint decks discuss the principles of cloud computing at a block diagram level. They discuss the offerings of the three main cloud vendors, Amazon, Google, and Microsoft. They then examine a sample program, written for Windows Azure, that demonstrates the topics discussed in the module. Each contains a homework assignment or suggestions for homework assignments. The video features David S. Platt ME, whose biography appears below. In it, he teaches the lesson as if to a class of students. But he also stops for offline discussions as to why he’s teaching in a certain way and adjustments that you might want to make. You may choose to make these videos available to your students or not.
This module introduces the concept of cloud computing. We examine the scale on which modern applications need to operate, and realize that the contemporary standard of care for a significant computing environment is now so high that it’s hard to reach on our own. We discuss outsourcing the operation of a data center, as the generation and distribution of electricity was outsourced in the early part of the 20th century. We define and discuss the terms platform as a service, infrastructure as a service, and software as a service. We examine the commercial cloud platforms offered by Amazon, Google, and Microsoft. We then discuss the types of problems that cloud computing solves well, and the difficulties that we could encounter in using cloud computing. We conclude with a step-by-step demonstration of creating a web project and deploying it to the cloud in Windows Azure.
- Basic Architecture
Now that we’ve decided that we want to run in the cloud, what adjustments do we need to make in our applications’ architecture? We first discuss certain concepts that are needed for all distributed programming, including virtualization, abstraction, statelessness, chunkiness, and message passing. We examine the commercial vendors’ cloud products in more detail. We then discuss some common usage scenarios that lend themselves well to cloud computing. We conclude with the examination of a code sample demonstrating a Web Role and a Worker Role in Windows Azure, the former passing commands to the latter by means of a queue.
Storage is a primary requirement of any enterprise system. We moved to the web in order to scale, so our storage needs to scale with us. In this module, we discuss relational storage versus non-relational storage, and examine the types of non-relational storage that are common in the cloud – blobs, tables, and queues. We look at the storage options of the three cloud vendors. Then we examine the code examples of an Azure application that uses blobs, and another that uses tables.
- Azure for CS101 – Lecture 1: Introduction to Cloud Computing - (Video 1 of 3)
- Azure for CS101 – Lecture 2: Basic Architecture - (Video 2 of 3)
- Azure for CS101 – Lecture 3: Storage - (Video 3 of 3)
Nothing like the smell of pre-prepared Azure course material in the morning…