I've been arguing with some friends on the university, and we can't get to a point to which is the framework with more scalability for web applications (and still very fast).
One calls for jsp, the other one for ruby other for php and so on. Could i ask you to clarify us on what as more scalability potential?
Tks, hope I'm not duplicating anything I've searched but didn't found any previous question like this.
Edit: If you could point a comparison about this it would be good :)
The best solution to most database scalability issues is optimizing SQL queries and implementing indexing strategies. By building articles and authors into a single query, you can dramatically reduce the volume of queries you're running.
Scalability simply measures how easily you can upscale or downscale your operations. Network scalability simply means how easy you can remove or add network bandwidth. It refers to how easily you can increase the capacity of your systems. This will ensure that you can keep up with the increased demands.
For example, an application program would be scalable if it could be moved from a smaller to a larger operating system and take full advantage of the larger operating system in terms of performance (user response time and so forth) and the larger number of users that could be handled.
What Does Web-Scale IT Mean? Web-scale IT is the approach used for delivering large-scale cloud computing resources and infrastructure within an enterprise IT environment. It includes all measures and practices that allow large, established cloud-based firms to achieve a higher level of service delivery.
Ruby and PHP are not webapp frameworks. They are programming languages which are popular for web development.
Generally speaking, webapp scalability is not a property of a programming language, and a given webapp framework may at most not hamper scalability. Good scalability is more a property of application design.
There are way too many webapp frameworks out there for a point-by-point comparison that is anything short of encyclopedic.
Also, you can tackle scalability for a given application in several ways. One way is to have a well defined and narrow scope and aim awesome raw performance, so a single machine can serve bazillion of work units. The best example around is Mailinator.
Another way is to make it easier to serve increasing loads by "just" adding more hardware. Pretty much any database-backed webapp framework can scale this way: just add more application servers between a load balancer and a shared database back-end. If you frame the problem this way, your main concern is designing the application to minimize 1. database contention 2. database load.
The last way is design the system to be insanely parallel all the way. Google being the prime example.
In summary: languages or frameworks do not make scalable applications, software architects do.
EDIT: To be clear, my answer is focusing on scalability, that is the ability to handle increasing loads without changing design. This is a different property than speed of execution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With