Microsoft Azure
Introduction
Microsoft Azure Platform is a Microsoft cloud computing platform used to build, host and scale web applications through Microsoft data centers. Azure is classified as "platform as a service" and forms part of Microsoft's cloud computing strategy, along with its software as a service offering, Microsoft Online Services. The platform consists of various on-demand services hosted in Microsoft data centers and commoditized through three product brands: these are Azure (an operating system providing scalable compute and storage facilities), SQL Azure (a cloud-based, scale-out version of SQL Server) and Azure AppFabric (a collection of services supporting applications both in the cloud and on premise).
Overview
The Azure Platform is an application platform in the cloud that allows Microsoft datacenters to host and run applications. It provides a cloud operating system called Azure that serves as a runtime for the applications and provides a set of services that allows development, management, and hosting of applications off-premises. All Azure Services and applications built using them run on top of Azure.
Azure has three core components:
Compute provides a computation environment with Web Role, Worker Role and VM Role.
Storage focuses on providing scalable storage (BLOBs, non-relational Tables and Queues) for large-scale needs. Relational Database functionality is offered through SQL Azure, which is a scalable version of SQL Server that runs on the Azure platform.
Fabric is the networking underpinnings of the Azure platform which uses high-speed connections and switches to connect nodes consisting of several servers together. The Fabric along with the Compute and Storage resources make up the Azure Platform.
Fabric resources, applications and services running are managed by the Azure Fabric Controller service: it acts as the kernel of the Azure distributed cloud operating system, providing scheduling, resource allocation, device management, and fault tolerance for the nodes in the Fabric. It also provides high-level application models for intelligently managing the complete application lifecycle, including deployment, health monitoring, upgrades and de-activation.
The Azure Platform provides an API built on REST, HTTP and XML that allows a developer to interact with the services provided by Azure. Microsoft also provides a client-side managed class library which encapsulates the functions of interacting with the services. It also integrates with Microsoft Visual Studio so that it can be used as the IDE to develop and publish Azure-hosted applications.
Services
Azure provides the following services
- Azure Cloud Services
- Web Role
- Worker Role
- VM Role
- Azure Service Bus
- Queues
- Topics
- Subscriptions
- Notifications
- Relays
- Azure Storage
- Table
- Queue
- Blob
- SQL Database
- SQL Azure Data Sync
- SQL Azure Reporting
- Content Delivery Network
- Azure Active Directory
- Caching
- Azure Market Place
- Azure Media Services
- Azure Mobile Services
- Microsoft Codename Data Hub
- Azure Virtual Networks
- Azure Virtual Machines
- Azure Virtual Network
- Azure Connect
- Azure Traffic Manager
Implementation
The Azure platform uses a specialized operating system, called Azure, to run its "fabric layer" — a cluster hosted at Microsoft's datacenters that manages computing and storage resources of the computers and provisions the resources (or a subset of them) to applications running on top of Azure. Azure has been described as a "cloud layer" on top of a number of Windows Server systems, which use Windows Server 2008 and a customized version of Hyper-V, known as the Azure Hypervisor to provide virtualization of services. The platform includes five services — Live Services, SQL Azure (formerly SQL Services), AppFabric (formerly .NET Services), SharePoint Services and Dynamics CRM Services — which the developers can use to build the applications that will run in the cloud. A client library, in managed code, and associated tools are also provided for developing cloud applications in Visual Studio.
Scaling and reliability are controlled by the Azure Fabric Controller so the services and environment do not crash if one of the servers crashes within the Microsoft datacenter and provides the management of the user's web application like memory resources and load balancing.
The Azure Services Platform can currently run .NET Framework applications compiled for the CLR, while supporting the ASP.NET application framework and associated deployment methods to deploy the applications onto the cloud platform. It can also support PHP websites. Two SDKs have been made available for interoperability with the Azure Services Platform: the Java SDK for AppFabric and the Ruby SDK for AppFabric. These enable Java and Ruby developers to integrate with AppFabric Internet services. Access to Azure libraries for .NET, Java, and Node.js is now available under Apache 2 open source license and hosted on GitHub. A new Azure SDK for Node.js makes Azure a first-class environment for Node applications and a limited preview of an Apache Hadoop-based service for Azure enables Hadoop apps to be deployed in hours instead of days.
Community Resources
Web Pages
Technical Articles
- Developing and Deploying Azure Apps in Visual Studio 2010 (MSDN Magazine, April 2010)
- Azure: Getting to Know the Runtime Environment (TechNet Magazine, June 2010)
- Azure: Cost Architecting for Azure (TechNet Magazine, October 2010)
- Azure: Understanding Security Account Management in Azure (TechNet Magazine, February 2011)
TechNet Wiki
- How to Create a Developer Virtual Machine on Microsoft Azure
- How to Remotely Debug Azure Websites
- Streaming Videos using Azure Media Services & ASP.NET
Forums
Blogs
See Also
Wiki Pages
NOTE: the following links are external to TechNet Wiki.
Articles
- Hello Azure (The Code Project, 27 October 2009)
Social Media
Other Languages
This article is also available in the following languages: