BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Scenarios and Solutions for Using Windows Azure

Scenarios and Solutions for Using Windows Azure

Leia em Português

This item in japanese

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
Style

BT