approaches to saas – asps’ server and client … · web viewvirtual desktops 10 3.3. text...

30
Approaches to SaaS ASPs’ Server and Client Technology Overview

Upload: lekiet

Post on 14-Aug-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Approaches to SaaS

ASPs’ Server and Client Technology Overview

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Table of contents1. Introduction......................................................................3

1.1. Aim and scope.........................................................................................31.2. Intended audience..................................................................................31.3. Definitions...............................................................................................3

2. Provider-side architecture..................................................42.1. Multi-tenancy architecture......................................................................52.2. Multi-instance architecture.....................................................................6

3. Client architecture.............................................................93.1. Web-based clients...................................................................................93.2. Virtual desktops....................................................................................103.3. Text terminals.......................................................................................113.4. Desktop clients.....................................................................................123.5. Client interfaces comparison for typical applications............................13

4. Products Overview...........................................................144.1. Server-side. Hypervisors.......................................................................144.2. Client-side.............................................................................................16

5. Performance tests...........................................................215.1. Client-side tests....................................................................................215.2. Server-side tests...................................................................................21

6. Summary.........................................................................22

Page 2 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

1. IntroductionWith the growing popularity of the hosted service models, more and more application providers and data center executives start considering entering the SaaS market. However, many different aspects need to be analyzed before such a key decision can be made. The business aspects for application providers and application service providers (ASPs) have been described in the whitepaper “Business as a Service – SaaS Billing and Business Models” (http://www.veraxsystems.com/en/download/pubfiles/verax-saas-billing-and-business-models.pdf/get). However, in order to set up a successful ASP or SaaS business, the top-level commercial decisions and growth strategy must be coupled with architecture considerations.

1.1. Aim and scopeThe aim of this document is to outline the most common technical approaches to SaaS applications and their provisioning platforms. By presenting the various solutions with their major advantages and drawbacks, the products offered by the market and side-by-side comparisons for some sample real-life applications and scenarios, its intent is to trigger analysis of the possible way to be taken in order to build a suitable on-demand application provisioning platform and enter the ASP / SaaS market.

1.2. Intended audienceCIOs, CTOs and high level technical engineers willing to launch basic ASP / SaaS and grow it over time or become customers for these services.

1.3. DefinitionsCloud computing – A sales model based on SaaS (and other similar models) where users pay only for usage of requested functionality. This model bases on the Internet and users are isolated from any technical details or licensing trouble.Clustering/Failover Clustering – A hypervisor’s ability to treat many physical machines as one logical virtualization server. A critical aspect of High Availability.Dynamic Resource Management – Hypervisor’s ability to automatically adjust the amount of allocated CPU/memory resources in response to dynamically changing workload of virtual machines.Guest OS –An operating system running within a virtual machine.High Availability –A solution ensuring certain level of operation continuity. For hypervisors, a functional ability essential to provide high level of operation continuity for virtual machines by using hardware redundancy and clustering. In virtualization practice, this term is equivalent to Failover Clustering. All legal aspects are regulated by SLA agreements between parties.Hypervisor – A Virtual Machine Monitor, hardware or software solution enabling platform virtualization – it allows many operating systems (virtual machines) to run on the same physical server at the same time and concurrently use the same hardware. Live Memory Management – An ability of a hypervisor to dynamically adjust the amount of memory allocated to a particular virtual machine without stopping it.

Page 3 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Live Migration – A hypervisor’s ability to move a running virtual machine from one physical host machine to another without stopping it nor breaking any network connections between this virtual machine and remote clients.Memory Over-Commit – A hypervisor’s ability to allocate more total memory to all virtual machines than is available on a physical server. Multi-tenancy – An architectural concept of hosted applications, where the customers share a single instance of the application with built-in data and configuration partitioning.SaaS – Software as a Service, an on-demand software application sales and provisioning model. The applications are hosted by the provider (Application Service Provider) and users pay for remote usage.Server consolidation – A business tendency to reduce the number of physical servers and use the platform virtualization and virtual servers instead.SLA – Service Level Agreement – A contract detailing the service availability and reaction times in case of a failure.Virtual machine – A virtual, simulated computer (platform virtualization) appearing to its users as a fully equipped machine with its own operating system (guest OS).Virtualization – A set of technology solutions allowing simulation of computers and other physical devices.

2. Provider-side architectureThe choice of the architecture to be used for providing application services is critical for the business model and as such, it must be made in-line with the commercial decisions. The tight coupling between the two aspects is not just related to the obvious capital expenditure (CAPEX) required to get going. The initial choice of the application and platform architectures must reflect the strategic future plans of the ASP, as switching from one model to another can be very expensive and technically challenging.

The main question to be answered by each and every ASP is how to draw the separation line between the customers, their service and data in particular. The application users must be ensured security, availability and performance. They may be using various services and many kinds of licenses. Some of them may negotiate strict SLAs, while others will be satisfied by the basic levels. Efficient handling of update subscriptions, resource demands, backup policies and other unique customer requirements depends on the application and platform architecture used, so the link between the commercial offering and the solution deployed is self explanatory.

The separation line can be drawn on multiple levels – from hardware, operating system or connectivity through the application business logic to the database or file system storage level. The provider-side architectures presented below are the two most common, but contrary models. Both have their significant advantages, but also major drawbacks, which can make them unacceptable in certain circumstances or solutions. It must be therefore mentioned, that they can be used in mixed deployments, with the separation applied in a way that makes the overall application service providing the most effective technically and beneficial business-wise. The combinations will vary with each ASP, the multitude services they offer and their customer profiles.

Page 4 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

2.1.Multi-tenancy architecture

The simplest way to provide basic application services seems to be implementation of the separation logic within the application itself. In this approach, called multi-tenancy, a single application and database instance is shared by many customers, and their data and configuration are carefully partitioned by the application logic.

The most important feature of a multi-tenant application is the security and robustness of the data isolation mechanism. Another important requirement is to provide a high degree of customization to support the customers’ needs – be it workflow configuration, user roles or “look & feel” flexibility to support branding.

The main benefit of a multi-tenancy architecture is that there is no need of setting up an expensive multi server environment platform on the ASP side and easier configuration management. However, as the customers share the hardware, storage mechanisms and the application instance, all of them may equally suffer from failures or increased load caused by a single organization.

Tenant A Tenant B Tenant C

APPLICATION SERVER

Application with multi-tenancy

Operating system

Hardware server/cluster

Operating system

Hardware server/cluster

DATABASE SERVER

Tenant dedicated databases

Figure 1: Multi-tenant architecture with separate (tenant-dedicated) database instances.

Because of the difficulty in providing the necessary performance and organizational issues, this approach alone is usually limited only to ASPs with a low amount of non time-critical services.

Page 5 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Multi-tenancyAdvantages Drawbacks

Easy start for ASPs or vendors of new applications. Undoubtedly, this approach initially causes less problems for companies entering the ASP world. Such environment is more cost effective to get going and easier to contain and service.

Low effort to provision newly acquired customers – creation of user accounts, files and database schemas can be automated easily and at a low cost.

Easy release management – patches or fixes need to be installed on one instance only.

All customers share all the benefits. New functionalities, corrections and patches are immediately applied to many customers.

Cost savings:- Consolidation of IT resources into a

single operation.- Minimum number of instances

running thanks to low per-customer overheads. This also means lower licensing costs.

- No need for additional platform licenses – the ASP structure can be built just using OS and DBMS licenses.

Increased application development and testing cost – the application must ensure a secure customer separation on the user data level.

High costs for vendors already offering single-tenant on-premises applications or those willing to use both sales models – they are required to develop the multi-tenancy mechanisms and maintain two versions of the software.

Limited customization options – it is difficult to provide customer-oriented solutions, a common feature set must be provided.

Reliability and performance – all customers share general failures and performance drops. To avoid this, the application itself should provide at least basic load balancing and QoS mechanisms, which are difficult and expensive to implement from scratch.

Security – it is difficult to maintain the required security level using a shared instance. Data leaks and attacks are always a risk. Multi-tenancy may be unacceptable to particularly data-sensitive businesses such as bank, insurance companies, etc.

Difficult servicing – maintenance downtimes always affect all customers.

The service is limited to non-time critical services. Availability and performance SLAs can be hard to meet.

Scalability – reacting to growing user resource needs must involve hardware upgrades or manual switchovers.

Difficulty of providing multiple applications – there is no common image of the customers’ accounts in the environment. Particular customers’ services are difficult to manage as a whole.

2.2. Multi-instance architectureA multi-instance architecture represents a philosophy opposite to multi-tenancy. In this approach, also referred to as single-tenancy, every customer is assigned a dedicated instance of the application with the underlying hardware, connectivity and storage resources. In other words, every customer uses their own application instance and resources fully isolated from other customers.

As a natural consequence, this model makes it easier to ensure the required security and performance parameters. Scalability can be easily achieved and targeted by changing the amount of resources available to a particular customer instance.

On the other hand, providing applications in this model is only possible with a server farm and a suitable platform for the provisioning of new customer accounts, both of which are a significant cost to ASPs.

Page 6 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

The key word which appears in this approach is virtualization - the only way to keep the multi server environment scalability costs at a reasonable level. It is described in the following section.

Page 7 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Multi-instance architectureAdvantages Drawbacks

Customer separation on the environment level – lower development cost as the applications do not need to be designed to support a multiple number of customers.

SLA compliance – easier performance and availability management - load balancing, connectivity sharing and failover logic are usually built into the virtualization platforms, the applications do not need to have these advanced features.

Better security. Isolated, virtual application environments are easier to secure.

Flexibility and scalability. Virtual environments are easily transferable between hardware servers. As the resource needs grow, more powerful hardware can be allocated seamlessly.

Easier customer service and configuration management. Maintenance works and the related downtimes only affect the particular customer. Upgrades and patches can be applied to selectively. Customizations can be made to particular customer applications.

Easier customer management - accounts can be integrated in one VM or in the CM/provisioning platform.

Higher initial cost – the server farm and virtualization environment are expensive to set up.

Additional OS, DBMS and software licenses must be obtained for each virtual instance.

The service provisioning process is more complex.

More resources are needed due to per-customer instance overheads.

Tenant A Tenant B Tenant C

VIRTUALIZATION SERVER

APPLICATION SERVER AS VIRTUAL MACHINE

DATABASE SERVERAS VIRTUAL MACHINE

APPLICATION AND DATABASE

AS VIRTUAL MACHINE

Hypervisor

Hardware: server/cluster

Application

Guest operating

system

Guest operating

system

Database Application Database

Guest operating

system

APPLICATION AND DATABASE

AS VIRTUAL MACHINE

Application Database

Guest operating

system

Figure 2: Examples of multi-instance architecture.

Page 8 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

VirtualizationVirtualization has been one of IT’s hot topics over the recent years. Large enterprises and technology-oriented companies consolidate their servers and re-design their approach to infrastructure management. It is a concept of dividing the resources of a computer into a number of isolated environments by applying various forms of separation, e.g. memory or storage partitioning, time sharing, emulation, etc.

The early-age issues faced by virtualization, such as low hardware performance, lack of OS support or unreliable management software lacking important functionality are history now. With the mature existing technology, the benefits of virtualization are clear to the market and include:

Server consolidation and maximized utilization – several underutilized servers can be migrated into one machine

Better reliability and business continuity – easy migrations, failovers, disaster recovery, reduced maintenance downtimes

Flexibility – decoupling business from hardware allows better reactions to on-demand resource needs.

Portability – environments can be easily relocated or moved to other hardware Reduced administration and hardware costs – replicating environments,

lower desktop hardware needs Security – sandboxes for untrusted applications, easy recovery, centralized

access control, etc.

A wide range of needs, increasing numbers of platforms and applications, as well as various implementation approaches result in existence of many types of virtualization, which can be used by ASPs depending on their business model. The following are the most popular types of virtualization:

Platform virtualization – Virtualization of computers. In this model one big machine is used asa host for many virtual computers used as servers for the applications. Every simulated computer is appears to users as fully equipped machine. Examples: VMware ESX Server, Citrix XenServer.

Operating system virtualization – In this model the virtualized part is the operating system. One OS kernel is cloned and used by many OS instances. From the user perspective such structure looks like separated yet identical machines. Examples: Linux jails, Sun Solaris containers, Microsoft Virtualization Server, FreeVPS.

Desktop virtualization (Virtual Desktop Infrastructure, VDI) – A virtualization of a desktop session on a remote computer. It offers users a possibility to run the applications on a remote computer and interact with them in the same manner as with locally installed versions. Multiple and independent users are supported. Examples: Microsoft Terminal Services, VMware Virtual Desktop, Citrix XenDesktop.

Page 9 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

3. Client architectureWhile it is obvious that the provider-side architecture is critical in terms of the business strategy and vastly affects expenditure on infrastructure, application development and support and maintenance services, there is a risk that the choice of the client-side approach can be easily made without much thought. However a poorly designed server side architecture causing enormous costs to the providers may not necessarily be a huge problem for the customers, but an unsatisfactory user experience on the client side can make all the sales and customer loyalty difference, so essential for the business in the competitive market. The choice of the appropriate solution may also vastly depend on the strategy and future plans, e.g. when multiple integrated services are to be offered following just a single application in the start-up phase.

This means a right balance between a particular application’s UI friendliness and the entire service providing means must be found. The key factors can be usability, responsiveness, infrastructure requirements (such as desktop computing power or network connectivity), overall performance, security policies or administrative effort required from the customer to handle the service, to name a few.

There are many ways the user interface for SaaS applications can be provided. The following subsections present a few of the most popular solutions.

3.1. Web-based clients

One of the most obvious choices for hosted applications is providing the user interface through a web browser. This popular solution seems to be a good balance between user-friendly front-ends and using light, thin clients without much need for special installations or additional requirements.

Page 10 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Figure 3: Verax APINI (enterprise information, resource and project management) as an example of a classic web-based application.

Due to a rapid development of web-based technologies and depending on the required level of user interaction, the types of user interfaces can range from the most static “good old” simple synchronous request-response applications, through more dynamic ones with asynchronous communication features (e.g. AJAX-based search phrase suggestions, partial refreshes, etc.) to extended visual interfaces based on third party frameworks, such as Adobe Flex or Microsoft Silverlight, which guarantee a level of interaction comparable to desktop applications.

Obviously, the differences are not just limited to the user experience. The use of the various solutions may be restricted due to the available network bandwidth, browser incompatibility, platform constraints (e.g. Microsoft Silverlight or Active Server Pages) or the need to install additional frameworks or plugins in order to be able to use the application.

Web-based clientsAdvantages Drawbacks

None or minimal installation issues. Fair performance. The graphical user interface (GUI) can be as

rich as that of standard desktop applications. Easy network firewall configuration.

Some technologies force end-users to use specific OS and web browsers.

Web based application client can look slightly different under different web browsers. Not all visual controls can be utilized under different web browsers.

Some rich interface applications may initially consume noticeable network bandwidth.

Rich clients reduce server load used for GUI rendering.

3.2. Virtual desktops

A very convenient way to provide access to serviced applications is use of Virtual Desktop Infrastructure (VDI). A virtual desktop is a remote graphical access to a user session on another machine. In other words, the users are able to see and use a remote computer’s desktop as a window on their desktop.It can be configured to allow access to an entire desktop or just particular applications.

A major problem with graphic terminal access for ASPs is a requirement of setting up a server dedicated for hosting user sessions (terminal server). Such server applications require allocation of additional resources and they are usually not free. Moreover, in some cases they require purchase of Terminal Client Access Licenses (e.g. TCALs for Microsoft Terminal Services®) which can constitute an essential proportion of the general expenditure.

On the client side, the use of virtual desktops usually requires higher network capacities, as the load generated by terminal access connections is usually higher

Page 11 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

than for web based clients. On the other hand, the virtualization of the client side may be beneficial for the customers by reducing the hardware requirements of the desktop machines. This is especially vital for businesses with a large number of terminals, e.g. call centers.

When using the virtual desktop approach, no client programs are installed on the user machines. The only requirement is installation of client software providing the terminal access. An additional benefit is that the virtualization can be made seamless, as the terminal sessions can be configured in such way, that the users use the applications in dedicated windows, so they may even not be aware of working remotely.

Examples of virtual desktops include: Citrix Xen Desktop. Microsoft Terminal Services. VNC.

Virtual desktopsAdvantages Drawbacks

In most cases, terminal client software features built-in security (encryption, authorization, authentication).

Terminal sessions are often the only way to provide user access to some applications (e.g. MS Windows EXE programs) without installation harassment.

Provisioning of new applications is limited to installing them on the remote server and configuring terminal sessions.

Some solutions require purchase of expensive additional licenses.

Additional server resources must be reserved to provide terminal access services.

Network load is usually higher than for web browsers.

3.3. Text terminals

Some hosted applications offer access to their features through text terminals. Text terminal access usually requires minimal installation effort on the client side and causes minimum network load. This solution is usually client-platform independent and guarantees maximized productivity, but only for experienced users performing certain types of transactional activities

Text terminalsAdvantages Drawbacks

Minimum network load. High work efficiency for skilled users. Minimal initial installation and configuration

effort.

The text mode limits user activity to simple access to the application.

Page 12 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Page 13 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

3.4.Desktop clients

Some applications can be accessed by locally installed desktop client programs. They offer unique possibilities for the user interface, but the cost is a relatively high installation and configuration effort.

The main drawback is the need to repeat the installation procedure for every end-user when a client software update is required. This can be reduced with automated updates (although these may require additional development effort) or virtualization of the desktop OS (updates are installed on virtual machine images, which are then distributed to users).

Desktop clientsAdvantages Drawbacks

The richest user interface feature set. Smooth integration with local devices such as

printers. Full cooperation with OS features. Low network load.

Problematic installation, configuration and update procedures often requiring cooperation with systems administrators in order to comply with local security policies.

Page 14 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

3.5. Client interfaces comparison for typical applications

The table below presents a side-by-side comparison of the client application concepts with regard to aspects such as infrastructure and administration requirements, as well as resource usage and support for local devices. Some of the results have been obtained by running tests using a sample business application use case scenario. The main advantages and drawbacks are provided as well.

Note: The test data presented below is approximate and used for comparison purposes assuming an average activity of one user displaying a typical grid report. Exact data will always depend on the type of the application, user activity and many other details.

Aspect Basic (HTML) Web Clients

Rich Web Clients

VirtualDesktops

Text Terminals

Desktop Clients

Installation effort

None. Low.3rd party extensions (e.g. Adobe Flash® plug-in)

Medium.Virtual desktop client package. Already provided with some OS.

Low.Text terminal client. Already provided with some OS.

Medium / High.Installation requires administrator rights.

Configuration effort

None in most cases.

None in most cases.

Low None. Medium / High.Admin rights required.

Update effort None. Low. None. None. Medium / High.Admin rights required.

Approx. bandwidth requirements

50 kbit/sec 10 kbit/sec (Adobe Flex app.)

50 kbit/sec (Remote Desktop –RDP), 400 Kbit/sec (Remote Frame Buffer –RFB)

2 kbit/sec 10 kbit/sec

Security Provided by application.

Provided by application or by extension engine.

Provided by virtual desktop client.

Provided by text terminal client.

Provided by application.

Support for local devices (printers, sounds, graphic acceleration)

Medium. Good. Access restricted to browser or plugin capabilities.

Good. Provided by virtual desktop client.

Weak. Excellent.Provided by application.

Local CPU usage(client side)1

Medium. Low / Medium. Low (RDP).High (RFB).

Low. Medium / High. Application dependent.

Remote CPU usage(provider

Medium. Low. Medium. Low. Low.

1 CPU usage for communication with main application only.

Page 15 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Aspect Basic (HTML) Web Clients

Rich Web Clients

VirtualDesktops

Text Terminals

Desktop Clients

side)2

Main advantages

Easy network, firewall configuration.

Rich graphic user interface.

Easy access to desktop type applications.

Speed. Full integration with host OS, possible use of its features. Rich user interface.

Major drawbacks

Low user interaction

3rd party extensions. Initial download of GUI metadata.

Additional cost of terminal servers and licenses.

Limited functionality.

Installation, configuration, upgrade problems.

2 CPU usage for communication with end-user client only.

Page 16 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

4. Products Overview

4.1. Server-side. Hypervisors.There are many different technologies which might be used to build foundation for service providers. This results in a wide selection of choices of how such infrastructure can be built for either small or enterprise IT businesses.

The virtualization infrastructure is a working horse for most of the companies. Below, a few enterprise level environments are described. It is by no means a full list of the available options, but a sample presenting the most popular solutions for business purposes. For a more comprehensive comparison of virtualization software see Wikipedia article:http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines

VMwareVMware is one of the leading companies in virtualization business. It offers a wide range of products from home users to enterprise level companies. VMware’s key product for middle and enterprise-level service providers is the VMware vSphere. It is a set of solutions covering all the needs the IT provider may have. Starting from VMware ESX, a hypervisor software which runs directly on the hardware without an OS in the middle (a “bare-metal” solution), through Load Balancing and High Availability solutions (VMware Dynamic Resource Scheduler, VMware High Availability), to management consoles.An interesting offer from VMware for IT providers entering the ASP world is a free version of VMware’s ESX hypervisor engine called VMware ESXi.

VMware vSphere: http://www.vmware.com/products/vsphere/VMware ESXi: http://www.vmware.com/products/vi/esx/esx3i.html

VMware vSphere (ESX)Advantages Drawbacks

A complete set of products for covering all what an application providing IT company needs. Virtualization plus: Clustering, Live Memory Management, Live Storage Management, Live Migration, High Availability, Dynamic Resource Management, Memory Over-Commit, enterprise level management consoles.

The VMware ESX hypervisor does not need the host OS. It works directly on hardware.

Free VMware ESXi to start with (growing offer of third-party free management tools and extensions designed to work with VMware ESXi).

Widest range of supported guest OS.

The price tag may be unacceptable for smaller IT companies.

Page 17 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Citrix XENServerXEN is a hypervisor software originally developed at the University of Cambridge as an open-source project, maintained by XenSource, Inc. Since 2007 XenSource has been owned by Citrix Systems and the Citrix brand of Xen is called Citrix XenServer. Recently, Citrix has announced that all versions of XenServer will be available to public as free and open source applications. Besides the free XenServer, Citrix offers a package of high level management tools named “Citrix Essentials”.XenServer runs directly on the hardware layer without need of a host OS, but it requires a supporting OS partition (so called “Xen dom0” domain). XenServer supports mainly open guest operating systems such as Linux, NetBSD or Solaris, mostly because the virtual systems need to be modified (ported) to cooperate with Xen hypervisor. Some newer versions of XenServer running on dedicated hardware (Hardware Assisted Virtualization CPUs from Intel and AMD) can support also unported open OS and closed proprietary systems such MS Windows.Citrix XenServer does not yet offer the High Availability and Dynamic Resource Management. However, these extensions are not initially a “must have” for most of the medium level companies.Citrix Essentials management package also supports the Microsoft Hyper-V hypervisor.

Citrix XenServer: http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939Citrix Essentials: http://www.citrix.com/English/ps2/products/feature.asp?contentID=1687093Cambridge Xen: http://www.cl.cam.ac.uk/research/srg/netos/xenFree Xen Software: http://www.xen-tools.org/software/

Citrix XENServerAdvantages Drawbacks

Virtualization server is a free and open source software.

Support for Clustering, Live Memory Management, High Availability (third party solution), Live Migration (XenMotion), Memory Over-Commit.

Not all guest operating systems are fully supported. Guest OS need to be prepared to cooperate with Xen. Unported and proprietary operating systems can run only on hardware supported virtualization.

Administration consoles and High Availability solutions are provided by third-party software providers.

Lack of Dynamic Resource Manager.

Page 18 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Microsoft Hyper-VMicrosoft’s Hyper-V version 2.0 starts to become a serious competitor for Citrix and VMware hypervisors. The main virtualization server is, like Citrix XenServer, offered for free in one of the distributions.It is shipped in two ways: as a part (role) of non-free Microsoft Windows Server 2008, or as a free distribution named Microsoft Hyper-V Server 2008, which is a limited distribution of Windows Server 2008 with all other roles disabled. Hyper-V mostly supports Microsoft Windows as guest OS, but paravirtualized Red Hat Enterprise and Suse Linux Enterprise Server are also supported.Since version 2.0, it supports Live Migration and provides High Availability solution.

Hyper-V™ Server 2008 R2: http://www.microsoft.com/hyper-v-server/en/us/default.aspx

Microsoft Hyper-VAdvantages Drawbacks

It is free in its limited edition. Support for Clustering, Live Migration (limited,

latest version). Ability to create Hot backups of running virtual

machines.

Lack of: Live Memory Management, Dynamic Resource Manager, Memory Over-Commit.

Limited support for guest OS other than Windows.

GUI management consoles are not available in the free version.

Summary.Currently there are three key players offering mature hypervisors: VMware, Citrix and Microsoft. The VMware solution offers most features, but its edge over the competition will most likely decrease in the coming years. An interesting aspect is that all these hypervisors are available for free in their basic versions. The competition zone is the administration consoles and value-added features (live migration, visual drag & drop candies, etc.).

It is quite hard to obtain an independent performance data comparing these products, although some lab comparison attempts has been made:

Lanamark: http://blog.lanamark.com/2009/03/performance-comparison-citrix-xenserver-vs-microsoft-hyper-v-vs-vmware-esx.html

Performance comparison: http://virtualizationreview.com/articles/2009/03/02/lab-experiment-hypervisors.aspx

4.2. Client-side

The following section shows popular solutions for modern SaaS application clients and client access technologies. The advantages and drawbacks mentioned below are

Page 19 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

described from the end user or end admin perspective. The service provider aspects were not taken into account.

Adobe FlexAbode Flex is a software development kit designed to create cross-platform applications. With Flex, the developer can easily produce rich web application interfaces based on Adobe Flash, which can be executed inside almost every web browser.

Figure 4: Verax Retail Banking (FLEX version) running in Google! Chrome web browser.

In order to run a client application created with Flex, the Adobe Flash plug-in for web browser must be installed on the user’s machine.

Adobe FlexAdvantages Drawbacks

Cross-platform environment. Most browsers and platforms are supported.

Rich and good looking GUI. Small network overhead for communication.

Web browser is required. Access to OS features is limited by the browser layer.

The web browser Flash plug-in must be preinstalled and upgraded periodically. The installation for some browsers requires administrator privileges.

Page 20 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Adobe AIRAdobe AIR is a cross platform development environment designed to create client applications which do not use web clients, but behave more like standard desktop applications. In general, Adobe AIR wraps around the rich web contents application (e.g. Flash) and runs it as a local application.

Figure 5: Verax Retail Banking (AIR version) running on a Windows Vista desktop.

An AIR application doesn’t need a web browser to run, but a runtime framework must be installed locally. Such common frameworks are dedicated to specific platforms, while the business application is cross-platform and covers all platforms for which the framework is available.

Adobe AIRAdvantages Drawbacks

Web browser is not required. The AIR application can fully utilize OS features.

Rich and good-looking GUI. Application behaves like standard desktop application.

Small network overhead for communication.

The AIR framework must be preinstalled and upgraded periodically. The installation requires administrator privileges.

RDP – Remote Desktop ProtocolThis protocol offers the possibility to run the application client on a remote computer and interact with it in the same manner as with locally installed applications. Example products build on this protocol are: Citrix XenApp, Microsoft Terminal Services.

Page 21 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

In this case, no business application is installed on the user side. The user runs the client application a on remote computer inside its own private session. The access is provided by locally executed terminal client software which shows the remote computer graphic desktop inside its window. Terminal access provided by RDP uses this specially crafted protocol to control graphical remote session which is much more network effective than those protocols based on screen capture (e.g. VNC/RFB).

There are many similar products offering remote desktop access based on RDP. A quick summary is available on Wikipedia: http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software

RDP – Remote Desktop ProtocolAdvantages Drawbacks

No installation effort on the end-user side. Terminal client is usually a part of OS.

User is not tied to his or her computer. The application can be accessed from any location capable to connect to terminal server.

All remote users see the same application. There is no hassle with version distribution. All application code upgrades are accessible instantly.

The application client, since it is running on remote computer, does not need to be compatible with end-user computer.

End-user does not need any local administration privileges.

Terminal client provides graphical access to remote computer. The application’s GUI is generally not limited by user’s local environment. Any type of application client can be used on terminal server.

Seamless window feature. Native multisession support.

Network usage is higher than for rich internet applications. Additional overhead is required to transfer remote desktop related information, images especially.

Additional dedicated terminal servers must be allocated for remote session communication.

For proprietary solutions additional terminal licenses must be obtained by service provider which increased the final per user price.

RFB – Remote Framebuffer protocolRFB is a protocol used in all VNC-type applications. Like RDP, this protocol also offers a possibility to run the application client on a remote computer and interact with it locally, but this protocol uses different approach, screen capture, which usually requires higher network and CPU capabilities than RDP.

Like in RDP, in this case also no business application is installed on the user’s side. The users run the client application on a remote computer inside their own private session. The access is provided by locally executed VNC client software which shows the remote computer graphic desktop inside its window.

Page 22 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

There are many similar products offering remote desktop access based on RFB. A quick summary is available on Wikipedia: http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software

RFB – Remote Framebuffer protocolAdvantages Drawbacks

Many RFB implementations are available under GPL license.

User is not tied to his or her computer. The remote application can be accessed from any location capable to connect to terminal server.

All remote users see the same application. There is no hassle with version distribution. All application code upgrades are accessible instantly.

The application client, since it is running on remote computer, does not need to be compatible with end-user computer.

End-user does not need any local administration privileges.

VNC client provides graphical access to remote computer. The application’s GUI is generally not limited by user’s local environment. Any type of application client can be used on terminal server.

Usually higher network and CPU utilization than in RDP.

An RFB/VNC server running on MS Windows environments offers no support for multisession which limits the business usage to Unix/Linux server side systems.

Lower security for some RFB implementations.

Page 23 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

5. Performance testsThe following tables present the results of small scale tests performed by Verax Systems. A few application access methods were compared. The aim of the tests was to estimate the CPU and network loads depending on the technology used. Some of the tests covered both the client and server sides, while others were limited to the client side only. The results only cover the load caused by the client-server communication. The impact of the application itself was eliminated from the final scores.

Note: All performance test results included in this document are approximate. They are more like observations than tests. Their purpose is to illustrate the general performance of specific groups of software and not to promote any specific products. Such results cannot be used as a base for business decisions.

Test conditions used: Client side machine: MS Windows XP Pro, 2GB RAM, Intel Core2 CPU 1.66 GHz,

Ethernet 100 Mbit/s card. Server side machine: MS Windows XP Pro, 2GB RAM, Intel Core2 CPU 1.86 GHz,

Ethernet 100 Mbit/s card. Tested connection between one user and dedicated server.

5.1. Client-side testsProduct Average network

loadAverage CPU load Notes

Adobe Flex Small (<5 Kbit/sec). Small (<10%). See note. CPU performance may depend on the browser, browser version and Flash plug-in version.

Adobe AIR Small (<5 Kbit/sec) Small (<10%). See note.ASP.NET Small (<5 Kbit/sec) Small (<10%). See note.RDP(MS Terminal Services Client)

Medium (50-150 Kbit/sec). See note.

Very small (<5%). Network performance depends mainly on amount of non-cached images shown by the application and chosen screen parameters.

RFB(VNC)

Very high (350-500 Kbit/sec). See note.

Small (<10%). Network performance depends mainly on amount of non-cached images shown by the application and chosen screen parameters.

5.2. Server-side testsProduct Average network

loadAverage CPU load Notes

RDP(MS Terminal Services

Medium (50-150 Kbit/sec). See note.

Very small (<5%). Network performance depends mainly on

Page 24 of 25

Approaches to SaaS – ASPs’ Server and Client Technology Overview

Client) amount of non-cached images shown by the application and chosen screen parameters.

RFB(VNC)

Very high (350-550 Kbit/sec). See note.

Small (<10%). Network performance depends mainly on amount of non-cached images shown by the application and chosen screen parameters.

6. SummaryThis document is an attempt to shed some light on the subject of SaaS-related technical infrastructure. The world of SaaS and virtualization is a dynamically changing one and adds more complexity to management of IT infrastructure. All numbers and product options listed in the document may not be accurate for the moment of reading. The SaaS, ASP, virtualization and all surroundings are now a constantly changing environment.

Introduction of SaaS and virtualization requires new types of service monitoring tools – an additional layer for monitoring virtualization software has to be introduced. Verax Systems’ Network Management System (NMS) has rich capabilities to monitor data center multi-vendor virtualization. For more information on the Verax NMS please go to http://www.veraxsystems.com/en/products/nms.

Page 25 of 25