Service Management

I was just wondering if there was anybody here who’d worked in a
Service Management environment (ITIL for example).

I’m interested to know of tools for use with planning and managing
availability, capacity, continuity and security in a RoR environment.
Particularly the first two.

How easy is it to scale RoR? Can you easily have multiple server
instances for one service - if so, how do you do it, and what problems
do there tend to be? How can you predict performance and capacity?

I’m also interested in design and testing considerations.

Much of the above is not, I know, of much direct interest to
developers, but I’d hope that somebody has been involved with this!

I’m not necessarily an ITIL expert, but I’ve worked in environments and
on
projects where it was essential (technical infrastructure architecture,
help
desk application implementation) so I can probably get you pointed in
the
right direction. But because this has been a subject of real interest
over
the past few years as Ruby and Rails have matured for serious
application
development, there’s a lot of information available out there, so don’t
stop
your investigation here.

There are a lot of different tools that are used for managing Rails
applications. The best known paid options are probably New Relic RPM (
http://newrelic.com/) and Scout (https://scoutapp.com/) but there are
plenty
of open source options that are also used in various combinations
(Monit,
Nagios, Ganglia, …) The free options will cover infrastructure
status/history and basic service availability just fine. If you need
more
advanced features like performance management, troubleshooting, and
inputs
for capacity planning, you might be better served by the paid
applications.

As far as scaling goes, there was a series of videos and podcasts done a
few
years back called Scaling Rails
(http://railslab.newrelic.com/scaling-rails)
that describes a lot of the basic techniques used to improve
performance. A
lot of these have to do with caching and avoiding DB hits whenever
possible.
Beyond that though, I think it still comes down to good architectural
practices like DB management, application layering and partitioning,
etc.
For my money, Cal Henderson’s book Building Scalable Web Applications (
Building Scalable Web Sites [Book]) is still the best place to
start
reading if you’re looking for best practices for web applications in
general. There was a Rails specific title dealing with scaling and
deployment available a few years back that’s now out of print (
http://pragprog.com/titles/fr_deploy/deploying-rails-applications).

Design is too general. You’d need to be more specific about what you
mean
by that.

Testing is an area that’s taken very seriously with a lot of competing
and
complementary testing tools available. Get started with the official
Rails
guide to testing (Testing Rails Applications — Ruby on Rails Guides) and then
if
you’re interested in going deeper check out Rails Test Prescriptions (
http://pragprog.com/titles/nrtest/rails-test-prescriptions) and the
Rspec
Book (http://pragprog.com/titles/achbd/the-rspec-book).

On Sat, Mar 19, 2011 at 11:21 AM, Fustbariclation <

On Mar 19, 6:17pm, Chris K. [email protected] wrote:

I’m not necessarily an ITIL expert, but I’ve worked in environments and on
projects where it was essential (technical infrastructure architecture, help
desk application implementation) so I can probably get you pointed in the
right direction. But because this has been a subject of real interest over
the past few years as Ruby and Rails have matured for serious application
development, there’s a lot of information available out there, so don’t stop
your investigation here.

Thank you for all that - it’s extremely helpful!

Design is a big area, I agree. I’m meaning all of it, really. You’ve
answered quite a bit already with your references to architectural
design.