《PaaS程序设计》一2.4 PaaS:现代应用的虚拟工具

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无法去掉代码中的缺陷,但是,很显然开发者可以完全不用再关注任何硬件或者基础设施的失效问题。

时间: 2024-10-03 08:48:07

《PaaS程序设计》一2.4 PaaS:现代应用的虚拟工具的相关文章

《PaaS程序设计》一1.8 兑现承诺

1.8 兑现承诺 在这章开篇,我们看到PaaS改变了Jason Gendron的生活.PaaS让他专注于自己的天赋.一心编码和管理公司,为他的创新节约成本.PaaS为他节省出时间,给他提供强大的服务器,帮助他实现TwitClub.通过移动IaaS提供商的需求.管理每天的运维事项.处理故障和宕机事件, PaaS改变了数以百万开发人员的生活.无论你是在政府机关需要处理数百个客户端,在公司有几千个用户或者在自己创业,PaaS都提供工具帮你挖掘你的潜能.它减少了开发者自己创新的代价,减少了风险投资者们投

《PaaS程序设计》一导读

前 言 编程很艰难编程是一项很艰苦的工作.相当艰苦.当你完成代码编写并且编译成功,你很开心.可是你会发现程序存在bug,这耗费了你几小时.几天.甚至几周时间去查找.定位.解决这些问题和边界情况.当你完成所有编码并且认为不会再有更难的问题了,你还得部署代码:Vim apache.conf.vim my.cnf.vim /etc/host.iptables.当你觉得你是一个程序员时,突然你深深陷入了系统管理的泥潭中,完全不明白怎么会这样.程序员比较擅长的事是创造性的偷懒.当一个程序员重复做同一件事情

《PaaS程序设计》一1.6 云计算的承诺(或者炒作)

1.6 云计算的承诺(或者炒作) 从开发者的角度来看,这个兴盛的新兴领域的部分挑战决定了云计算是不是都是炒作. 对于一个开发者.公司或者政府机关,Gmail究竟能有多大改变?可能不会很大.它也许是有一定先进性,但绝不是变革性的.然而,学会在现代化公司的运维工作中充分使用基础云技术,例如DevOps或者PaaS,无论你是刚开始使用还是正在使用,只要这些技术能让我们的工作更简单高效,那就不是炒作.相反,这正是高科技公司创建和运维的模式.这是事实.毫无疑问,我们正迎头迈入云计算时代. 当技术产生于技术

《PaaS程序设计》一3.2 可移植性:不再繁琐

3.2 可移植性:不再繁琐 可移植PaaS是这样一种平台,在其上运行的代码编写完成之后,就不需要进行较大修改.开发者在共享主机或者专用主机上开发的代码迁移到可移植PaaS上不再那么困难.想要运行应用不再需要依赖服务转接器. 平台仍然存在局限性,这是需要应对的挑战,但这些局限相对代码来说更偏功能性. 可移植性扩大了平台即服务支持的语言数量和类型,也扩大了语言自身的灵活性.如果我们想要将应用移植到不同的可移植PaaS平台上,需要调整应用的某些内容,但不需要彻底改写系统. 相对而言,看看早期的Goog

《PaaS程序设计》一1.1 开发者的困境

1.1 开发者的困境 开发者到处都是,他们工作于小公司.政府机关.企业或者自己创业.所有开发者都在面临相同的挑战:处理开发过程的运维事项.工作环境的不同使得问题看起来不同,其实核心问题是一样的. 例如,让我们回顾一下传统的瀑布开发过程.通常,开发者编写代码并在开发/测试环境里成功运行.然后就交付给IT团队,在这一环节的运维人员花几周甚至一个月时间验证应用的质量并实施部署,造成应用产品化的极大延迟.工作超期,产品测试延迟,最终,也许最难以承受的后果就是减缓了创新的速度. 速度,或者缺少速度,就成为

《PaaS程序设计》一2.3 PaaS:综合两种方式的最佳方案

2.3 PaaS:综合两种方式的最佳方案 对于开发者来说,通常会以共享主机的方式起步.很快,就会经历需要更强的功能和控制的阶段,于是,就会转向独立主机托管.在完全拥有了控制权之后,你可能会感到很惬意,也会很兴奋,因为你可以对服务器进行调整和优化,让它们运行得更快,网站可以更快地的被加载,并且可以处理更多的用户请求. 然后,随着时间的流逝,兴奋感很快就会烟消云散,因为日复一日维护服务器所增加的负担,会让人筋疲力尽.独立服务器可以提供更强的功能和控制,但是很容易就会遭受攻击,而作为开发者,你必须自己

《PaaS程序设计》一1.3 云:发展历程简介

1.3 云:发展历程简介 什么是云?这个外来术语被过度使用. Dropbox就是所谓的云么?或者是iPhone?还是Gmail? 对某些人来说,这些林林总总的例子也许就是所谓的云,但对开发者而言不是. 对开发者来说,云是相互关联的一组基础技术,借助这些技术可以采用新的方法来构建和运行新的技术.如果用户不能在基础技术上开发新技术,那就不是云. 很多应用和SaaS都是基于基础云技术构建的.Dropbox和Gmail就是建立在基础云技术上的SaaS应用.但它们本身不是云技术. 20世纪90年代数据中心

《PaaS程序设计》一3.3 走向公开标准

3.3 走向公开标准 公开标准是平台即服务的一个重要概念,因为它们让开发者有信心独立完成与供应商提供的服务相关的应用部署.需要了解每个不同供应商的来龙去脉完全是个噩梦.然而,我们已经讨论过了PaaS不同的类型和它们提供的不同种类的服务.不可移植平台即服务开始时承诺"我们会向你的web应用提供Google的能力"提供不同解决方案,区别于可移植平台Heroku所说的:"零修改运行你的代码".Heroku相对于某个平台是一套完全不同的解决方案,那个平台承诺:"我

《PaaS程序设计》一2.5 重建信心

2.5 重建信心 在我丢失了网站数年之后,平台即服务开始出现.平台即服务的出现可以让应用程序更容易以更快的方式运行.现在,备份应用程序可能只需要点击一个按钮.开发者不再需要担心服务器宕机,因为自然有人维护这些服务器.PaaS重建了现代开发者部署应用的信心和激情.随着采用PaaS并充分利用其功能,接到可怕的电话:告诉你服务器挂掉的时代一去不复返了.