Curriculum Resources / Azure
Azure for CS101
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. But it’s not a senior-level enrichment
project either. We wanted to bring cloud computing into the mainstream of academic
David S. Platt
David S. Platt is the author of many books on web services and other aspects of programming. He has worked with and taught classes on ACORD standards since the first OLE for Life Insurance standard in 1995. He teaches software development at Harvard University Extension School and at companies all over the world. He successfully developed the first Microsoft platform SOAP With Attachments message formatter to be certified by ACORD. Microsoft named him a Software Legend in 2002.
- 1. Introduction.
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.
- 2. 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.
- 3. Storage
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.
System Requirements and Installation
- This installation is supported only for Windows 7 Professional Edition or higher.
- Start at Azure developers download site
http://msdn.microsoft.com/en-us/windowsazure/cc974146.aspx. It displays the
latest downloads, fixes, and new tools, so you probably want to bookmark it and
visit it periodically to see what’s new.
- If you don’t already have Visual Studio 2010 any edition, then perform Step 1, “Install
Visual Web Developer 2010 Express Edition (optional)”. It’s free, and it’s not optional
for you if you don’t have VS 2010. The link is currently
http://www.microsoft.com/express/web/. Alternatively, students may visit
www.dreamspark.com, a Microsoft site at which they may register to receive free
- After finishing or skipping the previous step, then perform Step 2, “Install Windows
Azure Tools for Microsoft Visual Studio 1.2 (June 2010)”. The link is currently
- You will probably also want the Windows Azure Training Kit, which contains many
useful examples and demonstrations. The link is currently
- Finally, you will find it convenient to have the Windows Azure Management tool,
which snaps into Microsoft Management Console (MMC). The link is currently
Related Curriculum Resources