Cloud or desktop? Compare and contrast applications

Decide which one is right for you

Cloud applications have some advantages over desktop applications: They can be less expensive, simpler to manage, and easier to update and use. On the other hand, there may be reasons to keep your application on your desktop, including network bandwidth. This article describes the basic differences between applications that run on your desktop and similar applications optimized for the cloud, to help you choose how to access your applications.

Share:

Gowri Shankar Palani, Associate Software Engineer, IBM

Author photoGowri is part of the WebSphere CastIron team at the IBM India Software Lab in Bangalore. He is an Oracle Certified Professional Java Programmer and has worked with GUI development in Adobe Flex and Dojo. He is currently focused on XML and web services. His interests include writing technical articles and exploring and learning new technologies.



18 April 2011

Also available in Chinese Russian Japanese Vietnamese

Advantages of desktop applications vs. applications optimized for the cloud

Develop skills on this topic

This content is part of a progressive knowledge path for advancing your skills. See Cloud Computing: Introduction to Software as a Service

As cloud computing gains traction with enterprises and end users, many conventional applications are moving to the cloud. One reason is that cloud applications are often less expensive, simple to manage, and easy to update and use. Since a browser is the most often-used tool for end users, many find it convenient to work with cloud-based applications that are delivered through a browser. Each delivery method has advantages and disadvantages.

  • Software installation
    One of the biggest advantages to cloud applications is that no installation is required. You can avoid the time and effort required to download software. The cloud application is rendered in the browser, thereby exploiting the browser capabilities such as flash content rendering and CSS. Advantage: Cloud
  • Resource utilization
    In cloud applications, most of the heavy processing is handled by the service provider, which minimizes the requirements on your system configuration. Desktop applications require high memory and processing speed for complex applications like graphic design. Advantage: Cloud
  • Software updates
    Desktop applications need to be updated periodically. The desktop application prompts you to download updates or you need to manually update the software. Cloud applications are updated by the application service provider. Advantage: Cloud
  • Platform independence
    Desktop applications have to be developed for multiple platforms, such as Windows, Linux, Mac, and specific hardware. Since most cloud applications are developed to be used in a browser, they run on various platforms. Advantage: Cloud
  • Networking capabilities
    One of the key advantages of the desktop application is its independence from internet connectivity and bandwidth considerations. Cloud applications rely upon the internet infrastructure for data transport and content rendering. Advantage: Desktop
  • Advertising
    You'll likely encounter advertisements in cloud based applications, while few desktop applications display ads within the application. This is not a technical issue, but the fact that bandwidth is a very important consideration in cloud application makes us consider wasted bandwidth that ads rack up. Advantage: Desktop
  • Authentication and authorization
    Cloud applications use end-user information for a variety of reasons, such as tracking usage or delivering quality of service. We find many cloud applications offer premium users improved bandwidth, additional storage and other value added features compared to the features offered to users who do not have premium service. Most desktop applications require little if any authentication, and if they do, they will rely on the operating system to determine the privileges, with system administrator having full access. Advantage: Desktop
  • Architecture
    Desktop applications are single-tenant-based applications where as Software as a Service (SaaS)-based cloud applications are multi-tenant. With a multi-tenant model, application upgrades are taken care of the SaaS provider. With single-tenant applications, configuration and upgrades are done by the user, which allows you to offer specific functions and customization. Advantage: Both
  • Data storage
    In desktop applications the data is stored on your own computer, whereas in SaaS applications data resides in the server space allocated to you. Since most of the processing is handled on the server side, data needs to be transported to and from the cloud application service provider. This can impose a requirement for high bandwidth to accommodate frequent and large data calls to the cloud server. Advantage: Desktop
  • Security
    Desktop applications have information on the internal details of a system, such as data storage location, encryption used, and user privileges. One of the biggest challenges in cloud computing is having lack of proper information on location of the data, recovery policy used, encryption method, and trustworthiness of the cloud service provider. Owing to these factors, users may hesitate to place highly sensitive information on the servers of third party cloud service providers. Advantage: Desktop

All web applications are not cloud applications

There is a misconception that all applications rendered by a browser are cloud-based applications. Actually, there are specific characteristics that make an application a cloud application. A few of the important characteristics of a cloud application are:

  • It is multi-tenant.
  • It is platform and hardware independent.
  • It supports API access.
  • It is accessible from any system connected to the internet.
  • It doesn't matter to the user where of the application resides.

