This course covers the development process involved with the creation of Cloud-based Applications using Windows Azure, .NET 4 and Visual Studio 2010. You will become familiar with all of the technologies and tooling offered in the Windows Azure Platform. As well, the course provides participants with guidelines on how to design and implement Cloud-based applications within their own corporate environment.
Course Outline
Overview of the Windows Azure Platform
This module will describe the fundamentals of cloud computing, as well as how Windows Azure fits into the picture.
- What is Cloud Computing?
- Understanding the Windows Azure Platform
- What are the possibilities and challenges?
Framework of a Cloud application
While some aspects of a Cloud application are not that different from a terrestrial one, there are considerations that must be given to take advantage of the Cloud’s benefits. In this module, you will learn about the decision points and design choices you need to make to create a scalable application hosted on the Azure platform.
- Building applications for scalability, manageability and availability
- Development tooling for building Cloud applications
- Packaging and deploying your Cloud applications
Data Storage in the Cloud
Cloud applications have the same sort of data storage requires as their terrestrial brethren. This module examines the different technologies that are available and demonstrates the techniques that can be used to persist data in the Cloud.
- Windows Azure Storage Overview
- Working with asynchronous Windows Azure Queues
- Working with Windows Azure Tables
- Manipulating Azure Tables using ADO.NET Data Service
- Storing files in Azure Blobs
- Azure Drives
The AppFabric Service Bus
One of the fundamental requirements in Cloud applications is the ability to establish connections between other applications, whether Cloud-based or terrestrial. In this module, you will learn about the AppFabric Service Bus and how it can be used to create hybrid, connected applications using components on the Internet, behind firewalls, hosted on Cloud servers or running on a desktop.
- What type of connectivity problems is the Service Bus addressing?
- Using the Service Bus Relaying Service
- Exploring the Service Bus Service Registry
- Looking at the different Relay Bindings
- Building highly scalable and reliable systems with the Service Bus Queues
- Discovering the Direct/Hybrid Relay
AppFabric Access Control
Cloud applications are not immune from authentication and authorization requirements. The AppFabric Access Control is a Cloud service that provides this functionality. In this module, you will learn about the standards used by AppFabric Access Control and how they can be used in your Cloud application.
- Claim-based Identity
- The community claim-based REST Standards
- The Access Control Service Scenarios
- How to manage the Access Control
Monitoring your Cloud applications
As with any applications, once your Cloud application is deployed, you will need to monitor and log its behaviour. In this module, you will learn about the different options and tools provide by Windows Azure to analyse the health of your application and track possible problems.
- Enabling Azure diagnostics
- Working with the Event Log
- Tracking activity with performance pointers
- Tracing the IIS logs
- How to transfer diagnostic data to Azure Storage?
SQL Azure
Beyond the data storage options already covered, SQL Azure is a relational database service that provides functionality similar to SQL Server…but in the Cloud. This module will introduce you to SQL Azure, including a demonstration of how to it can be used, the similarities and differences with SQL Server and the benefits that can be achieved through use.
- SQL Azure network topology
- SQL Azure feature set
- The SQL Azure gateway
- How to connect to SQL Azure?
- Migrating data to SQL Azure
Approaches to Scalability
One of the selling points of Windows Azure is its scalability. However the potential for immediate scaling does not preclude a good design aimed at maximize this capability. In this module, we look at techniques that are appropriate for applications that need to grow quickly and robustly.
- Different types of scalability
- Using caching to reduce the need for scaling
- Scaling for the elastic cloud