预配置的 Rails 软件环境已可供使用

  • Werner Schuster
  • 高昂

2007 年 6 月 26 日

话题:RubyRuby on RailsDevOps语言 & 开发架构

RailsConf07 大会结束之后不久,Rails 的创始人 David Heinemeier Hansson 便在“Ruby on Rails: Stacks”这个新的讨论组中发起了这样的话题

Xen、EC2、Vmware 以及其它类似的虚拟机技术,正在改变系统管理方面的传统观念。在 RailsConf 大会上,Rails Machine、Engine Yard 和 Amazon Web Services 都在这个主题上做了演讲。我们几乎可以肯定,这种方式将是互联网开发的未来方向。

因而,我认为现在是开始讨论如何通过将 Rails 的官方软件集合聚集在一起,来推进其发展的时候了。我在展望将来会出现一系列分别用于 Web、应用和数据库服务器的功能完善的工具镜像文件。为入门用户运行例如 nginx、mongrel 和 MySQL 这样的工具。

他的想法是借助虚拟机工具,就像XenVMWare一样,集成全部运行 Rails 所必备的软件并且将它们安装和配置妥当。那么所有的内容就可以通过一个普通文件作为磁盘镜像存储。开发者如果需要编写 Rails 代码,仅需下载这样定制好的镜像文件,并通过虚拟机工具来加载镜像及启动上面的系统。这样便可以大幅减少开发者安装、配置操作系统以及各种所需类库的繁琐工作。

由于这种方式只与拷贝镜像文件有关,同时也使得创建特殊的系统配置更为简单。类似于Amazon EC2的主机服务就是使用这样的方式,这种方式并不为客户指派某台特殊的服务器,而是让客户上传镜像文件并通知 Amazon EC2 来加载镜像。Amazon EC2 服务使用 Xen 作为虚拟机软件。

各种配置好的 Rails 镜像目前已经逐渐出现在人们视线之中了。Paul Downman提供了使用 Ubuntu 操作系统,并且安装配置好各种工具的镜像文件。镜像中一些特性列举如下:

  • 每隔十分钟自动备份 MySQL 数据库到 S3 之中
  • 在 Apache 2.2 背后运行的 Mongrel_cluster 集群,根据Coda Hale 的最佳指南进行配置,并通过/etc/init.d脚本启动
  • Ruby on Rails 1.2.3
  • Ruby 1.8.5
  • MySQL 5
  • 安装有Xen 标准类库libc6-xen安装包)的 Ubuntu 7.04 Feisty 操作系统
  • 已安装所有 EC2 的命令行工具
  • 通过配置好的 MySQL 和 Apache 将日志写入/mnt/log文件,因此可以免除用户 EC2 不大的 root 文件系统被塞满的困扰
  • 正确设定好的公有主机名
  • NTP 支持
  • 可以使用脚本,在一个步骤中将镜像重新打包、保存成新的拷贝并进行注册

就像提供自动备份 MySQL 数据库到Amazon 的存储解决方案 S3之中,或建立日志系统这样的功能一样,对于细节的关注是使得这项工作非常有价值的重要原因。

另一种提供必备软件的方式以RubyWorks的形式出现,RubyWorks 为打造 Rails 开发环境提供了全面的软件和工具支撑。ThoughtWorks 即将在七月份开始为此提供 7x24 小时的技术支持

您是如何处理您自己的 Rails 安装和部署呢?是否你已经开始使用 Amazon EC2 服务或 RubyWorks 呢?

查看英文原文:Configured Rails software stacks become available

RubyRuby on RailsDevOps语言 & 开发架构