工程软件的云端化(PaaS vs SaaS)


在传统工程软件云端化的今天,了解在这一趋势中的两个不同模型,SaaS(软件即服务)和PaaS(平台即服务)之间的基本差别是十分必要的。

PaaS(平台即服务)

  • PaaS方式本质上是传统软件通过云环境向用户的发布。
  • 用户购买软件服务后,传统工程软件将不再安装或下载到用户的电脑上,用户被分配一台云端的虚拟机(VM),该虚拟机预装了用户所需要的软件。
  • 用户通过互联网远程登录此虚拟机运行软件。
  • 这种方式对于软件供应商来说,省却了软件的云端化开发,对用户来说,也免去了安装、配置、调试等一系列的操作,可以尽快地使用到软件。
  • 一个典型的PaaS云计算的工作流程如下图所示:
    1. 用户请求一个云计算服务;
    2. 软件供应商动态生成一个虚拟机,该虚拟机中包含了用户所要求的软件,并授权用户以访问权限;
    3. 用户通过互联网远程访问并在“云端”运行软件;
    4. 用户签出后,虚拟机关闭,资源回收使用。
  • PaaS虽然实现了云端化访问,但用户受到的仍然是传统软件的体验。所不同的只是软件在虚拟机而不是在用户的个人电脑上运行。
  • PaaS为了是避免对工程软件,特别是大型工程软件进行耗时费力的再开发,而作出的一种妥协办法。

SaaS(软件即服务)

  • SaaS 方式下,云端的软件以网页的形式展示给用户。
  • 用户无须下载安装软件,使用浏览器登录网站即可进行运算,随取随用,按需支付。运行软件如同乘坐“随上随下的巴士”。
  • SaaS具有极强的兼容性和便利性,更有利于软件的二次开发(比如建立API,应用程序接口)。
  • 软件的计算结果不但可以下载,与其他软件进行交互,也可以实现与其他网络平台进行数据共享,使构建大数据网络成为可能。
  • 虽然基于网络的软件目前尚不如桌面软件功能强大,但是随着网络技术的进步,这个差距将被消除。
  • SaaS最终将取代PaaS和其他形式的云端化。

 

PaaS 和 SaaS的利与弊:

 

PaaS

SaaS

事实

  • 为每个用户配置一台云端的虚拟机
  • 软件的许可证已集成在虚拟机上
  • 通过登录网站进行运算
  • 获准访问网站时即获取软件的许可证

优点

  • 可使用现有软件以减少开发工作量

 

  • 属于互联网原生系统
  • 可跨平台运行
  • 易于访问,易于部署和升级
  • 降低发行软件许可的成本
  • 有利于软件的二次开发

弊端

  • 需给每个用户单独配置一台虚拟机,并且用户多时大量消耗供应商的资源
  • 需要耗费一定的时间给每次进入系统的用户配置虚拟机
  • 从服务器到用户端需要实时刷新界面,消耗网络资源
  • 通常只能在Windows系统上运行
  • 云端软件的界面、引擎,以及软件架构,都与传统工程软件有本质上的不同,需要从头开始重新设计与研发,工作量不容小觑

 

点评

  • 相比SaaS,PaaS的功能低一层次,是大型工程软件云端化的一种妥协方案
  • 短期来看,SaaS 和 PaaS 互为补充,但SaaS 最终将取代PaaS。