After hollidays, I’m back with one of the last posts regarding this introdutory discussion of Windows Azure Platform.
So, running applications and storing data in the cloud are both important aspects of cloud computing. They’re far from the whole story, however. It’s also possible to provide cloud-based infrastructure services. Filling this gap is the goal of Windows Azure AppFabric. The functions provided by AppFabric today address common challenges in building distributed applications.
The functions provided by AppFabric today address common challenges in building distributed applications. Figure 4 shows its components.
As the figure suggests, all of the components of Windows Azure AppFabric are built on Windows Azure (although they don’t all provide services solely to Windows Azure applications). Those components are the following:
- Service Bus: Exposing an application’s services on the
Internet is harder than it might seem. The goal of Service Bus is to make this
simpler by letting an application expose endpoints in the cloud that can be
accessed by other applications, whether on-premises or in the cloud. Each
exposed endpoint is assigned a URI, which clients can use to locate and access
the service. Service Bus also handles the challenges of dealing with network
address translation and getting through firewalls without opening new ports for
- Access Control: There are many ways for a user to get a digital identity today. The
options include Active Directory, Windows Live ID, Google Accounts, Facebook,
and more. If an application wants to let users log in with any of these, the
application’s creator faces the daunting challenge of supporting this
plethora of approaches. Access Control simplifies this by providing built-in
support for all of them (and more). It also provides a single place for
defining rules to control what each user is allowed to access.
- Caching: It’s common for applications to access the same data over and over. One way to speed up this kind
of application is to cache frequently accessed information, reducing the number
of times that application must query a database. The Caching service provides
this—and the performance boost it brings—for Windows Azure applications
Microsoft has announced plans to add more services under the Windows Azure AppFabric banner, so expect this list to grow in the not-too-distant future. As with Windows Azure and SQL Azure, customers use a browser-accessible portal to sign up for AppFabric. Once this has been done, these services can be used in a variety of ways. Here are some of the possibilities:
- Suppose an enterprise wished to let software at its trading partners access one of its applications. It could expose this application’s functions through SOAP or RESTful services created using WCF, then register those service endpoints with Service Bus. Its trading partners could then use Service Bus to find these endpoints and access the services.
- Imagine that the creator of this same application needs to let trading partners log in with a variety of different identities. Rather than implementing support for these identities himself, he could use the Access Control service to hide this complexity.
- A Windows Azure application created using ASP.NET might use the Session object to store per-client state. By changing only a configuration setting, the application can cause this data to be kept in the Caching service rather than, say, Windows Azure Storage tables. Doing this is likely to make the application faster and more scalable.
Along with the cloud-based services of Windows Azure AppFabric, Microsoft also provides an analogous technology known as Windows Server AppFabric. As its name suggests, the services it provides run on Windows Server—they support on-premises applications—rather than in the cloud. The on-premises services aren’t exactly the same today as those in Windows Azure AppFabric (although Microsoft’s
announced plan is make the two congruent). Don’t be confused; throughout this paper, the name “AppFabric” is used to refer to the cloud-based services. Also, don’t confuse Windows Azure AppFabric with the Windows Azure fabric controller. Even though both contain the term “fabric”, they’re wholly separate technologies addressing quite distinct problems.
Well that is it for now. In my next post, I’ll be talking about Azure Marketplace.
See you here soon.