2.4 PaaS:现代应用的虚拟工具
在过去的数十年中,应用开发发生了巨大的变化。从早期的在计算机上运行编译的代码,到客户/服务器架构,再到现在的REST 应用编程接口(API),编译和运行代码的工具也发生了很大的变化。
2.4.1 转向高级语言
让我们回到早些的那个例子:需要一个程序进行DNA测序,这个程序要运行得尽可能快,因此,我们可以使用诸如C或者汇编的底层语言,以便获得尽可能高的性能。
使用PaaS,通常需要构建Web应用程序,延迟并不是那么的至关重要。对于运行在PaaS上的不同类型的应用程序来说,最具价值的质量特点在于快速创建相关部分并将它们连接在一起的能力。高级语言,特别是诸如Ruby、PHP、Python以及Node.js之类的动态脚本语言,要比其他底层语言更好地适合这一要求。
因此,在PaaS中,通常会采用数十年前主要被视为脚本语言的语言。现在这些语言成为企业助力他们的应用系统的强大工具。作为世界上最大的网站之一的Facebook就使用PHP来助力他们的系统。Yahoo!也使用PHP。Twitter最初构建于Ruby之上。Linkedin一开始使用Ruby,之后换为Node.js。因此动态语言被越来越多地应用于构建Web内容。
2.4.2 管理后端
新一代的编程语言也产生了新的开发风格:基于更小的代码段得快速迭代,更快速地将更小以及更易扩展的应用投入生产。通常,构建的应用都是API类型的应用。这类应用(在更大的规模上)使用API与Web前端进行通讯,包括Gmail、Twitter以及MobileMe。也可以被用于移动应用,以保证一个移动应用可以让用户注册以及让用户之间相互交流。所有的这一切都必须通过API以及后端服务才得以完成。
相对于初次构建这个移动应用,管理一个移动应用的后端,通常要花费更多的时间,这就是平台即服务作为这样一个虚拟工具的原因。如果你有一个应用在Apple应用商店排名前10位,那么你就得确保后端的应用能够随着用户地增长而扩展,以便能够处理每分钟来自用户手机的上百万次的访问请求。传统上,要做到这一点需要一个由IT和运维人员组成的团队。平台即服务给了我们管理成百上千的后端应用的能力,这一切只需要简单的一个滚动条,而不是一个团队。
如果这些还不够清楚,通俗点说,就是PaaS将控制和能力交还到开发者手中。最后,我们不再需要寻呼机。虽然,PaaS无法去掉代码中的缺陷,但是,很显然开发者可以完全不用再关注任何硬件或者基础设施的失效问题。