Appistry EAF and Service Virtualization

Like most software terms, the term virtualization is becoming hopelessly overloaded.  As pointed out in a recent article, a definition of the different types of virtualization can be hard to come by.  When people see the Appistry Enterprise Application Fabric (EAF) solution one of the first things they think of is application virtualization.  In this post I will try to resolve the confusion by detailing some of the key EAF features and how they relate to virtualization.  We will see that the EAF properties that promote scale, reliability, and maintenance of your fabric are better known as service virtualization.

An application virtualization definition

This is a definition of application virtualization as provided by the referenced link:

Application virtualization provides the possibility to fool an application into believing that some or all of the system resources it accesses and tampers with are actually the real deal, while they are in fact simulated by the application virtualization management software.

By wrapping a single application within an application container (such as MAV or XenApp) a desktop application can be moved easily to any machine.  A system administrator no longer has concerns of installing and configuring a single application to run on a large number of machines.  The application container and application management software will take care those deployment problems.

This is a great tool for a system administrator to have at their disposal, but it addresses the problem of desktop application installation and remote application invocation.  These are not the problems that Appistry's fabric solves.

Appistry EAF and service virtualization

EAF provides scale, reliability, and maintenance features by recognizing that the operations that comprise your application can really be thought of as services.  The fabric is able to distribute these services across the machines in the fabric and virtualizes them to look like one system.

One of the base principles of EAF is to make a large number of computational resources appear as a single entity to an application developer or administrator.  The fabric learns about your application, through the declarative statements provided by the developer and/or administrator.  Let's illustrate this service virtualization with several of the fabric's features:

  • Fabric application model: A typical EAF application consists of two main components; the binaries that embody the business logic of your application and the declarative model that instructs the fabric how your application ties together.  Once the fabric understands the construction of your application, each worker becomes a self-sufficient provider of those application services.  Whenever your request results in a need for a task, component, or process flow to be executed, a worker in the fabric can locate another worker to provide that service.
  • Auto-discovery, self-organization, and scalability: EAF automatically discovers and organizes the machines within a fabric.  When a new worker is detected, the worker will be updated with the latest system, application, and configuration files. The worker will also be added within the fabric's communication structure to make itself available to run the components of your application.  Your application's services become seamless extended to other machine in the fabric.
  • Fabric management: The fabric's operation layer is responsible for management activities. Whether the operation is a simple worker status query or application update an administrator simply pushes the request to the fabric and lets the management layer take care of the rest.  All the machines of the fabric are virtualized as a single resource.

In conclusion

EAF takes advantage of service virtualization to weave together large numbers of computers into a single computational fabric.  This virtualization greatly facilitates the job of the application developer and fabric administrator.  By depending on the fabric, application developers get to focus on the business logic of their application.  By depending on the fabric, administrators know that they have a manageable infrastructure which is able to painlessly scale to their needs. 

Categories:

CEP & EAF for Complex Event Processing Service Virtualization

Hi Michael,

I liked this blog entry on EAF and Service Virtualization, and thought a bit about how this might extend to Complex Event Processing. Given I thought this could be of interest to both CEP and EAF advocates & consumers, I posted my brief thoughts on Aleri's blog, but the following is the url for it:

http://blog.aleri.com/?p=32

regards,
Jerry Baulier

Workload Virtualization. Is it relevant for Service Virtualizati

Hi Michael,

While applauding a direction Appistry EAF has taken by attacking the core issue of the applications, which is a service virtualization, I wonder whether there is a need to scale "across services" per a single application and "across services" "across apps".

This brings a need to look at a layer below the services, which is the workload. Applications frequently have a need to process different sizes of workloads, corresponding to different data sources, at about the same time. This requires treating data as logical partitions.

Provided that algorithms for processing various data sources differ, Event Processing Fabric ("Distributed CEP Engines over the Fabric" - term introduced by Tim Bass in http://thecepblog.com/2007/11/16/clustered-databases-versus-virtualizati...) needs to start providing Workload Virtualization.

Additional complexity is a need to support prioritization of various data sources in a Pub/Sub sense as subscribers might need to get a product, containing more data and requiring more processing, earlier than a simpler product to produce. This might require utilization of a BPM handling prioritization of scheduling the execution of Virtualized Services.

Does it all mean that there is a need to have a Workload Virtualization Manager?
Is Appistry EAF moving in this direction?

Respectfully,
Arkady Godin

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
8 + 9 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.