Approaches to SaaS – ASPs' Server and Client Technology Overview

1.         Introductionconstraints (e.g. Microsoft Silverlight or Active Server
With the growing popularity of the hosted servicePages) or the need to install additional frameworks or
models, more and more application providers andplugins in order to be able to use the application.
data center executives start considering entering the3.2.      Virtual desktops
SaaS market. However, many different aspects needA very convenient way to provide access to
to be analyzed before such a key decision can beserviced applications is use of Virtual Desktop
made. The business aspects for application providersInfrastructure (VDI). A virtual desktop is a remote
and application service providers (ASPs) have beengraphical access to a user session on another
described in the whitepaper "Business asa Servicemachine. In other words, the users are able to see
– SaaS Billing and Business Models" ( However, inand use a remote computer's desktop as a window
order to set up a successful ASP or SaaS business,on their desktop.
the top-level commercial decisions and growthIt can be configured to allow access to an entire
strategy must be coupled with architecturedesktop or just particular applications.
considerations.A major problem with graphic terminal access for
1.1.      Aim and scopeASPs is a requirement of setting up a server
The aim of this document is to outline the mostdedicated for hosting user sessions (terminal server).
common technical approaches to SaaS applicationsSuch server applications require allocation of additional
and their provisioning platforms. By presenting theresources and they are usually not free. Moreover, in
various solutions with their major advantages andsome cases they require purchase of Terminal Client
drawbacks, the products offered by the market andAccess Licenses (e.g. TCALs for Microsoft Terminal
side-by-side comparisons for some sample real-lifeServices®) which can constitute an essential
applications and scenarios, its intent is to triggerproportion of the general expenditure.
analysis of the possible way to be taken in order toOn the client side, the use of virtual desktops usually
build a suitable on-demand application provisioningrequires higher network capacities, as the load
platform and enter the ASP / SaaS market.generated by terminal access connections is usually
1.2.    Intended audiencehigher than for web based clients. On the other hand,
CIOs, CTOs and high level technical engineers willingthe virtualization of the client side may be beneficial
to launch basic ASP / SaaS and grow it over time orfor the customers by reducing the hardware
become customers for these services.requirements of the desktop machines. This is
1.3.      Definitionsespecially vital for businesses with a large number of
Cloud computing – A sales model based on SaaSterminals, e.g. call centers.
(and other similar models) where users pay only forWhen using the virtual desktop approach, no client
usage of requested functionality. This model bases onprograms are installed on the user machines. The only
the Internet and users are isolated from any technicalrequirement is installation of client software providing
details or licensing trouble.the terminal access. An additional benefit is that the
Clustering/Failover Clustering – A hypervisor'svirtualization can be made seamless, as the terminal
ability to treat many physical machines as one logicalsessions can be configured in such way, that the
virtualization server. A critical aspect of Highusers use the applications in dedicated windows, so
Availability.they may even not be aware of working remotely.
Dynamic Resource Management – Hypervisor'sExamples of virtual desktops include:
ability to automatically adjust the amount of allocated•          Citrix Xen Desktop.
CPU/memory resources in response to dynamically•          Microsoft Terminal Services.
changing workload of virtual machines.•          VNC.
Guest OS –An operating system running within a3.3.      Text terminals
virtual machine.Some hosted applications offer access to their
High Availability –A solution ensuring certain levelfeatures through text terminals. Text terminal access
of operation continuity. For hypervisors, a functionalusually requires minimal installation effort on the client
ability essential to provide high level of operationside and causes minimum network load. This solution
continuity for virtual machines by using hardwareis usually client-platform independent and guarantees
redundancy and clustering. In virtualization practice,maximized productivity, but only for experienced
this term is equivalent to Failover Clustering. All legalusers performing certain types of transactional
aspects are regulated by SLA agreements betweenactivities
parties.3.4.      Desktop clients
Hypervisor – A Virtual Machine Monitor, hardwareSome applications can be accessed by locally installed
or software solution enabling platform virtualizationdesktop client programs. They offer unique
– it allows many operating systems (virtualpossibilities for the user interface, but the cost is a
machines) to run on the same physical server at therelatively high installation and configuration effort.
same time and concurrently use the same hardware.The main drawback is the need to repeat the
Live Memory Management – An ability of ainstallation procedure for every end-user when a
hypervisor to dynamically adjust the amount ofclient software update is required. This can be
memory allocated to a particular virtual machinereduced with automated updates (although these
without stopping it.may require additional development effort) or
Live Migration – A hypervisor's ability to move avirtualization of the desktop OS (updates are installed
running virtual machine from one physical hoston virtual machine images, which are then distributed
machine to another without stopping it nor breakingto users).
any network connections between this virtual3.5.      Client interfaces comparison for typical
machine and remote clients.applications
Memory Over-Commit – A hypervisor's ability toThe table below presents a side-by-side comparison
allocate more total memory to all virtual machinesof the client application concepts with regard to
than is available on a physical server.aspects such as infrastructure and administration
Multi-tenancy – An architectural concept ofrequirements, as well as resource usage and support
hosted applications, where the customers share afor local devices. Some of the results have been
single instance of the application with built-in data andobtained by running tests using a sample business
configuration partitioning.application use case scenario. The main advantages
SaaS – Software as a Service, an on-demandand drawbacks are provided as well.
software application sales and provisioning model. TheNote: The test data presented below is approximate
applications are hosted by the provider (Applicationand used for comparison purposes assuming an
Service Provider) and users pay for remote usage.average activity of one user displaying a typical grid
Server consolidation – A business tendency toreport. Exact data will always depend on the type of
reduce the number of physical servers and use thethe application, user activity and many other details.
platform virtualization and virtual servers instead.4.         Products Overview
SLA – Service Level Agreement – A contract4.1.      Server-side. Hypervisors.
detailing the service availability and reaction times inThere are many different technologies which might
case of a failure.be used to build foundation for service providers. This
Virtual machine – A virtual, simulated computerresults in a wide selection of choices of how such
(platform virtualization) appearing to its users as ainfrastructure can be built for either small or
fully equipped machine with its own operating systementerprise IT businesses.
(guest OS).The virtualization infrastructure is a working horse for
Virtualization – A set of technology solutionsmost of the companies. Below, a few enterprise level
allowing simulation of computers and other physicalenvironments are described. It is by no means a full
devices.list of the available options, but a sample presenting
2.         Provider-side architecturethe most popular solutions for business purposes. For
The choice of the architecture to be used fora more comprehensive comparison of virtualization
providing application services is critical for thesoftware see Wikipedia article:
business model and as such, it must be made in-lineVMware
with the commercial decisions. The tight couplingVMware is one of the leading companies in
between the two aspects is not just related to thevirtualization business. It offers a wide range of
obvious capital expenditure (CAPEX) required to getproducts from home users to enterprise level
going.companies. VMware's key product for middle and
The initial choice of the application and platformenterprise level service providers is the VMware
architectures must reflect the strategic future plansvSphere. It is a set of solutions covering all the needs
of the ASP, as switching from one model to anotherthe IT provider may have. Starting from VMware
can be very expensive and technically challenging.ESX, a hypervisor software which runs directly on
The main question to be answered by each andthe hardware without an OS in the middle (a
every ASP is how to draw the separation line"bare-metal" solution), through Load Balancing and
between the customers, their service and data inHigh Availability solutions (VMware Dynamic Resource
particular. The application users must be ensuredScheduler, VMware High Availability), to management
security, availability and performance. They may beconsoles.
using various services and many kinds of licenses.An interesting offer from VMware for IT providers
Some of them may negotiate strict SLAs, whileentering the ASP world is a free version of VMware's
others will be satisfied by the basic levels. EfficientESX hypervisor engine called VMware ESXi.
handling of update subscriptions, resource demands,VMware vSphere:
backup policies and other unique customerVMware ESXi:
requirements depends on the application and platformCitrix XENServer
architecture used, so the link between theXEN is a hypervisor software originally developed at
commercial offering and the solution deployed is selfthe University of Cambridge as an open source
explanatory.project, maintained by XenSource, Inc. Since 2007
The separation line can be drawn on multiple levelsXenSource has been owned by Citrix Systems and
– from hardware, operating system orthe Citrix brand of Xen is called Citrix XenServer.
connectivity through the application business logic toRecently, Citrix has announced that all versions of
the database or file system storage level. TheXenServer will be available to public as free and open
provider-side architectures presented below are thesource applications. Besides the free XenServer, Citrix
two most common, but contrary models. Both haveoffers a package of high level management tools
their significant advantages, but also majornamed "Citrix Essentials".
drawbacks, which can make them unacceptable inXenServer runs directly on the hardware layer
certain circumstances or solutions. It must bewithout need of a host OS, but it requires a
therefore mentioned, that they can be used in mixedsupporting OS partition (so called "Xen dom0"
deployments, with the separation applied in a waydomain). XenServer supports mainly open guest
that makes the overall application service providingoperating systems such as Linux, NetBSD or Solaris,
the most effective technically and beneficialmostly because the virtual systems need to be
business-wise. The combinations will vary with eachmodified (ported) to cooperate with Xen hypervisor.
ASP, the multitude services they offer and theirSome newer versions of XenServer running on
customer profiles.dedicated hardware (Hardware Assisted Virtualization
2.1.      Multi-tenancy architectureCPUs from Intel and AMD) can support also unported
The simplest way to provide basic applicationopen OS and closed proprietary systems such MS
services seems to be implementation of theWindows.
separation logic within the application itself. In thisCitrix XenServer does not yet offer the High
approach, called multi-tenancy, a single application andAvailability and Dynamic Resource Management.
database instance is shared by many customers, andHowever, these extensions are not initially a "must
their data and configuration are carefully partitionedhave" for most of the medium level companies.
by the application logic.Citrix Essentials management package also supports
The most important feature of a multi-tenantthe Microsoft Hyper-V hypervisor.
application is the security and robustness of the dataCitrix XenServer:
isolation mechanism. Another important requirement isCitrix Essentials:
to provide a high degree of customization to supportCambridge Xen:
the customers' needs – be it workflowFree Xen Software:
configuration, user roles or "look & feel" flexibility 
to support branding.Microsoft Hyper-V
The main benefit of a multi-tenancy architecture isMicrosoft's Hyper-V version 2.0 starts to become a
that there is no need of setting up an expensiveserious competitor for Citrix and VMware
multi server environment platform on the ASP sidehypervisors. The main virtualization server is, like Citrix
and easier configuration management. However, asXenServer, offered for free in one of the
the customers share the hardware, storagedistributions.
mechanisms and the application instance, all of themIt is shipped in two ways: as a part (role) of non-free
may equally suffer from failures or increased loadMicrosoft Windows Server 2008, or as a free
caused by a single organization.distribution named Microsoft Hyper-V Server 2008,
Because of the difficulty in providing the necessarywhich is a limited distribution of Windows Server
performance and organizational issues, this approach2008 with all other roles disabled.
alone is usually limited only to ASPs with a lowHyper-V mostly supports Microsoft Windows as
amount of non time-critical services.guest OS, but paravirtualized Red Hat Enterprise and
2.2.      Multi-instance architectureSuse Linux Enterprise Server are also supported.
A multi-instance architecture represents a philosophySince version 2.0, it supports Live Migration and
opposite to multi-tenancy. In this approach, alsoprovides High Availability solution.
referred to as single-tenancy, every customer is 
assigned a dedicated instance of the application withHyper-V™ Server 2008 R2:
the underlying hardware, connectivity and storageSummary.
resources. In other words, every customer uses theirCurrently there are three key players offering
own application instance and resources fully isolatedmature hypervisors: VMware, Citrix and Microsoft.
from other customers.The VMware solution offers most features, but its
As a natural consequence, this model makes it easieredge over the competition will most likely decrease in
to ensure the required security and performancethe coming years. An interesting aspect is that all
parameters. Scalability can be easily achieved andthese hypervisors are available for free in their basic
targeted by changing the amount of resourcesversions. The competition zone is the administration
available to a particular customer instance.consoles and value-added features (live migration,
On the other hand, providing applications in this modelvisual drag & drop candies, etc.).
is only possible with a server farm and a suitable 
platform for the provisioning of new customerIt is quite hard to obtain an independent performance
accounts, both of which are a significant cost todata comparing these products, although some lab
ASPs.comparison attempts has been made:
The key word which appears in this approach is•          Lanamark:
virtualization - the only way to keep the multi server•          Performance comparison:
environment scalability costs at a reasonable level. It 
is described in the following section.4.2.      Client-side
Virtualization 
Virtualization has been one of IT's hot topics overThe following section shows popular solutions for
the recent years. Large enterprises andmodern SaaS application clients and client access
technology-oriented companies consolidate theirtechnologies. The advantages and drawbacks
servers and re-design their approach to infrastructurementioned below are described from the end user or
management. It is a concept of dividing theend admin perspective. The service provider aspects
resources of a computer into a number of isolatedwere not taken into account.
environments by applying various forms of 
separation, e.g. memory or storage partitioning, timeAdobe Flex
sharing, emulation, etcAbode Flex is a software development kit designed
The early-age issues faced by virtualization, such asto create cross-platform applications. With Flex, the
low hardware performance, lack of OS support ordeveloper can easily produce rich web application
unreliable management software lacking importantinterfaces based on Adobe Flash, which can be
functionality are history now. With the matureexecuted inside almost every web browser.
existing technology, the benefits of virtualization are 
clear to the market and include:In order to run a client application created with Flex,
•          Server consolidation andthe Adobe Flash plug-in for web browser must be
maximized utilization – several underutilizedinstalled on the user's machine.
servers can be migrated into one machine 
•          Better reliability and businessAdobe AIR
continuity – easy migrations, failovers, disasterAdobe AIR is a cross platform development
recovery, reduced maintenance downtimesenvironment designed to create client applications
•          Flexibility – decoupling businesswhich do not use web clients, but behave more like
from hardware allows better reactions to on-demandstandard desktop applications. In general, Adobe AIR
resource needs.wraps around the rich web contents application (e.g.
•          Portability – environments canFlash) and runs it as a local application.
be easily relocated or moved to other hardware 
•          Reduced administration andAn AIR application doesn't need a web browser to
hardware costs – replicating environments, lowerrun, but a runtime framework must be installed locally.
desktop hardware needsSuch common frameworks are dedicated to specific
•          Security – sandboxes forplatforms, while the business application is cross
untrusted applications, easy recovery, centralizedplatform and covers all platforms for which the
access control, etc.framework is available.
A wide range of needs, increasing numbers of 
platforms and applications, as well as variousRDP – Remote Desktop Protocol
implementation approaches result in existence ofThis protocol offers the possibility to run the
many types of virtualization, which can be used byapplication client on a remote computer and interact
ASPs depending on their business model. Thewith it in the same manner as with locally installed
following are the most popular types of virtualization:applications. Example products build on this protocol
•          Platform virtualization –are: Citrix XenApp, Microsoft Terminal Services.
Virtualization of computers. In this model one big 
machine is used asa host for many virtual computersIn this case, no business application is installed on the
used as servers for the applications. Every simulateduser side. The user runs the client application a on
computer is appears to users as fully equippedremote computer inside its own private session. The
machine. Examples: VMware ESX Server, Citrixaccess is provided by locally executed terminal client
XenServer.software which shows the remote computer graphic
•          Operating system virtualizationdesktop inside its window. Terminal access provided
– In this model the virtualized part is theby RDP uses this specially crafted protocol to control
operating system. One OS kernel is cloned and usedgraphical remote session which is much more
by many OS instances. From the user perspectivenetwork effective than those protocols based on
such structure looks like separated yet identicalscreen capture (e.g. VNC/RFB).
machines. Examples: Linux jails, Sun Solaris containers,There are many similar products offering remote
Microsoft Virtualization Server, FreeVPS.desktop access based on RDP. A quick summary is
•          Desktop virtualization (Virtualavailable on Wikipedia:
Desktop Infrastructure, VDI) – A virtualization of 
a desktop session on a remote computer. It offersRFB – Remote Framebuffer protocol
users a possibility to run the applications on a remoteRFB is a protocol used in all VNC-type applications.
computer and interact with them in the same mannerLike RDP, this protocol also offers a possibility to run
as with locally installed versions. Multiple andthe application client on a remote computer and
independent users are supported. Examples: Microsoftinteract with it locally, but this protocol uses different
Terminal Services, VMware Virtual Desktop, Citrixapproach, screen capture, which usually requires
XenDesktop.higher network and CPU capabilities than RDP.
3.         Client architecture 
While it is obvious that the provider-side architectureLike in RDP, in this case also no business application is
is critical in terms of the business strategy and vastlyinstalled on the user's side. The users run the client
affects expenditure on infrastructure, applicationapplication on a remote computer inside their own
development and support and maintenance services,private session. The access is provided by locally
there is a risk that the choice of the client-sideexecuted VNC client software which shows the
approach can be easily made without much thought.remote computer graphic desktop inside its window.
However a poorly designed server side architecture 
causing enormous costs to the providers may notThere are many similar products offering remote
necessarily be a huge problem for the customers, butdesktop access based on RFB. A quick summary is
an unsatisfactory user experience on the client sideavailable on Wikipedia:
can make all the sales and customer loyalty 
difference, so essential for the business in the5.         Performance tests
competitive market. The choice of the appropriateThe following tables present the results of small scale
solution may also vastly depend on the strategy andtests performed by Verax Systems. A few
future plans, e.g. when multiple integrated servicesapplication access methods were compared. The aim
are to be offered following just a single application inof the tests was to estimate the CPU and network
the start-up phase.loads depending on the technology used. Some of
This means a right balance between a particularthe tests covered both the client and server sides,
application's UI friendliness and the entire servicewhile others were limited to the client side only. The
providing means must be found. The key factors canresults only cover the load caused by the
be usability, responsiveness, infrastructureclient-server communication. The impact of the
requirements (such as desktop computing power orapplication itself was eliminated from the final scores.
network connectivity), overall performance, security 
policies or administrative effort required from theNote: All performance test results included in this
customer to handle the service, to name a few.document are approximate. They are more like
There are many ways the user interface for SaaSobservations than tests. Their purpose is to illustrate
applications can be provided. The followingthe general performance of specific groups of
subsections present a few of the most popularsoftware and not to promote any specific products.
solutions.Such results cannot be used asa base for business
3.1.      Web-based clientsdecisions.
One of the most obvious choices for hosted 
applications is providing the user interface through aTest conditions used:
web browser. This popular solution seems to be a•          Client side machine: MS Windows
good balance between user-friendly front-ends andXP Pro, 2GB RAM, Intel Core2 CPU 1.66 GHz,
using light, thin clients without much need for specialEthernet 100 Mbit/s card.
installations or additional requirements.•          Server side machine: MS Windows
Due to a rapid development of web-basedXP Pro, 2GB RAM, Intel Core2 CPU 1.86 GHz,
technologies and depending on the required level ofEthernet 100 Mbit/s card.
user interaction, the types of user interfaces can•          Tested connection between one
range from the most static "good old" simpleuser and dedicated server.
synchronous request-response applications, through 
more dynamic ones with asynchronous6.         Summary
communication features (e.g. AJAX-based searchThis document is an attempt to shed some light on
phrase suggestions, partial refreshes, etc.) tothe subject of SaaS-related technical infrastructure.
extended visual interfaces based on third partyThe world of SaaS and virtualization is a dynamically
frameworks, such as Adobe Flex or Microsoftchanging one and adds more complexity to
Silverlight, which guarantee a level of interactionmanagement of IT infrastructure. All numbers and
comparable to desktop applications.product options listed in the document may not be
Obviously, the differences are not just limited to theaccurate for the moment of reading. The SaaS, ASP,
user experience. The use of the various solutionsvirtualization and all surroundings are nowa constantly
may be restricted due to the available networkchanging environment.
bandwidth, browser incompatibility, platform