Scalability in Web Applications

November 8, 2008

When I met with a scientist from Last.fm on RecSys08, first thing he asked me about our iletken project was that: “how did you solve scalability issues? “ So, I have decided to talk about scalability and caching issues according to my experiences I had on my Internship at Turkcell Teknoloji. I will also try to explain a spesific product: Oracle Coherence, which is a clustered cache solution (or data grid). In the future, I will add some test results to this post. The main reason I am explaining Oracle Coherence is that I had the chance to work on it and they have very good examples/illustrations of data topoplogies which explains the different approaches of distrubted caches. There are many alternatives to Coherence but I do not have enough experience with them.

All the images below belong to Oracle.
post3
If you are designing a customer oriented web application, you might want to consider the days when your users will exponentially increase. The mythical question is that will your application scale easily? Meaning that would your load capacity/performance of the application increase as you add more servers? The answer is not quite simple and don’t believe your IT department if they easily say “well… yeah sure. Why not? As we have more users, we will get faster or more machines “Scalability is actually very related to your initial design choices and it is hard to fix a non-scaleable system. So, scalability is not a hardware but a software design issue. A software architect must take scalability issues into consideration.

Read the rest of this entry »