Migrating applications to the cloud

Many applications that were created for the desktop are being migrated to the cloud. In some cases, the same application is run in the cloud environment. In others, a different implementation of the application is run in the cloud. And, there are new applications developed specifically to run on cloud infrastructure to let you harness the advantages provided by the cloud. The following sections offer a comparison of cloud and desktop applications under various scenarios.

Same application on a desktop and in the cloud

Desktop applications can be run in a cloud environment, in a sandbox or through application streaming.

Desktop applications in a sandbox

One way to host desktop applications in the cloud is to use a service such as the one provided by spoon.net, which uses predictive streaming and application virtualization to provide a sandbox environment to run most Windows™-based applications. You'll have to install a plugin from their site.

Application streaming

In this method, a small part of the application resides on your system, and the rest of the component lies on the streaming server and is sent to you on demand. Application streaming in turn relies on application virtualization. The streaming infrastructure can be set up locally in a corporate environment or it can be accessed over the internet. Depending on the technology and the method used, the client may require a plugin or software to run the application that is being streamed. One tool that available is Application JukeBox from Endeavors Technologies.

There are some advantages to running the desktop application in a cloud environment:

  • You can take advantage of the cloud infrastructure to minimize set up and software updates.
  • Streaming the application lets you use the features of an application only when you need them, as opposed to installing all the features that he may not use.

At the same time, running the same application in cloud environment poses some disadvantages:

  • You'll be dependent on network speed and availability.
  • There may be some concerns about the installation of third party plugins.

Same application, different implementations

Many conventional desktop-based applications now offer a cloud version, too, to address the needs of both audiences. The cloud version of a desktop application offers convenience, but fewer features. Since it will be opened in a browser, it should open quickly so you can start working right away. A few of those desktop applications are:

  • IBM Lotus® Notes. This desktop application offers a cloud version, Lotus iNotes, which can be accessed through a browser such as Gmail. Based on the features supported, Lotus iNotes is available in three modes: Full mode, light mode, and ultra light mode.
  • Adobe. Similarly, it offers a cloud version of the photo editing software Photoshop. The cloud version provides fewer features than the desktop version.
  • IBM Rational® Team Concert. A collaboration tool for software development teams. It offers two modes: A desktop-based tool with full functionality, including a create/edit task, a source code editor, and more. The browser-based version omits a few features, including the source code editor.

An advantage of having an application that is supported on both the cloud and desktop is the flexibility to use the version you need at the time. The operations performed in the desktop and the cloud version of the application will be in sync, to ensure consistency of state and data, although the user interface will be different. Consider the following scenarios:

  • A user with a Lotus Notes e-mail client is browsing the Internet and wants to share a URL link with a colleague. Though he can open his Lotus Notes thick client and send the mail, it would be quicker and more convenient to simply send the link using his Lotus-iNotes URL in a browser.
  • Likewise in software teams, when a team lead wants a quick glance at his team's progress, he could hit his Rational Team Concert's web URL rather than opening up the client and checking the details.

Different application for each system

If you don't want to make a desktop application work on the cloud or create an additional version of the desktop application, there are applications which are developed specifically to run on the cloud. These applications don't usually provide a desktop equivalent. But, since these applications are developed with the purpose of deploying them in the cloud, they more run efficiently on the cloud infrastructure. Some examples include:

  • ZohoDocs offers a desktop office suite.
  • LotusLive is set of cloud-based collaboration tools from IBM offering services for accessing email (LotusLive iNotes), for conducting web meetings (LotusLive Meetings), for sharing files and business networking (LotusLive Connections).
  • Pixlr and picnik offer free photo editing.
  • Several customer relationship management (CRM ) applications are available on the cloud, including SugarCRM.

Conclusion

This article has compared the features of desktop applications with those of applications that run in the cloud, and described the differences you may encounter when running your application in a cloud or a desktop environment. Each environment has its advantages and disadvantages, and your unique requirements will determine which is best for you.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Cloud computing on developerWorks


  • Bluemix Developers Community

    Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.

  • developerWorks Labs

    Experiment with new directions in software development.

  • DevOps Services

    Software development in the cloud. Register today to create a project.

  • Try SoftLayer Cloud

    Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Cloud computing
ArticleID=647139
ArticleTitle=Cloud or desktop? Compare and contrast applications
publish-date=04182011