BT

Scenarios and Solutions for Using Windows Azure

| by Abel Avram Follow 7 Followers on Apr 27, 2010. Estimated reading time: 3 minutes |

Bill Zack, Architect Evangelist for Microsoft, has detailed in an online presentation key scenarios for using the cloud and solutions provided by Windows Azure.

There are applications with an usage pattern making them appropriate for the cloud, but there are also applications which are better to be not deployed onto a cloud because the owner ends up spending more to run them.

Workloads

  • On and Off – applications that are used sporadically during certain periods of time over the day or the year. Many batch jobs that run at the end of the day or the month fall in this category. Providing the required capacity for such applications is more expensive than running them in the cloud because much of the time the respective capacity lies unused.
  • Growing Fast or Failing Fast – a workload pattern encountered by startups which cannot accurately predict the rate of success of their new business and, consequently, the actual capacity needs. Startups usually start small increasing their capacity over time when demand raises. Such applications are fit for the cloud because the cloud can accommodate the growing resource needs quickly.
  • Unpredictable Bursting – this happens, for example, when the usual load on a web server is temporarily increased by a large value, so large that the system does not cope with the transient traffic. The owners should have provided enough capacity to absorb such loads, but they did not expect such peak of traffic. Even if they did anticipate it, the added capacity would sit mostly unused. This is another good candidate for the cloud.
  • Predictable Bursting – the load constantly varies in a predictable way over time. The owner could buy the necessary equipment and software having it on-premises without having to rely on a cloud provider.

Zack continues by describing scenarios for computation, storage, communications, deployment and administration along with the solutions provided by Windows Azure.

Computation

  • On-demand Application Instances – this pattern applies during special events when applications need to scale-up quickly, and later to scale down. Windows Azure accommodates such needs with automatically managed Web and Worker Roles.
  • Worker Role Distribution – this is used when large jobs are done by breaking them in small chunks, each one being associated with a Worker Role instance.

Storage

  • Blob – Blobs are used to store large amounts of unstructured data.
  • Tables – a non-relational solution for storing massive amounts of data.
  • DB – SQL Azure offers a relational database in the cloud.
  • Data Protection – Data stored in a cloud can be encrypted if it contains sensitive information and one wants to make sure it is not disclosed. Windows Azure will provide encryption/decryption services in the near future.
  • Information Service – Microsoft has a data marketplace for companies which want to sell or buy data.

Communication

  • Service-oriented Integration – Azure allows applications to consume services provided by other applications. Microsoft’s integrated solution is WCF Web Services, worker roles being able to expose such endpoints.
  • Messaging – Messaging is provided by Windows Azure Queues for asynchronous communication between web and worker roles.
  • Messaging through Firewalls – Applications can communication with each other through the Service Bus Queues which does not require additional ports to be opened.

Deployment

  • Could Deployment - Applications are deployed to the cloud using separate service definition and configuration files, and are packaged according to the targeted roles. The web and worker roles and their types are defined in the service definition file, while the service configuration file contains the number of each of these roles.
  • Moving On-Premise Applications to the Cloud – while this is not feasible for most applications, there are some that can be ported like a simple ASP.NET web site.
  • Mixed Environment, On-Premise and Cloud – Windows Azure provides the possibility to combine on-premises applications with services in the cloud by using REST interfaces, secure access to SQL Azure, Service Bus  and Access Control Service.
  • Dual Application – Applications could be designed to run both on-premises and in the cloud, but the design process is not simple. This could be useful if an organization runs its application on its own servers but uses the cloud during seasonal peak times like Christmas.
  • Security Federation – Windows Azure provides security federation through Access Control Service.
  • SaaS – Applications deployed in the cloud can be provided as services.

Administration

  • Design for Operations – Windows Azure provides a diagnostic API letting the operations to monitor and identify problems.
  • Service Instance Management – Application instances can be started, stopped or suspended either though an API or via the Azure portal.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT