Engineering Software in Cloud (PaaS vs SaaS)

While it is now a trend to develop or transform engineering software applications to Clouding Computing or Cloud Services, it is important to understand the fundamental differences between the two models, Software as a Service (SaaS) and Platform as a Service (PaaS).

PaaS

  • PaaS distributes traditional software in a cloud environment.
  • The software applications do not need to be installed or downloaded onto the user’s PC. Instead, the user will be assigned a virtual machine (VM) which is preloaded with the software application that he/she has purchased.
  • The user logs on the virtual machine to access and run the software through internet.
  • To the vendor, PaaS saves the tremendous re-development efforts on cloud computing. To the user, it saves the efforts and time on software installation, license configuration, and etc.
  • A typical workflow of PaaS cloud computing is illustrated as below:
    1. The user requests a cloud computing service;
    2. The vendor dynamically generates a VM with the requested software pre-loaded on its cloud service cluster, and assigns access permission to the user;
    3. The user remotely accesses the VM to run software on the cloud;
    4. When the user logs out, the VM is shutdown and the resource is recycled.
  • PaaS achieves a cloud-based access. However, on the user’s side, his/her experience is still the same as that of traditional software. The difference is that now the software is running on the virtual machine instead of on the user’s computer.
  • PaaS is a compromised solution when the software re-development or re-coding is very time and cost consuming. 

 

SaaS

  • The software in the cloud displays in the form of web pages.
  • No installation of software license or application is required. The user accesses the software through the browser to logon the website. And running software is like riding on a “Hop-On, Hop-Off Bus.”
  • SaaS is highly compatible and convenient to use. Moreover, SaaS has a powerful potential for secondary development (to build API, application programming interface).
  • The calculation results can be downloaded, and the data can be easily compared and analysed with that from other software applications. The data sharing can also be achieved with other network platforms, which make it possible to build a big data network.
  • Currently, the web based software might be less powerful than desktop software. However, with the advancement of web technologies, this gap will be eliminated.
  • Eventually, SaaS will replace PaaS and other forms of Cloud Computing.

Pros and Cons:

 

PaaS

SaaS

Facts

  • Dedicate a VM for every user
  • License is integrated into the VM
  • Access service via website
  • Get the licenses when granted access to website

Pros

  • Less development efforts by using the existing software
  • Build on a cloud environment
  • Cross platform
  • Easy to access and easy to deploy and upgrade
  • Reduce cost for licensing software
  • Potential for 2nd development

Cons

  • Consuming vendor’s resource as every user requires a VM
  • Consuming time on deploying a VM at user’s request for access
  • Consuming network resource on real-time refresh of GUI from server to user,
  • Usually works only on Windows system
  • Require big efforts for new design and development

 

Comment

  • PaaS functions is at a lower level than SaaS and is a compromised solution for large traditional software
  • In short view, SaaS and PaaS complement each other. Eventually SaaS will replace PaaS