Go to Faculty Home /   Curriculum Resources /  Azure for CS101 Subscribe

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 instruction.

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.
Course Modules
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
  1. This installation is supported only for Windows 7 Professional Edition or higher.
  2. 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.
  3. 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 professional-level tools.
  4. 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 http://download.microsoft.com/DOWNLOAD/1/F/9/1F96D60F-EBE9-44CB-BD58-88C2EC14929E/VSCLOUDSERVICE.EXE.
  5. You will probably also want the Windows Azure Training Kit, which contains many useful examples and demonstrations. The link is currently http://go.microsoft.com/fwlink/?LinkID=130354.
  6. Finally, you will find it convenient to have the Windows Azure Management tool, which snaps into Microsoft Management Console (MMC). The link is currently http://code.msdn.microsoft.com/windowsazuremmc.

Related Curriculum Resources

| | |