Windows Azure Cloud Platform
The Microsoft Windows Azure platform is a Cloud Computing environment that allows customers to run applications and store data in Microsoft data centers around the world. The core of the Azure platform is the Windows Azure cloud-based operating system. This operating system provides the compute, storage, and networking capabilities required by Cloud Computing applications, as well as essential connectivity and security related services, such as the Service Bus and the Access Control module . In addition, there is a cloud-based relational database, known as SQL Azure, which can be used to hold proprietary data that is normally held in a customer’s relational database.
REST (Representation State Transfer) is an architectural style that abstracts the underlying physical architecture used by a distributed system. The term REST was first used by Roy Fielding, one of the primary authors of the HTTP specification, in his doctoral dissertation. A brief description is included here because Windows Azure makes heavy use of this architectural style.
With the REST architecture, all resources are accessed through a standard Interface. In the Windows Azure environment, this standard Interface is HTTP. A component that implements the REST architecture is known as a RESTful component. A user that calls a REST component is known as the consumer, and the consumer accesses the component using a URL. The consumer only needs the URL, and a method for interpreting the data returned by the response. The underlying application and the system architecture behind a RESTful component are irrelevant. Changes in the underlying architecture and implementation can change, as long as the response data and reference URL remain the same.
Windows Azure uses a computing fabric to provide the common building blocks needed to create robust enterprise-level applications. A computing fabric is a highly virtualized software infrastructure that spans multiple computing resources. These resources include processors, memory, physical storage and peripherals, which are loosely coupled with each other. The goal of the fabric is to abstract the physical computing architecture from the developer. Thus, a fabric appears as a single system regardless of how many actual systems are used make up the fabric. This fabric infrastructure allows for the dynamic scalability that is essential for a pay-for-usage Cloud Computing environment. The Windows Azure Fabric, known as the AppFabric, is comprised of two primary areas of functionality, compute and storage.
The Azure AppFabric Compute service is what makes it possible for an application to execute in the cloud. This service is a Windows Sever virtual machine hosted in a Microsoft Data Center. As a result, the scalability of this operating environment is simply a configuration matter and the deployed application can scale without theoretical limits.
The Azure Compute Service provides support for the .Net framework, unmanaged code, and other development approaches. Applications written with Visual Studio, using languages such as C#, Visual Basic, C++, and Java are supported. In addition, other technologies such as PHP and Windows Communication Foundation (WCF) are supported.
The Azure AppFabric Storage service provides data storage for simple tables, blobs (binary objects), and queues. This is not a relational database and the storage service is not queried using SQL. The data in the storage server can be manipulated with the REST API (application programming Interface), which is based on HTTP requests. This approach to data storage allows anyone, regardless of platform, to integrate with the storage services. The Azure Storage service can be accessed by applications running in the cloud, and by on-site applications outside of the cloud. In either case, the REST API is used.