The line between a cloud app and a web app remains as blurry as ever. This of course stems from the natural similarities that exist between them. I'm of the opinion, however, that there are noteworthy differences, especially when looking to leverage cloud apps for richer user customization experience and seamless integration with resilient and scalable back-end infrastructure, which often characterizes public cloud services.
Just how different, similar or even blurry are these concepts? How is this of any concern to cloud consumers? And what should application service providers do to revolutionize their web apps for the cloud?
For me, a cloud app is the evolved web app. It's equally used to access online services over the Internet like web apps but not always exclusively dependent on web browsers to work. It's possible for a customizable, multi-tenancy cloud app to be solely available over the web browser from service providers, but quite often the web-interface is used as alternative access methods to the custom built cloud app for online services.
Cloud apps are usually characterized by advanced features such as:
- Data is stored in a cloud / cloud-like infrastructure
- Data can be cached locally for full-offline mode
- Support for different user requirements, e.g., data backup cloud app with different features such as data compression, security, backup schedule
- Can be used from web browser and/or custom built apps installed on Internet connected devices such as desktops, mobile phones
- Can be used to access a wider range of services such as on-demand computing cycle, storage, application development platforms
Examples of cloud apps
Some common examples include Mozy, Evernote, Sugar Sync, Salesforce, Dropbox, NetSuite, and Zoho.com. Other qualifying examples such as web email (Google, Yahoo, Microsoft Hotmail, etc.) may not be so obvious, but they depend on cloud technology and are available off-line if consumers so choose to have them configured as such.
There are numerous websites where you can find useful information on cloud apps. I found www.getapp.com to be particularly informative. It includes cloud app reviews and ratings to evaluate the apps.
The obvious benefit that this computing model provides over the traditional desktop app is that it is accessible from anywhere via the web browser. Cloud apps can also be accessed this way.
Examples of web apps
For many, including myself, web services such as WebEx, electronic banking, online shopping applications, and eBay fall into this category in as much as they are exclusively web-based with limited options for consumer customization.
In another example, I would include Facebook and similar types of web applications. I'm sure some will disagree with this, but I don't think Facebook exactly offers customized services. It's simply used as it is provided.Conclusion
Application service providers have been quick to exploit advantages brought about by pioneering web app building framework technologies for greater customer reach. However these technologies are not necessarily optimized for building new apps for the cloud era.
Cloud apps are web apps in the sense that they can be used through web browsers but not all web apps are cloud apps. Software vendors often bundle web apps to sell as "cloud" apps simply because it's the latest buzz-word technology, but web apps do not offer the same richness in functionality and customization you'll get from cloud apps. So, buyer beware!
Some software application vendors also falsely think that just because their application runs on the web, this automatically qualifies it to be a cloud app. This is not always the case. For your web app to evolve into a cloud app, it should exhibit certain properties such as
- True multi-tenancy to support various requirements & needs for consumers
- Support for virtualization technology, which plays a starring role for cloud era apps. Web applications should either be built to support this or re-engineered to do so
The good news is that vendors looking to move into this cloud app space now have rich development platforms and frameworks to choose from. Whether migrating from an existing web app or even starting from scratch. These new age cloud app development platforms are affordable and agile, reducing time to market and software development complexities.
VMware Cloud foundry, Google apps Engine, Microsoft Azure, Appcara, Salesforce (Heroku and Force.com), AppFog, Engine Yard, Standing Cloud, and Mendix are examples of such development platforms offering cloud-based technology for building modern applications.
Tajudeen (Taj) Abubakr (CISSP, CISM, CISA, SABSA) is a certified information security manager with broad consulting experience in Security programmes delivery management, cloud computing, enterprise IS governance, risk & compliance (GRC). He is currently employed as Information security specialist for a global financial services organization in the UK.