Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We're going to test the rackspace cloud next week to see how it's working with our web app. It's a LAMP environment with a lot of MySQL databases.

How do I choose the "right" server size? On Rackspace I can choose slices with the memory of 256, 512, 1024, 2048, 4096 etc.

Right now we don't have a lot of traffic (approx. 1000 visitors/day) but I thought the whole "cloud" idea was to not be limited and auto scale.

Update: What I'm looking for is now a specification of what I need. I know it's too complex. I'm looking for examples, case studies etc. It would be interesting to hear something like "Yes we're serving 10 000 daily requests without spikes on a LAMP stack with only one slice on with 2 GB RAM".

share|improve this question

4 Answers 4

up vote 3 down vote accepted

Aaaah, the myth of infinite cloud scalability...

The only thing "the cloud" gets you is rapid provisioning of new hardware. Behind all the smoke and mirrors and "paradigm shifting awesomeness", that's it.

You work out what size "cloud" server you need by the same means you would spec a regular server -- determine the RAM, CPU, and storage requirements of the services you intend to run on it (by guesstimation, measurement, tarot cards, whatever), and then add 'em all up.

With a "cloud" server you can (or at least should) be able to just start with the smallest one and work your way up (or start with the biggest and work your way down), running for a little while, deciding you're on the wrong size, change parameters and reboot, that sort of thing, but it's an awfully unscientific way of doing things, and doesn't take into account load spikes and such.

share|improve this answer

What type of config is your app currently running on (e.g. shared vs dedicated server and associated specs)? There is really a lot more info that is needed to give you a reasonably accurate response.

As I see it, there are many reasons people use the cloud:

  • reduces overhead of purchasing hardware and of staffing requirements needed to support it
  • allows for easier scalability b/c you can simply spawn other instances as needed

There are plenty more but I feel like those are some of the bigger ones.

share|improve this answer
    
We're running in a shared environment without any clues on how much capacity we're using (other than storage & bw) –  Emil Nov 15 '09 at 19:19
    
If you are using shared (non-dedicated) hosting I would think that you would probably be safe to start w/the base offering at RS. It will be pretty apparent if your app is straining your resources. –  malonso Nov 17 '09 at 1:32

This is a much more complex question than "what size server should I start at?" -- make sure you're doing the right thing for your application in general.

For starters, ask yourself how much memory are you using now? Which of RS' products will you be using? What are your storage needs? I/O or network speed requirements? Do you have data that can't be put in the cloud? Is your application designed to scale efficiently? The last one is often overlooked by IT managers who are desperate for a solution to horrid performance and turn to the cloud instead of their dev team.

Along those lines, it seems perhaps you need to look at your app and really determine some requirements. After that, get on the phone with Rackspace and discuss your needs with a sales rep. They will be able to provide you with better, more company-specific answers than we can here.

I'm assuming from your post that you're using Cloud Servers, so while you can create server capacity almost instantly, you still have to figure out what to do with those instances on the backend. It doesn't just "turn itself up" when you have a spike in traffic, etc. If your storage requirements are large, you might consider Cloud Files, their EC2-like storage system.

I recommend the following books on the topic:

Good luck!

share|improve this answer

I'm not sure you realize this but the cloud servers can be resized on the fly (with just a reboot).

So don't sweat it. Just start with the smallest server and test your page response times under load (using something like JMeter, Selenium, Canoo, etc). Increase the server size until satisfied.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.