Providing Technology Training and Mentoring For Modern Technology Adoption
This class is an introduction to cloud computing and specifically Microsoft's public cloud offering in Windows Azure. Windows Azure has been described by Microsoft as an operating system for "the cloud". In this class, you explore this cloud operating system and learn how to write, deploy and monitor .NET applications in Azure.
This class is designed for .NET developers with Web application experience that are exploring developing new applications or porting existing applications to Windows Azure.
After completing this course, students will be able to:
Before attending this course, students must have:
Cloud computing has been labeled the next big thing in the computing industry. What exactly is cloud computing? What are the benefits of cloud computing? Why would my organization and I want to explore cloud computing? Will it help us solve some of our IT problems? Of what potential issues should we be aware? This introductory module addresses the what’s and why’s of cloud computing. It also introduces Microsoft’s Windows Azure cloud computing product. How does the Microsoft solution compare to other cloud computing platforms? What exactly is Windows Azure?
Lab : Windows Azure Account Setup (Optional)
After completing this module, students will be able to:
Several components and technologies make up the Windows Azure Platform. In this module, you get a glimpse of a Windows Azure. You also explore the components that make up the Windows Azure Platform. Specifically, you look at the Microsoft data centers and the hardware and software that host Windows Azure applications and data. You also look at the development environment. What does it take to produce Windows Azure applications? Finally, you explore the various parts of the Windows Azure platform to include Windows Azure, SQL Azure and the App Fabric.
Lab : Introduction to Windows Azure
In this module you explore the details of Web roles introduced in the last module. Web roles are essentially Web sites or HTTP services running in the cloud. As part of your exploration of Web roles, you learn some of the Windows Azure API you can use in roles and about how to configure roles. While Web roles run in Microsoft data centers, you test and debug them in your local machine using the Compute Emulator. So, in this module, you also explore details about the Compute Emulator and how to explore what’s going on in the Compute Emulator as your code executes.
Lab : Building a Web Role
Most applications use files from the server’s file system for something. Cache, simple reference data, logging, etc. are all possible uses of files and file space in a “normal” .NET application. Windows Azure computing instances (Web or worker roles) run on a VM, but share the physical server’s resources. So how does a Windows Azure application use and access a file system? This chapter covers Windows Azure local storage. That is how applications can access, to some extent, files in the cloud. This chapter also covers a number of limitations of using local storage as well as the good and bad uses of local storage. Additionally, you learn about alternatives to local storage; most notably a product called Windows Azure Drive.
Lab : Using Local Storage
There are multiple administrator roles in Windows Azure. Some administrators are responsible for paying for the services used in Windows Azure. Other administrators deploy applications and data. Still other administrators need to manage and maintain the applications and data put in the cloud. This chapter covers a number of miscellaneous administration tasks and items with regard to Windows Azure. In addition, this chapter addresses some additional administrative capabilities that don’t always apply to the development of an Azure application, but may be helpful in the care and management of Azure applications in general.
Lab : Configuring and Using Remote Desktop
Windows Azure Storage provides highly scalable and available data storage to both cloud and on-premise services. It is not relational database storage. In fact, some types of Windows Azure Storage are quite different from relational or structured storage. In this module, you explore what Windows Azure Storage is, why you want to use, and how to access it. Once you have a general understanding of Windows Azure Storage, you explore in detail the first of three types of Windows Azure Storage; namely queue storage. Queues provide interoperable message communication between services and are not unlike what you might have seen if you have used MSMQ or IBM’s MQ Series.
Lab : Learning Windows Azure Storage and Queues
In this module, you learn about the second of three Windows Azure Storage data storage facilities called blob storage. Blob storage provides a place to store any type of data (MP3 file, PDF document, flat text, etc). All instances of the application share this common storage. In fact, the storage can even be accessed by applications outside of the cloud.
Lab : Using Blob Storage
Table storage is the last of Windows Azure Storage data services explored in this class. Table storage provides structured storage similar, but not the same, as a traditional database may offer. In many ways, table storage is simpler and more scalable than a traditional database. It also costs less to put data in table storage than a relational database in the cloud. In this module, you learn how to use Windows Azure table storage. You also learn how it differs from SQL Azure. You also learn how to use table storage to implement sessions used by multiple roles.
Lab : Using Table Storage
Web roles exist to serve HTTP content. Worker roles, on the other hand, are processing work horses that can do just about anything you would like them to do. Generally speaking, worker roles serve as backend processors. By default, worker roles don’t even have an interface with which to communicate with them. The standard and accepted means to communicate with worker roles is to have them react to messages deposited into a Windows Azure Storage queue. In this module, you explore worker roles: their purpose, how to create and configure them, and how to communicate with them.
Lab : Building a Worker Role
In this module you learn about SQL Azure. SQL Azure is a relational database in the cloud. Use SQL Azure to support applications in the cloud or on-premise. Use SQL Azure as a backup storage facility. Use SQL Azure as an easily and quickly provisioned database for prototyping, rapid development, and testing. SQL Azure is a highly scalable, available relational database maintained and operated by Microsoft yet familiar to SQL Server users.
Lab : Introduction to SQL Azure
Most developers are accustomed to debugging applications. Debugging in the cloud is a bit more complex. Most developers are also familiar with the process of collecting various logs to analyze problems that occur in hardware and software systems. Windows Azure has log files. Unfortunately, since the hardware and file system of the Windows Azure data center systems are not directly at your disposal, getting data from the log files requires a little more work. In this optional module, you learn about the Windows Azure Diagnostic Service. The API provided through this service grants you access to collect all the log data you would normally desire from your Windows system. The diagnostic service also provides the means to move that data to Windows Azure Storage so it may be externally accessed.
Lab : Diagnostics