亚马逊 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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论