PDF

Transcription

PDF
Bridge Desktop Apps,
Web Apps and RIA on
Runaware Cloud
1
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
September,
June, 2010 2010
Will Desktop Apps meet Web Apps in the RIA Cloud?
An intriguing expectation of cloud
apps is that they would package the
richness of desktop apps with the
convenience of Web apps. There
are more than a million software
applications built for Microsoft
Windows alone, the primary OS
used by the Enterprise and home
users alike. There are a large
number of applications running on
Linux and Solaris as well, especially
from the research and academic
communities, which are of vital
importance to the economy.
Applications on the Macintosh OS
have gained popularity due the
great UX they offer. In all these
cases, apps must be installed on the
OS, integrating their components
such as the linked libraries and
settings with the OS. It is estimated
that the apps following this traditional
software installation model, known
as the Locally Installable Apps
(LIA), require up to 5 times their
initial cost for their maintenance.
The SaaS model offers to cut down
these costs significantly.
LIA have one unique usability and
performance advantage: they have
quick and easy access to the key
system resources such as memory,
CPU and storage. They do have
their own share of pain as well,
such as the familiar app crashes and
the blue screens of death.
2
In contrast, applications which are
installed on remote servers, such
as Web apps and Rich Internet
Applications (RIA), depend on the
remote machine resources for the
most part. There are an estimated
1 trillion unique URLs on the Web,
which implies that there are at least
several tens of millions of unique
Web apps. As we can recall from
experience using the Web, performance
of such apps could sometimes be
degraded, due to limitations in
resources such as network bandwidth
and speed as well as remote server
resources. ‘Server is currently
down!’ is an error familiar to all
net surfers. What cloud computing
promises to deliver is the richness
of functionality and features
traditionally offered only by the
LIA, and the convenience, scalability
and cost advantages of the RIA,
packaged into Software as a Service
(SaaS).
LIA and RIA are also at the center of
the debate among major ISVs such as
Microsoft, Google, Apple and Adobe
– a debate whose outcomes could
define the next wave of computing
innovations from Mobile to Desktop
to Data Center.
This debate comparatively evaluates
Software plus Service – the model
where LIA on the desktop are
augmented with SaaS apps delivered
via the Web, against SaaS – which
does not require any app installation
on the desktop and promises to
replace the desktop OS itself with
a Web OS, such as the Google
Chrome OS. History shows that
even very novel, disruptive innovations
in technology have not completely
replaced the older technologies,
which continue to find their niche
uses. Mainframes from the 60s are
a case in point: they continue to
serve many large organizations as
an economic platform for distributed
workloads with remote access,
and are even evolving into newer
‘cloud’ versions. In this article,
we will examine the relevance of
LIA, Web apps and RIA to a cloudcentric world, and the technologic
merits and challenges of each
option, in a cloud infrastructure.
These advantages and challenges
are relevant in the context of
Enterprise users, the largest customer
sector for SaaS, and consumers as
well. In addition to the technology
considerations, there are some key
business and management
considerations which make defining
the nature of cloud apps tricky.
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
Enterprise IT: Head in the Clouds, Feet on the Ground
Enterprise and SMBs today comprise of legacy systems and platforms, and legacy applications of significant
complexity. This represents a major financial and engineering investment in the industry. Incompatibility of
legacy systems and applications (App Compat problem) typically is a major blocker to the adoption of any new
technology, and cloud computing is no exception.
Every interface between the existing IT infrastructure, which typically is already heterogeneous, and the new
Cloud solution, represents a ‘stitch’ – an interface which needs to be seamlessly integrated. For example, an HR
Management application or a Corporate Learning portal, which are migrated to the Cloud as SaaS apps, will still
need to be integrated with the Active Directory and Identity Management Server of the Enterprise, which run as
on premise solutions, as well as with mobile applications running on end user devices. An automotive
engineering modeling application maintained as a SaaS portal at several customer sites may need to be integrated
and synchronized with a central, on-premise simulation engine and master database. This need for integration
between SaaS and the existing infrastructure is no limited to the application and presentation layers by any means.
For example, an application which needs to broadcast to other nodes within the corporate network or an experience
which requires virtual machine (VM) migration, may not work well in a cloud environment, due to network
configuration issues which prevent traffic crossing the firewall. Applications which require device access may
pose challenges as well.
Further, existing IT infrastructures of today’s Enterprise are also very heterogeneous, which include, for
example, OS of different flavors (Windows, IBM z/OS, Linux, Mac, Solaris Sun and Mainframes), Virtualization
solutions from different vendors including Xen, VMware and Microsoft, Database solutions such as SQL, Oracle,
MySQL, and systems management solutions such as Microsoft’s SCCM, SCVMM, IBM’s TiVoli and Web Sphere,
and other SMB management solutions.
What this legacy of investment, heterogeneity and complexity means is that, in the foreseeable future, Enterprise
will look for ways to embrace the attractive Cloud IT model, while continuing to protect the ‘ROEI’ (Return on
Existing Investment) represented by the legacy apps, desktops and systems. Avigdor Luttinger, one of the founders
of Magic Software, while discussing the merits and limitations RIA for Cloud computing, suggests that a paradigm
that can support the entire application delivery spectrum - desktop, client/server, Web, RIA and SaaS, with the
same application trunk - is ideal for the cloud. In his view, this means that “an organization running a typical
OS/400 application can now continue to deploy this application on the old terminals - in addition it now becomes
accessible to fat clients, Web clients, rich clients and mobile clients as well. This approach is a true reflection
of corporate reality, extending even to bridge business requirements and platforms with the social nature of the
Web.” At Runaware, our SaaS platform is built keeping this reality in mind.
3
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
How Does a Cloud App Look and Feel?
Owing to such heterogeneity and legacy needs, the precise nature of a ‘cloud app’ – its look (GUI), feel and the
user experiences it is most suited for – is still very much evolving and is being debated. Here are a few different
ways to envision a cloud app:
1. A Web app delivered via a browser on demand, meeting the elasticity and pay-per-use requirements of SaaS,
2. A ‘Web app’ delivered not via a browser, but via its own GUI which looks and feels like a Desktop app, on demand,
3. A Rich Internet App, which uses the client and server-side resources to provide rich, LIA-like UX and also meets SaaS requirements,
4. A RIA or Web App ‘shell’, into which content from multiple vendors is integrated (as in mash-ups), remoted or streamed on demand,
5. A Desktop app (LIA) which comes with a lighter weight Web version and the ability to synchronize the two versions frequently,
6. A Desktop app without a separate Web version, but enabled as SaaS using remoting technologies such as Citrix, RDP or Teradici etc.,
7. A Desktop app without a separate Web version, which is streamed to remote user clients on demand, using App Virtualization,
8. An entire, light-weight OS container or Desktop, with one or more apps packaged and delivered via SaaS model to end users,
9. An app built by users (non-programmers) on the fly, using a 4th generation language and on a remote PaaS platform, and used as needed.
As cloud adoption increases, business realities and technical innovation together would determine the nature of
future cloud apps. In the early stages of adoption of a disruptive development such as SaaS, there is a significant
need for experimentation, evaluation and a smooth transition from the existing IT infrastructure and user
experiences to the new model. Historic data show that such disruptive technologies initially encounter some
resistance to adoption, due to the learning curve and initial costs involved. For example, the Legacy Application
Compatibility problem is well known to organizations considering upgrading from an existing Operating System
(OS) to a new one. Enterprises cannot afford to have any disruption to the use of their existing IT systems
and Line of Business (LoB) applications, and also cannot spend much time training their busy staff with a new
platform. This means, especially during the early stages of SaaS adoption, cloud vendors will likely have to
provide not a single cloud app experience, but multiple cloud app experiences, to address the heterogeneity and
legacy needs.
4
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
Recognizing this need, Runaware’s SaaS platform is built to provide 8 distinct cloud app experiences. These 8
Runaware Cloud Sessions are shown in Table 1.
Table 1. Types of Existing Applications Enabled as SaaS on Runaware Cloud Platform
TYPE OF APP AS RUNAWARE
CLOUD SESSION
Application Session to Productivity Applications
Application Session to Graphics Intensive
Applications
Virtual Desktop Session (single VM)
Virtual Session to Network of VMs
Greenfields RIA Applications built for the Cloud
Legacy Web Applications not built for the Cloud
Distributed Web App with Storage
Apps built on a Platform as a Service (PaaS)
platform
EXAMPLE
Adobe Photoshop; Quicken; Corel Word
Perfect
Maya Animation Studio; Visualization Tool Kit
A client OS desktop presented in a Web
Browser
Microsoft Office Communications Server: a
7 Virtual Machine network shown in a Web
browser
A social networking portal supporting
collaboration across a business org, for
multiple orgs.
A supply chain management portal,
refactored as a SaaS portal
A globally distributed Travel Reservations and
Management Portal
A hosted software development platform to
create and host new applications.
All such SaaS apps are packaged on Runaware’s cloud platform ‘as is’ without requiring any significant additional
development. ISVs can choose session types and size of the sessions as well, using specifications are based on
the amount of memory, CPU, attached storage and data transfer rates. Runaware’s flagship SaaS solutions like
TestDriveTM are built on a cloud platform combining system virtualization, presentation virtualization, autonomic
management and Web technologies in an innovative way.
5
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
Cloud Application Development: Technical Challenges
While the Cloud is a new, economical way of delivering software and infrastructure to the end users, what users
primarily care about is the goodness of the experience itself. As long as the software, as a service now, is
delivered with a User Experience (UX) and performance which match or exceed the traditional software delivery
models, users would welcome the Cloud. Delivering such diverse set of application experiences with a good UX
involves a number of technical challenges, which stem from four primary sources:
1. Virtualization, a cloud’s backbone which helps meet the elasticity and multi-tenancy requirements, has
performance and usability implications,
2. Network issues would pose challenges to both functionality and quality of cloud apps, owing to network
configuration, latency, bandwidth and security aspects,
3. Separation of machine and system resources (hardware including devices and the OS ) from user and apps,
which limits the functionality of an app, and
4. Diversity of application programming and delivery models
Cloud development teams somehow need to figure out ways to overcome such challenges and deliver user
experiences on par with today’s Locally Installed Apps (LIA), in an elastic way, on demand. They need to achieve
this for each of the diverse array of cloud app types, as typified above. Furthermore, they also must deliver an
experience for the end-user that can seamlessly integrate these multiple cloud app experiences on a single device,
or across devices. That is, a legacy desktop app and a new Greenfield app, both presented via SaaS, should be
able to talk to each other, drag and drop, copy, cut and paste between each other. They need to be accessible via
at least desktops and laptops, and ideally mobile devices as well. If this sounds daunting, it is. But this is what
the post Web 2.0 users are going to expect, and vendors would scramble to deliver.
Comparing Web Apps and Desktop Apps
Web and ISV communities are debating the relative merits of these various app delivery models – Web apps, LIA
d RIA, in the past few years. In light of the new Cloud paradigm, a key question in this context is which app delivery
model is best suited to the Cloud? Remote access ‘anytime, anywhere’, and Elasticity – IT’s ability to deliver
and retire apps and user experiences on demand and charge for only what was used over a given duration (pay per
use) are the two distinguishing features of Cloud model. Web apps and RIA certainly meet the first requirement,
but they do not automatically meet the elasticity requirements. Elasticity is partly in the application – its ability
to scale up for multiple concurrent users (CCUs), but is largely rests in the infrastructure – the data centers which
host the applications. Networked data centers require virtualization and a ‘smart’ or autonomic provisioning and
management framework to achieve elasticity.
6
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
Suitability of RIA as Cloud Apps
Rich Internet Applications (RIAs) are considered a cross between the desktop apps and web apps. Unlike plain
Web apps, the RIA paradigm can be used to build rich, interactive business apps (productivity apps). Just like
Web apps, RIA also are installed on app servers in a data center, and can be accessed by multiple clients using
a web browser. They combine the advantages of LIA and Web apps to some extent. For example, they can
summon the end-user client’s computing power for client-side computing, without requiring an actual
installation on the client machine. Unlike LIA, they can be accessed via mobile devices and netbooks. They
can support some of the rich features of LIA, such as ‘Drag and Drop’ and ‘Copy-Paste’, even within a browser
and across browser-based apps and local apps.
However, it is not clear whether RIA will be the
default Cloud app experiences of tomorrow and if
the Web browser can continue to be an effective
GUI for the Cloud apps. The Web browser started
as an interface for accessing and linking hypertext
documents, not for presenting feature rich applications.
Jesse James Garrett explains the two functions of a
web browser as a hypertext linking system and as a
user interface for remote applications. However, as
Web 2.0 technologies such as AJAX and Flash are
integrated into the browser, users have come to
expect the functionality and richness they expect
Figure 1. Rich Internet Applications set expectations for
from desktop applications. RIA community is
future Cloud apps
debating the limitations of web browser in meeting
such expectations, and some are advocating ‘browserfree RIA’ – a GUI which presents the RIA experience without requiring a browser. For example, Magic Software presents a RIA model which enables developers to build and deploy RIA applications with GUI that look
and feel like desktop allocations, without requiring launching via a browser. On the other hand, desktop apps
(LIA) are also catching up with RIA, with webified versions, to facilitate easy access in both online and offline
scenarios. The desktop app can be used without online access, whereas the webified version is used while on
the move, and the two versions are kept in sync. This model still requires going through a browser, however.
Let us consider a few examples of such challenges in meeting these cloud expectations.
7
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
Copy that Cloud File and Paste it Here, Please!
How would the end user share text, data, pictures and
files among cloud apps – the diverse application delivery
models we considered so far? Cut and paste and copy
and paste are necessary user-interface paradigms for
transferring text, data, files or objects from a source to
a destination on the desktop, and clipboard is one key
implementation mechanism to facilitate it.
Microsoft’s Live clipboard, Google’s Google Docs
clipboard and IBM’s Atom Clip are some very recent
examples of progress in this direction – enabling Web
Figure 2. Simple UI features such as Cut and Paste of
objects are yet too mature for Web apps and SaaS
apps to share clipboard content for cut, copy and paste.
But even Web apps are far from enabling a polished user
experience for the following types of operations, which
are taken for granted on desktop LIA apps running within a corporate LAN:
• Drag and Drop an object among applications and the Desktop
• Integrate the app with a mail client such as Outlook
• Folder redirection
• Save the Web app to a local folder
• USB device support for the app (e.g. smartcards)
• Merging files of the same app type
• Printing support
• Save state of an RIA app with significant data, and retrieve
• Migrate a remote application session across a LAN and a cloud network
The four technology considerations listed above are key factors contributing to such limitations. Cloud technology
innovation is expected to address them.
8
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
The Runaware Advantage
Runaware is an 11 year old SaaS platform which effectively served many customers ranging from the Fortune 500
to SMB, with one of our flagship SaaS solutions for online demos of a large variety of ISV software for Markeing,
Sales and Training, called Test Drive. Therefore, Runaware’s cloud platform, of necessity, was designed and built
to take any of the millions of ISV applications available on any versions of major OS platforms such as Windows,
Linux, Solaris and Mac, and enable them as a SaaS software. Technical and implementation challenges stemming
from the four technology areas described above – Virtualization, Networking, System resource separation and
Diversity of apps - are addressed with a two-pronged architectural strategy. First, the platform has a robust autonomic deployment and management framework integrating the system virtualization and presentation layers,
which can SaaS-ify a very diverse set of app experiences by design. In addition, we work with each customer
and ISV application or experience, to ensure that all of the special app requirements such as VPN access, device
access, migration across LANs, GPU support, folder and storage layers integration etc. are enabled as needed.
This is why it is possible to SaaSify even highly complex workflows on the Runaware cloud platform. They can
include graphics intensive applications requiring GPU acceleration, highly memory intensive workloads, distributed systems requiring networks of VMs or desktop sessions. For example, it is possible to present a workflow
to demonstrate Microsoft’s Office Communications Server using an 8 VM network in a single session, which the
end-user can access via the click of a web browser. Apps requiring frequent I/O access are given such access using data store virtualization with a combination of local and cloud-based data stores. Productivity applications
which require access to devices such as smartcards and printers can be easily enabled to run on the cloud, using
our platform. The end result is that your application’s SaaS version will have a user experience close to that of a
desktop application.
Runaware’s Cloud platform provides a complete, end-to-end interactive SaaS experience for any of your existing
and legacy applications, running on any OS. It does not require additional engineering work on your team’s
part. We do not simply provide you barebones VMs and ask you to build your own SaaS apps. Instead, we take
your existing apps and build SaaS versions for them, package them and host them on our Cloud platform, with
complete usability, scalability and performance testing, and 24 x 7 support. Runaware’s long experience and the
resulting iteratively improved platform and features, are uniquely suited to help businesses integrate any of your
existing app and systems platforms to the Cloud seamlessly. Runaware’s cloud platform provides complete, endto-end user experiences beyond provisioning the basic VMs and storage, for both legacy and new ‘green fields’
cloud applications. The key advantages and differentiating features of Runaware’s Cloud platform are explained
in an accompanying whitepaper.
Please fill in the information at this link today or call our pre-sales engineering team to get a detailed assessment
of suitability and approaches to developing cloud solutions for your business and IT needs.
9
Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | www.runaware.com | info@runaware.com
Founded in 1999, Runaware is the global leader in online
demos and software marketing. Runaware’s TestDrive
suite of services include hosted online demos, customer
profiling and lead capture and additional software marketing
services that provide the technology, expertise and resources
to build an effective marketing program. Runaware produces
measurable results like higher sales and conversion rates
and shorter sales cycles. TestDrive is revolutionizing online
sales and marketing for Independent Software Vendors in
areas such as finance & accounting, graphic design, office
productivity, contact management, IT systems, real estate
and medical. Runaware is positioned to provide marketing
professionals in the software industry with all of their demo
and software marketing needs.
White Paper,
Volume One, June, 2010
www.runaware.com
| info@runaware.com
10 Runaware White Paper, Volume Three, August, 2010 - Copyright © 2010 Runaware Inc. All rights reserved | Runaware
Copyright © 2010 Runaware Inc. All rights reserved.
www.runaware.com | info@runaware.com