The problem with opscode is that it still does take work to scale due to applications needing to be reconfigured in order to allow multiple servers (and this is the main issue with scaling: work). Currently I'm working on a very very similar project that does almost exactly what opscode does but it scales with zero configuration (where's my 11 million) meaning you could simply create an instance with your normal 1 server configuration and when the time comes scale to as many you want with no changes whatsoever. Maybe opscode does this as well.
What's everyone's experience of Chef vs. Puppet? I've just started learning Puppet and I'm wondering how much of a benefit Chef would be in conjunction with Puppet.