Q

Understanding mobile, Web and cloud apps and system architecture

While the distinctions between mobile apps, Web apps and cloud apps are important, understanding their relationships to the overall system architecture is what developers really need to focus on.

This Content Component encountered an error

Can you explain the differences between mobile apps, cloud apps, and Web apps?

The obvious answer is that mobile applications run on mobile devices, cloud applications run "in the cloud" and Web applications expose themselves to users via a Web interface. However, the reality is that modern applications often cannot be easily classified into one of these categories because they contain aspects of two or more.

For example, let’s look at a fictional cloud-based file storage system. This isn't a single application but rather a collection of applications that work together to provide functionality to users in a number of ways. This cloud-based file storage system would likely have a Web-based application where users could sign up and perform functions such as uploading and downloading files. In addition, there may be one or more mobile clients for iPhones, iPads and Android devices that would allow mobile users to be able to perform these same functions remotely. The infrastructure for this application - computing, data storage and so on - could be provided by a cloud provider such as Rackspace or Amazon or might be provided by a "private cloud" installation of a system like OpenStack. All of these components together make up what the user views as an application, but to characterize this as a Web app" or "mobile app" or "cloud app" is insufficient to describe the system.

This creates challenges for application developers because the architecture for modern systems is getting increasingly complicated. For example, code could be running on multiple servers and mobile devices, third party providers may be playing some sort of a role in the applications delivery and problems in a single component could potentially make the system unusable. From a security standpoint, more complicated applications have more complicated threat models, and security testing activities will likely have to span multiple tools and techniques. Decisions must be made about what functionality will reside on which systems and there will likely be tradeoffs to be considered. From a performance standpoint, potential issues could show up in a variety of places and the source of problems might not be immediately obvious. Therefore, for modern applications, the questions is not "Is this a Web app, a mobile app or a cloud app?" but rather, "What is the architecture of this system, what components are involved and how are they implemented?"

This was first published in July 2012

Dig deeper on Cloud ALM

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchSOA

TheServerSide

SearchCloudApplications

SearchAWS

SearchBusinessAnalytics

SearchFinancialApplications

SearchHealthIT

Close