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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected] 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 | [email protected]