Addressing the Challenges

Acme's challenges are not unique, and we'll follow them throughout the chapter to inform the process of building a Rails development infrastructure. Generalizing, they boil down to the following:

  • The software choices need to support any operating system (as far as possible). We'll concentrate mainly on Ubuntu Linux version 6.06 (Dapper Drake), but will also cover Windows in some detail. Mac OS X is briefly touched on, though not explored in depth as it is treated thoroughly in other books.
  • The software needs to be low cost and should not lock a company into proprietary systems (as discussed in Chapter 1).
  • The infrastructure should support collaborative project work (i.e. it should have a version control system).
  • The infrastructure should enable the company to do solid deployments of applications into production (i.e. provide them with a web/application server).
  • The infrastructure should help the team work with Rails, not make their lives harder.

Keeping these points in mind, we'll cover two broad groups of software:

  1. The Rails stack This is the set of components that you need to develop a Rails application. Each developer needs a stack of his/her own, so that they can work on the code from their own desk.
  2. A team server The server needs a Rails stack of its own, to enable it to run the Rails applications. It will also need some additional software to support team development and live deployments.

Note

Green field infrastructure

In some halcyon situations, you will be working from scratch and will be able to buy new hardware and source new software for your development.

If you have this luxury, Rails, places no restrictions on your choice of hardware. You have free reign to use any of the major hardware platforms (Intel, AMD, Power PC) for your machines. You should get as much RAM as you can afford, both for the server and the developer machines, aiming for a minimum of 512Mb on the developer machines and 1 Gb on the server machine. Rails can be quite RAM intensive (even while developing a small application) and having a decent amount of RAM can make the development process far more pleasurable.

Similarly, Rails places no restrictions on your choices of the operating system. However, Linux is an excellent choice for the server. It is very stable, powerful, fast, and flexible, and runs Rails beautifully. If you choose to develop on Windows, XP Pro is the preferred choice; for the server, Windows Server 2003 is a good choice.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.217.5