Salesforce称:Ruby是下一代云计算语言

日期: 2010-12-08 来源:TechTarget中国 英文

  著名企业云计算平台厂商Salesforce宣布以近2.12亿美元现金收购Heroku。这是一个有些惊人的消息,显示了Salesforce CEO Marc Benioff对云计算的远见和决心。

  Heroku由三位资深程序员James Lindenbaum、Adam Wiggins和Orion Henry创办于2007年,是较早的云计算公司之一,以专门为Ruby应用软件提供支持著称(最近也开始支持Node.js)。他们的理念是让开发人员专注于11月刚与Facebook达成合作协议。目前有10万以上的移动和社会化应用使用他们的平台,包括大公司和创业公司,而且每月都有数千新用户。Heroku位于旧金山,员工只有约30人。

  3年,30人,价值2亿多美金,凭什么呢?听听Marc Benioff的解释吧:“云计算的下一个时代,我称之为Cloud 2,将属于移动、社会化和实时。而Ruby是Cloud 2的语言,Heroku是领先的Cloud 2 Ruby PaaS平台。这一并购将使Salesforce成为下一代应用程序员的基石。”

  而Heroku创始人James Lindenbaum则在名为“The Next Level”(更上一层楼)的博客中显示了更大的雄心:“如果企业级软件的开发能像敏捷的Ruby应用一样,世界将会怎样?如果大公司也能接受Heroku和Ruby社区的理念,世界将会怎样?” 显然,他希望将互联网的敏捷通过Salesforce带入企业级开发。此外,他在文中也确认Heroku被收购后运作仍然独立,而且与Amazon Web Services的合作关系不会受到影响。

  该公司网站今年4月曾给出流量的增长图,的确惊人。看来在美国云计算的采用非常迅速。

  Heroku的平台架构和用户体验都做得比较出色。用户体验方面,在工作流程、界面的很多细节都考虑得非常周到,实践了他们自己宣称的“让用户的开发人员100%精力都放在自己的应用代码上”的理念。而架构方面各种组件都经过了精心选择或者设计,从下图(推荐看该公司网站原图,设计非常精致)中可以看到:

  1. HTTP反向代理使用Nginx

  2. HTTP缓存使用Varnish

  3. 路由网(Routing Mesh)用Erlang编写

  4. Dyno网格提供了很好的扩展性(dyno是运行Ruby代码的单一进程,运行在网格中的某个服务器上,每个dyno都是独立的,包含所有层次的资源)

  5. SQL数据库选用PostgreSQL,也可以通过add-on方式选择其他方案,包括用Amazon RDS支持MySQL, 也支持MongoDB、Redis、CouchDB等

  6. 当然,也少不了memcached

  下面这幅Dyno架构图给出了系统的更多细节:

  1. 操作系统用的是Debian

  2. Ruby虚拟机用MRI

  3. 应用服务器是基于Mongrel改写的Thin

  4. Web服务器接口用Rack

  5. 中间件是可选的,可以用Rack中间件,也可以用Rails Metal

  6. 框架方面,应用推荐选择Rails,轻量服务用Sinatra

  最后,代码的部署与Git完全相同。用户push代码时,平台会将代码编译成独立的包含所有依赖关系的只读版本(成为slug),可以随时发布。编译过程还会检查程序是否可以启动,如果不行将拒绝通过。对应用的管理选项非常完整,提供REST接口。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