Server architecture

So, the thread about the UI architecture got me thinking about the underlying, back-end architecture. And a few ideas/questions keep coming to the top. Will we be able to run multiple, parallel instances of each of the data service "modules"? Also, how portable will everything be? Would it be possible to have a database abstraction layer? I'd love to see Tessitura be able to easily run on a cloud service like Amazon EC2.

I don't expect that these questions can all be answered at this point, but I'm curious to know what others are thinking, hopes and dreams-wise.

   -Morgan