AWS 的 Elastic Beanstalk 是现在支持最多语言的 PaaS 吗?

  • Richard Seroter
  • 张卫滨

2012 年 11 月 13 日

话题:RubyAWS云计算语言 & 开发架构

亚马逊 web 服务(AWS)团队刚刚为其Elastic Beanstalk服务添加了对 Ruby 的支持,从而成为支持最多语言的云平台之一。另外,他们还为 Elastic Beanstalk 引入了在虚拟私有云(Virtual Private Cloud,VPC)中的支持,这样客户可以对其 web 应用程序进行私有版本的部署和管理。

AWS Elastic Beanstalk 是一种应用程序容器服务,开发人员可以将 web 应用程序部署到这个平台上,平台会自动地提供服务器、处理负载均衡、弹性伸缩以及监控。与其他传统的 PaaS(Platform-as-a-Service) 产品所提供的功能不同,免费的 AWS Elastic Beanstalk 其实还包含了一种 IaaS(Infrastructure-as-a-Service)产品。开发人员和管理员可以直接访问应用程序后面的 AWS 基础设施,这意味着他们可以修改服务器配置或访问服务端的日志文件。用户负责各种基础设施相关的任务,包括选择(及更新)服务器的操作系统和应用程序栈。AWS Elastic Beanstalk 确实也自动化了很多管理任务,包括通过一条命令重新启动所有的 web 服务器、通过中心位置访问所有的服务器日志文件以及监控所有节点的性能。

宣布支持 Ruby 的博客文章回复中,AWS 团队指出 Ruby 应用程序运行在Passenger 应用服务器上,“这意味着你可以在本地开发和测试,然后无缝部署到 Elastic Beanstalk 上,而不需要修改应用程序代码”。除了 Ruby,AWS Elastic Beanstalk 现在支持五种主要的开发语言 / 平台。AWS Elastic Beanstalk 不是一种传统的 PaaS,AWS 拒绝将其称为 PaaS,因为在那其中基础设施的管理是需要用户进行的。但是,在对领先的 PaaS 提供者进行的评估中,很明显 AWS 为开发人员和应用程序提供了最广泛的支持,应用程序可以使用最流行的编程框架。尽管 VMware 的开源 Cloud Foundry 支持了最多的语言,但这得益于其社区的贡献。Cloud Foundry.com 支持 Java、Ruby 和 Node,而ActiveState添加了对 Python 的支持,Tier 3添加了对.NET的支持,AppFog添加了对 PHP 的支持。

Elastic Beanstalk 的应用程序以前只能用在公共 AWS 云中,但是现在可以部署在私有的 Amazon VPC 中。AWS 团队描述了这一变化。

现在你可以在云中定义和提供私有的虚拟网络,并使用 VPN 将其连接到你公司的网络中。这就允许你在 Elastic Beanstalk 中运行很多新型的应用程序。例如,你可以在 Elastic Beanstalk 中运行你内网的应用程序,如故障报告应用或报表的站点。

一旦建立了 VPC,你只需要简单地为 Elastic Beanstalk 提供 VPC ID 以及子网 ID,你的应用程序就能自动部署在 VPC 中。

AWS Elastic Beanstalk 以这样的方式构建,这样就可以在将来添加新的语言和平台。对于试图扩展云产品用户案例的云提供者来说,模糊 IaaS 和 PaaS 的边界以及私有云和公有云的边界看来是一种趋势。

查看英文原文:Is the AWS Elastic Beanstalk Now the Most Multi-Language PaaS?


感谢侯伯薇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

RubyAWS云计算语言 & 开发架构