February 2009

You are currently browsing the monthly archive for February 2009.

The main question posed here is how to setup Opensim on AWS EC2 and what might be the costs of such a deployment.  If you know of any prior work in this area please let me know.  As time permits I may do a series of tutorials if there is interest.

I am assuming for the sake of this post you already know about Amazon EC2 and S3web services, but perhaps not how they work.  I started thinking (and I’m sure I’m not the first) could you run a virtual world grid business using Opensim on EC2 and would a tutorial on how to set this up be of interest?

I had three main questions going in (I’m sure there are more):  

  • Question #1 - Setup
    Each Opensim region is practically like the other, except with some tweaks to config files.  Is it possible to have one standard region Amazon Machine Image (AMI) that you clone then tweak once it is running or would you have to automate the construction/upload of a custom image for each region and pay for storage, etc.?
  • Question #2 - Bandwidth/Cost
    With EC2, you also pay for bandwidth.  How do you go about quantifing the bandwidth required on average to support an Opensim Simulator?
  • Question #3 - Database
    There would be one or two servers handling avatar and inventory services and then multiple region servers.  Opensim supports a variety of databases.  Is the Amazon storage service (S3) an option for Opensim storage?

I asked a Jeff Barr an AWS evangelist about these questions.  His response ”Wow, these are great questions.”  He went on to provide some thoughts on how I might run these questions to ground.

For #1, You should be able to create a generic OpenSim image. The image
would use a runtime parameter to determine its identity. There is a
standard EC2 mechanism for passing and receiving such parameters.

For #2 - You could take an otherwise idle Windows machine, start up the
SL client, then open up the Windows Network Connections dialog. From
there you would find the icon for your network interface,
double-click on it, and note the initial byte count. Then you would
log in, do some TP’ing, and so forth and watch the byte count rise.
You would then be able to measure bytes/hour and use this to
estimate your bandwidth costs (multiplied, of course, by the
expected number of users).

For # 3 - Using our soon-to-be-released persistent storage facility for EC2,
you will be able to run a MySQL database on EC2 without worrying
about instance persistence. I blogged about this a while ago.

Adam Frisby of DeepThink and a few others seem to have made this work, but found it costly based on this thread.  Adam blogs about this here.

As time permits and if there is interest, I will proceed with a tutorial.