IT departments have long faced the problem of planning for and providing sufficient processing, storage, and network bandwidth to meet the needs of the busiest times on the calendar. Application developers have distributed processing between workstations and servers within a single enterprise but crossing enterprise boundaries has proven more difficult. End users have struggled to remember a different login ID for each service they use.
Microsoft® Azure™ Services Platform addresses these issues by moving computing "into the cloud." With the Azure Services Platform, processing and storage moves from individual corporate servers and websites to large Microsoft data centres.
With cloud computing, corporate processing, storage, and network capacity no longer must be scaled to meet the highest expected level of demand. Microsoft's data centres contain processing and storage resources sufficient to meet maximum levels of demand.
Cloud-based applications and storage make it easier to share data. Enterprises can make applications available to partners without requiring users to remember different login credentials for the services each partner provides. Because all partners access the same cloud resident data, changes made by one application are automatically available to all.
While applications that execute in the cloud must be designed for the Windows environment, non-Windows based applications can access services on the Azure Services Platform using industry standards. Applications communicate with the cloud using HTTP and SOAP (Simple Object Access Protocol), while services and data are identified and accessed using URIs (Uniform Resource Identifiers). Developers administer services on the Azure Services Platform via a browser-accessible portal.
Azure Services Platform
- Windows Azure provides scalable computation and storage to user applications and to other Azure Services Platform components.
- .NET Services coordinate user login credentials across differing security schemes and offers distributed infrastructure services to cloud-based and local applications.
- SQL Services provide data storage for applications running in the cloud and in corporate data centres.
- Live Services allows users to coordinate data across all of their devices and selectively share data with friends and associates.
Let's look at each in more detail.
Windows Azure applications and storage are hosted in Microsoft data centres. Compute service provides powerful servers, and storage service provides high-capacity storage. These resources can be accessed as required, paying only for the services used, i.e. more intensively during busy times of the month and less intensively during slower periods. By moving applications to Windows Azure, IT no longer needs to backup and archive data, configure servers, staff for 24x7 operation, or create contingency plans to deal with equipment failure. Microsoft provides all of these services.
Security is assured by executing applications in dedicated virtual machines. Each VM provides a 64-bit Windows Server 2008 environment. Applications from multiple Windows Azure client companies may be executing on the same server hardware, but VMs prevent data leakage from one to the other. VMs also provide scalability. Additional VMs are allocated as processing load increases.
The storage service supports: storage of large binary files or blobs; table-structured data that is accessed using a query language; and also provides data queues to connect the output of one application to the input of another.
As an environment for web applications, Windows Azure supports ASP.NET® and WCF (Windows Communications Foundation). Developers can continue to use familiar tools such as Visual Studio® 2008 and build on .NET Framework.
Because Microsoft's data centres provide high throughput Internet connections, it is not necessary to estimate how much traffic a new web application will draw. When the new application proves successful, users will not be frustrated by slow access to the site. When traffic exceeds the capacity of a single instance of the application, Windows Azure starts up another VM with another instance of the application; a load balancer distributes traffic among application instances.
Non-web, background Windows applications can exchange data with web applications and access storage services. Both web and non-web applications can write to logs or send messages to application owners via Windows Azure interfaces.
Applications executing outside the cloud in corporate data centres can also access storage services. These applications communicate with the storage service using the REST (Representational State Transfer) model, with HTTP as the underlying protocol.
The .NET Services component of the Azure Services Platform provides tools that assist developers building distributed applications that cross enterprise boundaries.
.NET provides these services:
- Access Controls
- Service Bus
- Workflow Service
* Access Controls* translate login credentials so a single set of credentials can be used across applications from different enterprises. Application developers specify how to map login credentials created in one environment to access privileges required in another environment.
* Service BusM* provides a connection service that links the output of one application to the input of another. The applications may belong to different enterprises. They may both be running in the cloud, one may be in the cloud and the other in a corporate data centre or both may be in corporate data centres. Ownership and locations of the applications are completely transparent to end users.
* Workflow Service* builds on Workflow Foundation, a component of the.NET Framework. Workflow Service coordinates application components that may be scattered across multiple corporate data centres or in the cloud.
SQL Data Services - the first announced component of SQL Services - provides storage space on servers in Microsoft data centres for cloud-based applications and those residing in corporate data centres.
Unlike the Windows Azure storage service, SQL Data Services is built on Microsoft SQL Server®. However it does not offer the relational interface provided by previous SQL Server implementations. The benefit: A different set of services in the cloud can provide better scalability, availability, and reliability with faster replication and load-balancing than simply porting SQL Server to the cloud.
Applications executing on non-Microsoft platforms communicate with SQL Data Services using the REST model and can issue queries using a syntax similar to the Language Integrated Query (LINQ) syntax introduced in .NET Framework 3.5.
In the future, Microsoft plans to add additional capabilities such as reporting and data analytics to SQL Services.
Windows Live features email, messaging, a calendar, as well as photo and blog storage space, all accessible with a single Live ID. Azure Services Platform Live Services provide cloud-based processing and storage space for all of these services and a basis upon which new services can be added.
Access to Live Services data is provided via the Live Operating Environment. Versions of Live Operating Environment can also be downloaded and installed on Windows Vista®, Windows XP®, Macintosh OS X, and Windows Mobile® 6. Desktops, laptops and mobile phones supporting any of these operating systems can be grouped into a mesh. Live services can automatically synchronise data such as contact lists and calendars across all of the systems in the mesh. The mesh's owner can also choose to share some or all of this data to friends and co-workers.
Each system in the mesh maintains a local copy of the data. When the system isn't connected to the Internet, the local copy is used. If the local copy is updated later, when the system is next connected to the Internet, Live Services updates the other mesh members with the modified data.
Because access to Live Operating Environment and supported data is via HTTP, any application—not just those running on any of the supported operating systems—can join the mesh.
Enabling New Applications
Together, Windows Azure, .NET Services, SQL Services and Live Services solve problems for IT and for end users. They make possible new applications. Corporate partners can create an array of services, all accessible with a single user login ID, with all data stored in the cloud and accessible from any system in the user's mesh. Processing in the cloud guarantees excellent performance at all times.