Skip to main content

cloud applications

What are Cloud Applications?

A commonly used term in software sales and development is cloud applications, but what exactly does that mean? Let’s start by taking a look at the definition of what a cloud application is. Then we’ll explore the various designs and cloud services that are available, and why you might want one.

Definition of a Cloud Application

A cloud application is an Internet-based program where some, or all, of the processing logic and data storage, is processed in the cloud. The user interacts with the application via a web browser or a mobile application, and the data processing is managed by a combination of the local device and a cloud computing solution. From the user’s perspective, the cloud application behaves like a standard website, but the computing and data processing is handled by the cloud via an API (application program interface) or a hybrid of both.

Cloud Application Designs

Cloud applications are usually designed in one of three ways:

  • A local device runs a browser, and the application looks like a classic web solution using HTML sent by the cloud server to the local device. In this case, the logic, the data and the formatting of the output are controlled by the cloud servers. A well-known example of such an application is DropBox, where the user interacts with the application in a web browser to upload and interact with their files, but all of the data processing and storage happens remotely on the cloud.
  • The local device runs a browser, but at the startup of the application, it downloads a browser-based application, such as javascript, that runs locally to the device. Then the local app handles some of the processing and makes API calls to the cloud servers for additional processing and data. An example of this is Google Docs. Once you’ve launched Google Docs, you can configure the system to allow you to continue editing a document even after losing connection to the Internet. It will store the changes locally and sync with the cloud once the connection is restored.
  • The local device runs a native application handling some of the processing, and the native application uses APIs to send and receive data to the application on the cloud server. An example of this is when a smartphone app is loaded onto your phone which runs much of the program logic. These are often designed so that if the connection is lost, they can still function by storing the changes locally. Once the connection is restored the data will be synced with the cloud.

Cloud Application Categories

Generally, cloud application services fall into one of the following three categories:

  • SaaS – Software as a Service: The most common category and the one that most users are already familiar with, this is a third-party cloud application where the third party not only supplies the hardware for running the application, but also the software application. Additionally, they provide complete support of the systems and the application. An excellent example of this would be Google’s G Suite that includes Gmail, Google Drive, Google Docs, etc. Using a SaaS solution eliminates the need to buy expensive equipment, expensive licensing and they provide support for the hardware and software.
  • IaaS – Infrastructure as a Service: IaaS is where a third party provides the infrastructure and infrastructure support in the cloud, but the software designer supplies the middleware, the applications, and the application support. Middleware is the software between the operating system and the application, used to give extended features to the operating system functions and simplify programming. An example of this is Google Compute Engine, a sub-product of the Google Cloud Platform, which allows developers access to the same infrastructure that Google uses in their products on demand to handle spikes in usage.
  • PaaS – Platform as a Service: PaaS is similar to IaaS, but it also includes some of the software, middleware, and operating systems. The PaaS supplier takes care of supporting the hardware and the software they provide. They also keep the software up to date. The developer provides the applications and the application support. Google App Engine, another sub-product of the Google Cloud Platform, is an example of a hosting service that can scale to the needs of the application and is the preferred solution for cloud application development by Cloudbakers.

Why Cloud Applications?

Now that you know what types of cloud applications are out there, what benefits can they bring you?

  • Keep Costs Down: Since the majority of the processing power and storage is handled remotely, cloud applications could reduce the cost of your infrastructure – no need to maintain your servers – as well as the cost of supporting your applications onsite. Depending on what software you are using locally, subscribing to a similar SaaS product could drastically reduce your licensing costs as well.
  • Accessibility: Cloud applications aren’t tied to a single machine – you can access and interact with the application from a wide variety of devices safely and securely from any Internet connection.
  • Reliability: Cloud applications have access to more computing resources than it would be feasible to have onsite. Your applications can rapidly scale without an increase in your capital costs. Better yet, this scaling can be dynamic so you’ll only use the resources when you need them.
  • Standardization: When applications are hosted on trusted partners such as Google, they are guaranteed to be reliable and accessible. It also ensures that your data is safely and securely backed up remotely. Furthermore, it’s easy to ensure that everyone in your organization is working from the same version of the cloud application.