Windows Azure provides developers with on-demand compute, storage, networking and content delivery capabilities to host, scale and manage Web applications on the Internet through Microsoft data centers. Windows Azure serves as the development, service hosting and service management environment for the Windows Azure platform.
The five parts of Windows Azure today are the following:
- Compute: A Windows Azure compute hosted service consists of one or more roles. A role defines a component that can run in the execution environment within Windows Azure. Code running within a hosted service can be created using the .NET Framework in languages such as C# and Visual Basic, or they can be built without .NET in C++, Java, and other languages. Developers can use Visual Studio or other development tools, and they’re free to use technologies such as ASP.NET, Windows Communication Foundation (WCF), and PHP within their roles.
- Storage: This service allows storing binary large objects (blobs), provides queues for communication between components of Windows Azure applications, and even offers a form of tables with a simple query language. (Windows Azure applications that need traditional relational storage can also use SQL Azure.) Both Windows Azure applications and on-premises applications can access the Windows Azure storage service, using either REST APIs or managed APIs.
- Fabric controller: Windows Azure runs on a large number of machines. The fabric controller’s job is to knit the machines in a single Windows Azure data center into a cohesive whole. The Windows Azure compute and storage services are then built on top of this pool of processing power.
- Content delivery network (CDN): Caching frequently accessed data closer to its users speeds up access to that data. The Windows Azure CDN can do this for blobs, maintaining cached copies at sites around the world.
- Connect: It’s often useful for organizations to interact with cloud applications as if they were inside the organization’s own firewall. Windows Azure Connect allows this, making it easier for, say, a Windows Azure application to access an on-premises database.
For more information about Windows Azure, check out the following resources: