Feb 1, 2014, 2:30 PM
272 Posts

Comparsion is overrated

  • Category: Other
  • Platform: All
  • Release: All
  • Role: Administrator,Developer,End User
  • Tags: Xpages,PHP,JSP
  • Replies: 4

In case you have a real large project with millions of users and millions of pages, you will have billions of requests to your application. This is the point where you don't have to think about the "framework" or "technology" your are using in the backend, because they are all the same: Some of them are faster, some of them can handle more "users" at once, and some of them can easily maintained by other developers.

Let's take Facebook for example, they have choosen the worst "technology ever": PHP. Most developers will tell you that you can not create any working application with this scripting language, and they will tell you how brilliant this-or-that technology is. But in fact, it does work, because the only problem you will have with PHP that you need more resources (aka Servers) instead of coding everything in C++.

But is this really interessting*? FB has more then 180.000 servers running for 1 Billion users. Let's divide this amount by 1000, and you have 180 Servers left for your application you would need fit your requirements. If you are lucky enough to implement your application in the best "framework/technology ever", you still have to run more then 100 servers at once (you need load balancers, replicators for your db's etc).

In short, you need to think about your architecture of your application, because you should always able to switch: A new data storage layer,  a new front-end framework, a new back-end framework. You need developers and administrators which are able to work with your choosen technology.

And you must split up your processes: For example, it is a bad idea to send an email directly when clicking a button in the front-end - create a database entry to send a new mail, and let a background task process the mail. This allows you to scale the required resources and won't block any processes.

That's why I have coosen PHP and the Yii-Framework for my current project cyccle.net

I can always change the MySQL Databases in the backend, can change the front-end framework, can change the backend if required (Lighttp instead of Apache, node.js instead PHP, etc.).

Hope this helps you a little bit...




*: Yes, that's why FB implements a PHP compiler to reduce the amount of required servers. But they still use the same technology.