We have been using Opensim for more than one year. In the beggining our only interest was to evaluate it as a platform for our architecture projects, but it grips us (well.. os grips me, Impalah, because I like new little toys) and soon we started to use it often to make prototypes (well... Asha uses it, because me, Impalah, have problems even for dragging a texture to a prim).
As weeks passed by we developed little tools and procedures. If, for example, with Henshin we decrease building time til 80%, with our new little toy the time we spend into Second Life adjusting textures and prim modifications was reduced to the minimum. Moreover we could play with our terrains and we developed texture packs for terrains that, in the usual SL way, could have been economically not feasible.
Even with the disadvantages it has (overall refering to stability and scalability) Opensim seems a feasible platform for our projects. As time goes by, stability has been increased so the only problem to solve was scalability.
If I want to create a moderately big grid and want to give access not only to dozens but to thousand of users I don't consider the standard UGAIM server a viable option.
Not only because I think that there is no need to reinvent the wheel creating a new whole system to manage http/https request, but for the necessity of having 5 servers running over .NET/mono (high resource use), the discomfort for manage them from a few friendly console (or accessing directly to database, using the dirty way) and the doubt of, in a near future, they could respond with comfort to, i.e., 1000 concurrent requests without needing excesively expensive machines.
I am terrified about management and scalability, overall having costs in mind.
So I took a decision: to create new UGAIM servers with existent, reliable and scalable technologies.
Thinking about http the first option was Apache (light httpd too, but I will talk about this later). It is reliable, robust, scalable, executed without problems over Linux/*IX (for me it's safer and more stable than Windows) and is used successfully every day in thousands of web applications.
I had to choose a programming language for development, and, if possible, one well tested. There were lot of options but I reduced them to a pair: PHP and Python. Java was rejected because I have a personal hatred for it; please, java guys, excuse me, but I need a speedboat not an oil tanker.
After weeks of researching, studying web architectures I decided to start with PHP. If anyone doesn't know, services like Facebook and Twitter are made with PHP and, if PHP can attend the millions of users and requests they have, it should help me for sure. Anyway, a migration to Python is highly probable in the near future.
That was the beginning of unga project we are using actually to run our grid. We have a stable, fast and easy to manage version running over a standard Linux/Apache (LAMP).
When will it be brought to light? When we'll be absolutely satisfied with our work.
I'll wrote more details about this in next posts.
Impalah

