Overview
Course Description
Thank you for reading this post, don't forget to subscribe!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.
Audience Profile
This class is designed for .NET developers with Web application experience that are exploring developing new applications or porting existing applications to Windows Azure.
Prerequisites
Before attending this course, students must have:
- Experience with Visual Studio 2010 or better is required.
- Knowledge and experience in a .NET language (C# or VB) is required.
- Knowledge of ASP.NET is required.
Learning Objectives
After completing this course, students will be able to:
- Understand cloud computing in its various forms and how Windows Azure fits in the cloud computing space.
- Learn why organizations want to run applications in the Azure cloud.
- Understand the architecture of Azure.
- Explore the Azure SDK and development environment (Compute and Storage Emulators).
- See how to develop applications for Azure and how that varies from “normal” .NET application development.
- Write and deploy an ASP.NET Web application (Web Role) to Azure.
- Learn how to create and deploy background computational applications (Worker Role) in Azure.
- Explore Azure Storage capability to include table, queue and blob storage.
- Examine SQL Azure, the relational database in the cloud.
- Study how SQL Azure differs from Azure Storage.
Course Outline
Course Outline
Module 1: Cloud Computing
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?
Lessons
- Define cloud computing.
- Learn the benefits of cloud computing.
- Understand the different types of cloud computing services.
- Explore where computing clouds might exist.
- Hear about potential concerns with cloud computing.
- Learn where cloud computing can and cannot be applied.
- Place Windows Azure in light of general cloud computing.
- Know how Windows Azure compares to other cloud environments.
Lab : Windows Azure Account Setup (Optional)
After completing this module, students will be able to:
- Understand the different types of cloud computing offerings.
- Explain how Windows Azure fits into the cloud computing landscape.
- Set up a Windows Azure account.
Module 2: Windows Azure Architecture
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.
Lessons
- See a simple Windows Azure application.
- Learn about the Microsoft data centers.
- Explore the hardware, servers and virtualization (the Fabric) that host cloud applications and data.
- Understand the role of the Fabric Controller in managing the Windows Azure cloud.
- Know the general architecture and components of the Windows Azure Platform.
- Understand the tools used to create and deploy Windows Azure services and data stores.
- Understand the different types of roles in Windows Azure (Web, worker, VM).
- Understand the types of storages provided by the Windows Azure Platform (Azure Storage, SQL Azure, etc.)
Lab : Introduction to Windows Azure
After completing this module, students will be able to:
- Understand the pieces of the Windows Azure platform.
- Explore the Windows Azure Developer Portal.
- Setup a cloud project in Visual Studio.
- Understand the difference between the Compute and Storage Emulators and Windows Azure.
Module 3: Windows Azure Web Roles
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.
Lessons
- Explore the purpose of Windows Azure Web roles.
- Understand how to create Web roles in a cloud service project.
- See how to configure a Web role.
- Learn how to test Web roles run in the Compute Emulator.
- Start exploring the Windows Azure API.
- Examine how to build Web roles with multiple Web sites.
Lab : Building a Web Role
After completing this module, students will be able to:
- Explore migrating ASP.NET applications to Windows Azure.
- Build a simple Windows Azure cloud application.
- Dynamically configure a Windows Azure cloud application through the Developer Portal.
- Determine the costs of running an application in Windows Azure.
Module 4: Local Storage
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.
Lessons
- Examine Windows Azure local storage.
- See how local storage differs from normal server file systems.
- Learn how to configure local storage.
- Understand the limitations of local storage and where/when to use it.
- Explore the API to access local storage.
- Learn about Windows Azure Drive (formerly X-Drive).
Lab : Using Local Storage
After completing this module, students will be able to:
- Create local storage for use by a Windows Azure application.
- See Windows Azure scalability through multiple role instances.
- Design applications use of the file system using local storage or Azure Drive.
Module 5: Windows Azure Administration
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.
Lessons
- Explore the various Windows Azure subscription administrators.
- Understand Windows Azure OS Families and Guest OS Versions.
- See how to Remote Desktop to a Windows Azure virtual machine.
- Learn how to define a startup task for a role.
Lab : Configuring and Using Remote Desktop
After completing this module, students will be able to:
- Better manage Windows Azure administrative accounts.
- Know how to deploy an application to the cloud directly from Visual Studio.
- Configure applications for Remote Desktop access.
- Explore a virtual server running Azure applications using Remote Desktop.
Module 6: Windows Azure Storage and Queues
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.
Lessons
- Understand the purpose of Windows Azure Storage.
- Learn how to create a Windows Azure Storage account.
- Explore Windows Azure Storage costs.
- Understand the Storage Emulator, how to use it, and how it is different from Windows Azure Storage.
- See how to access Windows Azure Storage using both the REST API and the Storage Client Library.
- Examine Windows Azure Storage Queues.
- Learn how to get messages in and out of Windows Azure Queues.
Lab : Learning Windows Azure Storage and Queues
After completing this module, students will be able to:
- Setup Windows Azure message queue.
- Create a Windows Azure Storage Account.
- Use the Windows Azure Client library to access Windows Azure storage
- Deploy applications to Windows Azure that use Windows Azure Storage.
- Understand the difference between the Storage Emulator and Windows Azure Storage.
- Explore Windows Azure Storage with external tools.
Module 7: Blob Storage
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.
Lessons
- Understand the rationale for using blob storage.Learn about the different types of blobs: block and page blobs.
- Examine blob storage containers and how they are used to organize and control access to blobs.
- Explore how to access blob storage with both the Storage Client and REST API.
Lab : Using Blob Storage
After completing this module, students will be able to:
- Access blob data from Windows Azure or on-premise applications.
- Use the Windows Azure Client library or REST to access blob storage.
Module 8: Table 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.
Lessons
- Explore Windows Azure Storage’s structural data service.
- Understand the reason for table storage.
- Examine the differences between table storage and traditional relational databases (as exhibited by SQL Azure).
- Learn how to access table storage with both the Storage Client and REST API.
- Understand entities as they relate to table storage.
- Examine how to save and retrieve entities in table storage.
Lab : Using Table Storage
After completing this module, students will be able to:
- Design applications that need structured tabular data.
- Create and use tables in Windows Azure.
- Design entities that are stored in table storage.
Module 9: Worker Roles
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.
Lessons
- Explore the purpose of Windows Azure worker roles.
- Understand how to create worker roles in a cloud service project.
- See how to configure a worker role.
- Learn how to test worker roles run in the Compute Emulator.
- Learn how to use Windows Azure Storage queues and messages to communicate with worker roles.
- Explore how to setup worker role endpoints.
- Learn how to communicate with worker role internal and input endpoints.
Lab : Building a Worker Role
After completing this module, students will be able to:
- Build backend processors in Windows Azure.
- Design and build complete end-to-end applications for Windows Azure.
- Better use queue and table storage.
- Create role to role communications in Windows Azure.
Module 10: SQL Azure Introduction
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.
Lessons
- Learn what SQL Azure is and why you want to use it.
- Understand SQL Azure in comparison to SQL Server and Windows Azure table storage.
- Learn how to provision a SQL Azure server and databases.
- Examine costs associated with SQL Azure.
- See how to use familiar tools and APIs to work in SQL Azure.
- Explore how to create and manage database objects in SQL Azure.
- Know how to limit SQL Azure access.
- Understand options for performing database backups.
- See how to migrate data to SQL Azure.
Lab : Introduction to SQL Azure
After completing this module, students will be able to:
- Make design decisions between table storage and SQL Azure.
- Determine the cost of storing data in Windows Azure.
- Setup SQL Azure databases through the Developer Portal.
- Migrate data from on-premise SQL Server databases to SQL Azure.
Module 11: Diagnostics
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.
Lessons
- Learn how to accomplish debugging and logging in Windows Azure.
- Examine Windows Azure Diagnostic Service.
- Understand the role of the Diagnostic Agent process in the diagnostic service.
- Learn how to configure the diagnostic service.
- See how to transfer diagnostic data to Windows Azure Storage.
Lab : Diagnostics
After completing this module, students will be able to:
- Design and build logging and debugging needs into their applications.
- Use Windows Azure Diagnostic Services to capture log/diagnostic data.
- Transfer data from Windows Azure to specified storage.