A cloud application is an application that provides the functionality of a native application, but which runs in the cloud and is interacted with via web browsers and APIs.
When we talk about the cloud, we usually mean public cloud Infrastructure-as-a-Service platforms, but IaaS was a late-comer in the cloud space compared to Software-as-a-Service — cloud applications came first.
Software-as-a-Service cloud apps have been around since the late-nineties, developing from simpler web applications that used technology like Flash and Java to provide primitive “desktop-like” functionality accessible in the web browser.
Like many of the terms we’re discussing in this article, the meaning of “cloud” is hazy. A definition everyone can agree on focuses on functionality provided over a network where compute and storage happens on servers in data centers. In the broadest possible sense, the cloud is everything that happens on the internet rather than on a local machine. But cloud is usually used in a more constrained sense: applications and infrastructure used and managed over the internet, offering a web-based interface, and often — although not always — involving virtualization.
That definition includes cloud infrastructure platforms that provide virtual servers, networks, and other infrastructure, as well as cloud applications that run in a remote data center. Google Docs is a paradigmatic example of a cloud application. To access Google Docs, you need nothing more than a machine capable of running a web browser. The interface and all the functionality, including data storage, are delivered from remote servers.
Cloud Applications vs. Native Applications
Google Docs also provides a useful point of comparison between modern cloud apps and the older native application paradigm. In the early days of the web, bandwidth was constrained. It was impossible to deliver feature-rich applications over the internet and provide a good user experience.
Applications like Microsoft’s Office were downloaded once or purchased on disks and installed on local computers. All processing and storage happened on the local machine.
The native application model has some benefits, but in an age of abundant bandwidth and a web platform with far richer functionality than ever before, many choose to take a cloud-first approach to development. Even companies that made their fortunes with desktop apps, like Microsoft, can see which way the wind is blowing and are making the move to cloud application delivery.
Cloud Applications vs. Web Applications
So how do cloud applications differ from web applications? Firstly, and somewhat counter-intuitively, for the most part, modern cloud applications use APIs and technologies that are native to the web. When you open a cloud app, you aren’t asked to download a plugin that runs in the browser — the application uses technology built into the browser.
Secondly, web apps were often of limited functionality compared to desktop applications, whereas cloud applications are competitive with native applications, although they are often simpler and offer a more intuitive user experience.
And, most importantly, cloud applications provide APIs in addition to their web interface. The web is one way to interact with a cloud application but it’s not the only way. This matters because integration and automation are key benefits of the cloud.
Without an API, web app users are forced to interact with the application in a browser. With the APIs of modern cloud applications, users can write scripts and applications to “remote control” their applications and data. With APIs, cloud apps can be integrated with each other to perform user-specific workflows. Services like IFTTT and Zapier exist to make integration easier.
Benefits Of Using A Cloud App
If you’ve worked in IT for more than a few years, you’ll remember how complex it was to manage large software deployments when applications ran on desktop PCs. Cloud applications solve the problem of large-scale distributed software deployments.
Because users access cloud applications with a browser, there is no need to install, update, and manage business applications across every desktop computer or laptop the business owns.
Cloud applications offer fine-grained, centralized user and data control. IT departments can manage who has access to data and what they can do with it via a dedicated control interface, reducing the complexity of business software management.
Cloud applications are also more secure than desktop applications. Users don’t have the opportunity to install malware that puts the business at risk. Vulnerabilities in cloud applications can be fixed as soon as they’re discovered and delivered to users when they hit the refresh button in their browser, rather than via complex patch rollouts.
Additionally, cloud applications give companies insight into who is using their resources and how they’re being used.
Reduced Management Costs
Because cloud applications provide greater control and improved security, the cost of managing essential business applications is reduced. With cloud applications, companies outsource much of the management burden to the cloud app vendor, reducing the need for large in-house IT teams.
Reduced Software Licensing Costs
Traditional enterprise software licensing is a large cost-center for many businesses. Vendor loved to lock their customers into applications and charge huge licensing, upgrade, and support fees.
With cloud apps, most of that complexity goes away. Typically, cloud apps are subscription services with simple licenses. Companies pay a fixed amount each month for each user. If they don’t want to use the software any more, it’s often straightforward to export data and migrate to a different solution. Companies only pay for the cloud app resources they use.
In 2017, Software-as-a-Service cloud applications have eclipsed traditional software distribution and licensing. The benefits are overwhelming for both developers and users. There are occasions where native applications are preferable, but as new web technologies become widely available, the web platform and the cloud will further cement their place as the leading app development and delivery strategy.