This is it. You feel. It is well thought.
The system is ground-breaking. The idea is surreal. The investors are all waiting for the beta version. You can see the system from start to finish. On paper. It should have features A, B, C and D. Maybe plus E. Then the project starts.
You have a just few decisions to make. The OS, The language, The ORM framework, The WebServer and just the Database.
You want the best. No compromise. No Substitute.
And so it begins
You need to decide between using Doctrine or Propel or QCodo as the ORM for the PHP Interface. You don’t like Frameworks, so Kohana and CakePHP or Symphony are not even being considered. Then comes another decision. Is it Hibernate or Cayenne as the Java ORM for the J2SE/EE interface? You have heard alot about Nginx and Lighty, but you need to stick to you forever faithful Apache.
A few months ago you heard Salim say MySQL is a toy database. But he again tells you that if your data won’t reach over 5M users/nodes, (of if you could be disciplined enough to design, partition and optimize your MySQL 5 DB properly) you don’t really need to use PostGres or Oracle. That would be an Overkill.
You listen to this annoying Salim fella again. And he swears by FreeBSD. Any day. But then he develops on top of a Debian-powered Meerkat 10.10. Why is he setting up a Debian Cloud?
So you decide. PHP it is. But what about this Python thing all these people are talking about. Why does it make Ruby look like a Vitz?
And such is the technical discussion.
Next up. Product specs. Brainstorming. You spend endless meetings deciding whether the Logo should be pink or blue. Whether you should Colo with UUnet or just pay for Internet alone then host your own servers in-house.
Then Spaketh Agosta
Well, my architecture for the ProjectX4 Java-Based VMNO prototype is quite simple. So, when I met Agosta at MoMo last week and he asked about the project status, I started explaining and before I could finish, the ever-wise Liko spake. And when Liko speaks, you listen: “Launch Early Salim! Focus on one Killer feature. The rest will be done later. Version 2, 3. You are already developing the 4th game-changer. You haven’t launched the first one yet. When will you launch?”.
And then it hit me. There is a group of people who call a Vitz a Car. Why over-analyze and delayed an already working solution in the quest to give this throng a RangeRover, while a Vitz suffices. Yes. Give them a Vitz, but make it a Vitz pimped with an Alpine sound system and super rims.
So, I have settled for the following setup for ProjectX4. The initial release will run on the following config.
- Meerkat 64bit, 4GB Ram, 80GB Hdd
- J2me App written in Pure Java and Runs on J2ME, Android and BlackBerrys.
- Server XMPP Back-end running on eJabberd 2.1.6 + MySQL.
- WebService running in PHP 5.3.3/MySQL 5/Apache 2.2.16 [Apache serves ONLY PHP].
- ServerSide XMPP Robots written in Python 2.6 on top of the Twisted Framework using ZeroMQ as the AMQP Mimic/Replacement.
As my tweeps know, the release is slated for March 5th, latest. Nothing should delay/extend that this time round.
Back to code…