Working with Azure App Fabrics
There are three key components of Windows Azure
AppFabric:
As developers build
next-generation applications in the cloud, they are increasingly assembling
their application as a composite from many pre-built components and services
(either developed in house or consumed from third parties cloud services). Also, given that many cloud applications need
to access critical on-premises business applications and data, there is a need
to be able to compose from on-premises services easily and securely. Finally, the highly distributed nature of
these composite applications require more sophisticated deployment and
management capabilities for managing all of the distributed elements that span
the web, middle-tier and database tier.
Windows Azure AppFabric provides a comprehensive
cloud middleware platform for developing, deploying and managing applications
on the Windows Azure Platform. It
delivers additional developer productivity, adding in higher-level
Platform-as-a-Service (PaaS) capabilities on top of the familiar Windows Azure
application model. It also enables bridging
your existing applications to the cloud through secure connectivity across
network and geographic boundaries, and by providinga consistent developmentmodelfor
both Windows Azure and Windows Server.Finally, it makes development more
productiveby providing a higher abstraction for building end-to-end
applications,and simplifies management and maintenance of the application as it
takes advantage of advances in the underlying hardware and software
infrastructure.
Middleware Services:platform
capabilities as services, which raise the level of abstraction and reduce
complexity of cloud development.
Composite Applications: a
set of new innovative frameworks, tools and composition engine to easily
assemble, deploy, and manage a composite application as a single logical entity
Scale-outapplication
infrastructure:optimized for cloud-scale services
and mid-tier components.
Following is a high-level overview of these
Windows Azure AppFabric components and features.
Middleware Services
Windows Azure AppFabric provides pre-built,
higher level middleware services thatraise the level of abstraction and reduce
complexity of cloud development. These
services are open and interoperable across languages (.NET, Java, Ruby, PHP…) and
give developers a powerful pre-built “class library" for next-gen cloud
applications. Developers can use each of the services stand-alone, or combine
services to provide a composite solution.
Service Bus(Commercially available now; updated CTP delivered October 2010)provides
secure messaging and connectivity capabilities that enable building distributed
and disconnected applications in the cloud, as well as hybrid applications
across both on-premise and the cloud. It enables using various communication
and messaging protocols and patterns, and removes the need for the developer to
worry about delivery assurance, reliable messaging and scale.
Access
Control (Commercially available now; updated CTP
delivered August 2010)enables an easy way to provide identity and access
control to web applications and services, while integrating with
standards-based identity providers, including enterprise directories such
as Active Directory®, and web identities
such as Windows Live ID, Google, Yahoo! and Facebook.
Caching
(New CTP service delivered October 2010;
commercially available in H1 CY11)accelerates performance of Windows Azure and
SQL Azure based apps by providing a distributed, in-memory application cache,
provided entirely as a service (no installation or management of instances,
dynamically increase/decrease cache size as needed). Pre-integration with ASP.NET enables easy
acceleration of web applications without having to modify application code.
Integration(New CTP service coming in CY11) will provide common BizTalk Server
integration capabilities (e.g. pipeline, transforms, adapters) on Windows
Azure, using out-of-box integration patterns to accelerate and simplify
development. It will also deliver higher
level business user enablement capabilities such as Business Activity
Monitoring and Rules, as well as self-service trading partner community portal
and provisioning of business-to-business pipelines.
Composite
App(New CTP service coming in H1 CY11)will provide
a multi-tenant, managed service which consumes the .NET based Composition Model
definition and automates the deployment and management of the end to end
application - eliminating manual steps needed by both developers and ITPros
today. It also executes application
components to provide a high-performance runtime optimized for cloud-scale
services and mid-tier components (automatically delivering scale out,
availability, multi-tenancy and sandboxing of application components). Finally,
it delivers a complete hosting environment for web services built using Windows
Communication Foundation (including WCF Data Services and WCF RIA Services) and
workflows built using Windows Workflow Foundation.
It’s a key characteristic of all AppFabric
Middleware Services that they are consistently delivered as true multi-tenant
services – you simply provision, configure, and use (no installation or
management of machines/instances).
Composite Applications
AppFabric
Composition Model
& Visual Designer |
Microsoft is advancing its Windows Azure
AppFabric cloud middleware platform to provide a full composite application
environment for developing, deploying and managing composite applications. The AppFabric composition environment
delivers three main benefits:
Composition
Model A set of .NET Framework extensions for
composing applications on the Windows Azure platform. This builds on the familiar Azure Service
Model concepts and adds new capabilities for describing and integrating the components
of an application. It also provides a consistent
composition model for both Windows Azure and Windows Server.
Visual
Design ExperienceA new Visual Studio based designer
experience allows you assemble code from your existing application components,
along with newer cloud services, and tie them together as a single logical
entity.
Managed
as a serviceThe Composite Application service is a
multi-tenant, managed service which consumes the Composition Model definition
and automates the deployment and management of the end to end application -
eliminating manual steps needed by both developers and ITPros today.
The composite application environmentoffers the following benefits:
§ Greater developer productivity through rapid assembly, linking of components
and automated deployment of the entire end-to-end application;
§ Easier configuration and control of entire application and
individual components;
§ End-to-end application monitoring (events, state, health and
performance SLAs);
§ Easier troubleshooting (through richer diagnostics and debugging of
the whole application);
§ Performance optimization of the whole application (scale-out/in,
fine-tuning, migration, etc);
§ Integrated operational reporting (usage, metering, billing).
Scale-out Application Infrastructure
Both the AppFabric Services and your own
composite applications built using the Composition Model are built upon anadvanced,high-performance
application infrastructure that has been optimized for cloud-scale services and
mid-tier components. The AppFabric
Container provides base-level infrastructure such as automatically ensuring
scale out, availability, multi-tenancy and sandboxing of your application
components.The main capabilities provided by the AppFabric Container are:
Composition
RuntimeThis manages the full lifecycle of an
application component including loading, unloading, starting, and stopping of
components. It also supports configurations like auto-start and on-demand
activation of components.
Sandboxing
and Multi-tenancy This enables high-density and
multi-tenancyof the hosted components. The container captures and propagates
the tenant context to all the application and middleware components.
State
Management This provides data and persistence
management for application components hosted in the container.
Scale-out and
High AvailabilityThe container provides scale-out
by allowing application components to be cloned and automatically distributed;
for stateful components, the container provides scale-out and high availability
using partitioning and replication mechanisms. The AppFabric Container shares
the partitioning and replication mechanisms of SQL Azure.
Dynamic Address
Resolution and Routing In a fabric-based environment,
components can be placed or reconfigured dynamically. The container automatically
and efficiently routes requests to the target components and services.
Bridging On-Premises and Cloud
Finally, one of the important capabilities needed by businesses as
they begin their journey to the cloud is being able to leverage existing
on-premise LOB systems and to expose them selectively and securely into the
cloud as web services. However, since most organizations are firewall
protected, the on-premise LOB systems are typically not easily accessible to cloud
applications running outside the organization’s firewall.
AppFabric Connect allows you to leverageyour existing LOB
integration investments inWindows Azure using the Windows Azure AppFabric
Service Bus, and Windows Server AppFabric. This new set of simplified
tooling extends BizTalk Server 2010 to help accelerate hybrid on/off premises
composite application scenarios which we believe are critical for customers
starting to develop hybrid applications.
(AppFabric Connect
is available now as a free add-on for BizTalk Server 2010 to extend existing
systems to both Windows Azure AppFabric and Windows Server AppFabric.)