Sim-OnDemand: OpenSim on EC2- Personal Virtual World Server

In the last post I mentioned that Sim-OnDemand is a learning by doing initiative in DevPay context. Let me elaborate on Sim-OnDemand a bit. The intended purpose of Sim-OnDemand is as a personal Sim for experimentation, development and testing.

Sim-OnDemand: Personal 3D Virtual World On the Cloud

3D virtual worlds are maturing fast and businesses and organizations are waking up to its potential. Collaboration, Communication, and Prototyping are some of the directions explored. OpenSimulator a rapidly evolving SecondLife(tm) compatible 3D virtual world server has reduced barriers of adoption considerably. The idea of Sim-OnDemand is to reduce the barriers of adoption even further. Sim-OnDemand makes the OpenSim software come alive using the Amazon’s Elastic Computing Cloud(EC2). The synergy of cloud computing with the bandwidth, computing intensive Virtual world software in my opinion are made for each other, just like the Windows-Intel combination that powered the last wave of computing advances.

The emergent nature of 3D virtual world applications underscores the need for personal servers for experimentation, development and testing. The present version of Sim-OnDemand caters exactly to this segment.
Sim-OnDemand is targeted towards non-geek 3D virtual world enthusiasts( like SecondLife power users) that have no inclination or incentive to learn the intricate details of AWS EC2 API just to get the OpenSim working.

Sim-OnDemand Implementation – The AMI

The core of Sim-OnDemand is OpenSim a mono based application. OpenSim supports multiple database backend, viz., SQLite, MySQL, and MS-SQL. Sim-OnDemand is configured such that OpenSim works with MySQL backend. Installing and configuring all the prerequisite software( like mono, mysql, screen etc) and packaging it all as an Amazon Machine Image(AMI) is the first step in the Sim-OnDemand implementation.

In order to make the MySQL database persist, Elastic Block Store(EBS) is used. Custom scripts were developed to initialize the EBS volume ahead of MySQL and OpenSim starts using the volume for storage. Similarly, shutdown scripts are developed to shutdown the OpenSim, and gracefully detach the volume.

Startup parameters are passed on to the EC2 instance via user data run-instances parameter.

Sim-OnDemand Implementation – Launcher Application

The intended audience for Sim-OnDemand is non-geeks with no intent or incentive to learn EC2, I thought it is a good idea to make a launcher for the AMI. With AWS there is no simple and safe method to pass or embed AWS credentials into EC2 AMI itself. A launcher application is one way of shifting the credentials away from the AMI.

The Sim-OnDemand launcher is a browser based javascript application. Much of the ec2 calling code is culled out of ElasticFox(ec2ui ) opensource code base. Since ec2ui codebase depends heavily on Mozilla API, and structured as a firefox extension, SimOn-Demand Launcher is also a run-down firefox extension!
The idea behind Sim-OnDemand launcher user interaction design is to keep it minimal and simple. Music player metaphor of Play-Pause-Play is employed to effect the launching, stopping and restarting of the OpenSim ec2 instance.

Sim-OnDemand – Future Features

Sim-OnDemand in its present form is just a proof of the concept. It is a way to validate if there is enough interest in running OpenSimulator on EC2 on an On-Demand basis. Few more features are essential to make it useful. Here is my take on the list. Users and potential users are most welcome to add to the list.

  • User Management
  • Multiple regions
  • Grid Mode
  • Ability to attach to to public Sims
  • Previewing the latest OpenSim software – hot off the source code repository.
  • Ability to run custom applications
  • Automatic scaling with load, regions, number of users logged in.
  • Integration of OpenSim forge community contributions.

I’ll be blogging about geeky details of the implementation soon. Meanwhile please try out Sim-OnDemand and suggest improvements and features.


About labsji

I blog, Therefore I exist ! Funny things are funny to me. Cool things are cool to me. Innovations tick me. I attempt spirituality religiously :)
This entry was posted in amazon ec2 and friends, Amazon Web Service, Entrepreneurship, Idea Factory, opensource, Second Life, Secondlife and tagged , , , , , , , , , . Bookmark the permalink.

6 Responses to Sim-OnDemand: OpenSim on EC2- Personal Virtual World Server

  1. Wonderful initiative, congratulations and thanks. I’ve been following progress on OpenSim for a while now but dared not setting up my own server – I’m just not geeky enough. Sim-OnDemand sounds perfect for the likes of me 🙂

  2. Tina01 says:

    +1. Подписался.

  3. Pingback: Sim-onDemand: OpenSim on EC2 |

  4. Bailey Cross says:

    This is a fantastic idea. I would like to apply to open source php platforms such as wordpress, oscommerce, and others.

  5. Thanks guys that was extremely helpful!

    sandeep verma

  6. Jo says:

    Has the grid mode been implmented in sim-on-demand yet? What does it take to have this feature implemented?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s