A deeply introduction of Windows Azure Platform – Part 2: Windows Azure
In a high level point of view, Windows Azure is very simple: It runs Windows applications and stores data in the cloud. Following picture describes its components.
Windows Azure provides compute and storage services in the cloud.
The five parts of Windows Azure today, are the following:
• Compute: The Windows Azure compute service runs applications on a Windows Server foundation. These applications can be created in any .Net languages like C# and Visual Basic, or any other supported language like C++, Java, PHP, Ruby, and others. Developers can use Visual Studio or any other development tools, and they are free to use technologies such as ASP.Net, Windows Communication Foundation (WCF) and PHP.
• 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, and both do it in the same way: using a RESTful approach.
• Fabric controller: As the figure suggests, 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.(you can see the CDN guide on other post here in the blog: https://galvesribeiro.wordpress.com/2010/11/08/windows-azure-cdn-guide/)
• 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.
Running applications and storing data in the cloud can have clear benefits. Rather than buying, installing, and operating its own systems, for example, an organization can rely on a cloud provider to do this for them. Also, customers pay just for the computing and storage they use, rather than maintaining a large set of servers only for peak loads. And applications written for Windows Azure can scale better, be more reliable, and require less administration than those written using the traditional Windows Server programming model.
To create, configure, and monitor applications, Windows Azure customers can use a browser-accessible portal. A customer logs in with a Windows Live ID, then chooses whether to create a hosting account for running applications, a storage account for storing data, or both. Microsoft then charges each customer based on how much compute time, storage, and bandwidth that customer uses. How an application charges its own customers—if it charges them at all—is entirely up to the people who create that application.
Windows Azure is a general platform that can be used in a broad set of scenarios. Here are a few examples:
• An independent software vendor (ISV) creating a software-as-a-service (SaaS) version of an existing on-premises Windows application might choose to build it on Windows Azure. Because Windows Azure mostly provides a standard Windows environment, moving the application’s business logic to this cloud platform won’t typically pose many problems. And once again, building on an existing platform lets the ISV focus on business logic—the thing that makes them money—rather than spending time on infrastructure.
• An enterprise creating an application for its customers or employees might choose to build it on Windows Azure. Because Windows Azure supports .NET, developers with the right skills aren’t difficult to find, nor are they prohibitively expensive. Running the application in Microsoft data centers frees the enterprise from the responsibility and expense of managing its own servers, turning capital expenses into operating expenses. And especially if the application has spikes in usage—maybe it’s an on-line flower store that must handle the Mother’s Day rush—letting Microsoft maintain the large server base required for this can make economic sense.
• A start-up creating a new Web site—the next Facebook, say—could build its application on Windows Azure. Because this platform supports both Web-facing services and background processes, the application can provide an interactive user interface as well as executing work for users asynchronously. Rather than spending time and money worrying about infrastructure, the start-up can instead focus solely on creating code that provides value to its customers and investors. The company can also start small, incurring low costs while its application has only a few users. If the application catches on and usage increases, Windows Azure can scale the application as needed.
These three examples illustrate the kinds of things organizations might do with Windows Azure, but they’re not an exhaustive list. As interest in cloud computing continues to grow, expect to see a variety of applications created for this cloud platform. That’s all for Windows Azure. See you in the next blog post where I’ll explain SQL Azure.