Friday, 3 June 2011

Windows Azure Implementation

Microsoft Azure Platform in Details
Cloud computing, internet based computing, it’s a technology which delivers hosted services over the Internet, these services are broadly divided into three categories:
Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service (PaaS)
Software-as-a-Service (SaaS).


In the Microsoft’s bright Cloud, azure is in the PaaS category.

A platform is a service designed for developers to create applications.
When creating an application in the cloud choosing a platform in the cloud is be the best choice.
Windows Azure is a collection of cloud services put together to provide a specific set of services to application developers.
The windows azure platform is accessible by both application running in the cloud and those on-premises.

The Windows Azure lets you rent computing resources that reside in Microsoft datacentres, and the amount you pay for that rent depends on how much of those resources you use. With Windows Azure, customers do not need to invest upfront on expensive infrastructure. That’s why Window Azure is known of being cost efficient.

The components of the Windows Azure platform are:

Windows Azure: Provides a Windows-based environment for running applications and storing data on servers in Microsoft datacentres. It’s effectively a “cloud OS.”

Windows Azure is a service that allows developers to run applications and store data on servers owned and operated by Microsoft. The Windows Azure compute service is based, of course, on Windows.
Within Windows Azure, running instances of a role are replicated across multiple computers to implement all or part of the functionality of a service.

A service must include at least one role of either type, but may consist of any number of web roles or worker roles.
Web role: A web role is a role that is customized for web application and includes Internet Information Services (IIS) and can accept HTTP and HTTPS Requests. A Web Role talks to a Worker Role indirectly through a queue or you can talk directly using Windows Communication Foundation (WCF).

Worker role: Not everything you may want to run in Windows Azure is a Web application, so Windows Azure also provides Worker role which is not configured with IIS and is primarily for background processing for a web role, such as queuing, monitoring, or ticket-system scenario and is useful for generalized development.

Web and Worker roles can communicate with each other via technologies like WCF, or using Windows Azure Storage queues. Regardless of role, Web and Worker roles will need to store data. Windows Azure provides three storage options, Blobs, Tables and Queues. Blobs are the easiest to use.
Blobs: Provide a simple interface for storing named files along with metadata for the file.
Blobs allow storing large binary objects, such as videos and images.

Tables: Provide structured storage. To allow applications to work with data in a more granular way, Windows Azure storage provides tables. These aren’t relational tables. The data they contain is actually stored in a set of entities with properties.
Windows Azure Storage tables are expressly designed to hold very large amounts of data, much more than can be managed by a single relational database management system.
Web role or Worker role—runs inside its own virtual machine (VM). This provides isolation, letting Windows Azure applications run with full trust, and it also allows a clear view into application performance, since there’s a defined mapping between VMs and processor cores.
If an instance fails, Windows Azure will start a new one, making sure that the specified number of Web role and Worker role instances are always running. Windows Azure automatically creates or shuts down VMs to match this new setting.

Queues: provide reliable storage and delivery of messages for an application
We use queues primarily to provide a way for Web role instances to communicate with Worker role instances.

The Web role/Worker role division in Windows Azure is intended to help create massively scalable applications by dividing work between a Web front end and Worker back end. Windows Azure worker role hosts the WCF service, which listens on an external TCP endpoint that you configure for this role. The service implements a duplex contract over a TCP channel that allows clients to register, send and receive messages, and receive notifications from the service over the same channel.
Developers can create Windows azure application with Visual Studio, This tool provides templates for creating cloud applications as Web roles, Worker roles, or both.

SQL Azure: Provides data services in the cloud based on SQL Server.

SQL Azure Database is a cloud based relational database service from Microsoft. SQL azure is similar to SQL Server. Data is stored in SQL Azure just like it is stored in SQL Server, by using the familiar relational data model.
Administering database, security, logins, users and roles and all logical administration done by the administrator the only difference is the hardware admin, unlike SQL Server Microsoft administers and configures the physical hardware such as servers and storage. Databases associated with your SQL Azure server may reside on separate physical computers within the Microsoft datacentre.
SQL Azure automatically replicates multiple redundant copies of your data to multiple physical servers to maintain data availability and business continuity therefore in case of a server failure you won’t lose your database, it will switch to the backup copies of your database.
You can connect from on-premises Reporting Server or Analysis Server to SQL Azure and SQL Azure can be used either as a data source or destination to take advantage of the on-premises facilities provided by SQL server.

AppFabric: Provides cloud services for connecting applications running in the cloud or on premises.
Windows Azure does two main things: It runs applications and it stores their data.
Windows Server AppFabric is application infrastructure for running and managing your services

Windows Server AppFabric has two parts:

AppFabric Caching Services: which can speed up access to frequently accessed information such as session data used by an ASP.NET application.

The Cache is a place to store data so that your applications can perform and scale better. The cache can be distributed across as many machines as you want, but the developer doesn't have to worry about which machine this data is on.
AppFabric supports both implicit and explicit cache so it gives you the ability to programmatically add, remove, and manage items and also you can take advantage of default caching for common scenarios.
AppFabric Caching Services also allows for copies of data to be stored across the cluster, thus protecting data against failures

AppFabric Hosting Services: formerly code-named Dublin, provides tools for deploying, managing and controlling applications built using Windows Communication Foundation (WCF), especially those built using Windows Workflow Foundation(WF).

AppFabric Hosting Services, Windows Communication Foundation and Windows Workflow Foundation, Microsoft said.

The two parts of Windows Server AppFabric, AppFabric Caching Services and AppFabric Hosting Services, can each be used independently.
The Windows Server AppFabric Cache stores .NET objects, scales seamlessly, and manages data location and redundancy by distributing the cache across a cluster of machines. The developer can simply put data in the cache and retrieve it when needed - AppFabric handles all the underlying complexity for you.
Conclusion:
Microsoft’s Azure Services Platform is a group of cloud technologies, each providing a specific set of services to application developers.

By providing a ready-made platform designed to support scalable and reliable cloud applications, Windows Azure reduces the time and money required to create and run SaaS ap

Windows Azure provides the extensible and highly manageable platform to create, run, scale, upgrade and retire your applicationsplications and other cloud-based code.

No comments:

Post a Comment