| Author |
Horizontal Scaling
|
Alim Atar
Ranch Hand
Joined: Oct 06, 2006
Posts: 102
|
|
Hello Ranchers,
I have a query , which NFR of application is increased more by means of horizontal scaling (for instance adding addition web server) and WHY so ??
1)Reliability OR 2)Scalability
|
Regards,
Alim
SCEA/OCMJEA Part1,SCBCD1.5,SCWCD1.4,SCJP1.4,SQL(Z007)
|
 |
Jeanne Boyarsky
internet detective
Marshal
Joined: May 26, 2003
Posts: 26192
|
|
|
I would think scalability because you probably still have a single point of failure on the application/database server levels.
|
[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
|
 |
Ajay Singh Rathore
Ranch Hand
Joined: Mar 27, 2008
Posts: 64
|
|
I would say that if you have multiple server instances and each one is serving requests concurrently then it will increase you scalability, this is more like a active active model but if some of those instances are just acting as stand by (with accurate state) and ready to take over in case of a node failure then this will increase your reliability, this is more like an active warm model. But there is a thin line of difference between two as scaling up will kind of improve both scalability and reliability/availability.
Thanks,
Ajay
SCJP, SCDJWS, SCEA part 1
|
 |
Henry Naftulin
Ranch Hand
Joined: Feb 08, 2010
Posts: 43
|
|
Scalability: you would be able to handle more requests with the extra server if you load balance your requests.
Availability: if one of your servers is down, second one can take the load (fault tollerance)
I was trying to get any info on what would improve reliability - and apart from unit testing software (correctness), using db transactions (correctness) haven't found much. Any ideas are welcome
|
 |
Ajay Singh Rathore
Ranch Hand
Joined: Mar 27, 2008
Posts: 64
|
|
I would say that here Reliability seems more analogues to app availability as compared with data consistency and reliability.
Thanks,
Ajay
SCJP, SCDJWS, SCEA part1
|
 |
Alim Atar
Ranch Hand
Joined: Oct 06, 2006
Posts: 102
|
|
Hello Ranchers,
Thanks for your answers,
Jeanne,
I was thinking about same scalability but i found answer is reliability in WHIZLAB simulator.
Ajay ,
Yes, disaster recovery techniques like hot back, cold back and warm back are tightly coupled with availability. NFR availability and reliability are tightly coupled.
Henry,
As availability increases reliability also increases automatically as they are tightly coupled.
Horizontal scaling increases availability. Availability increases reliability automatically.So should we conclude that reliability is more accurate choice than scalability for horizontal scaling ?
|
 |
Henry Naftulin
Ranch Hand
Joined: Feb 08, 2010
Posts: 43
|
|
Not too sure about more availability means more reliability. reliability - ensures the integrity and consistency of the application and all it's transactions.
So, for example, I can have very available "multiplication service" running on many load balanced boxes that instead of multiplying will give me random numbers (or even better always return 0). Now, the service will be highly available, and highly unreliable.
Am I missing something basic here?
|
 |
Alim Atar
Ranch Hand
Joined: Oct 06, 2006
Posts: 102
|
|
Yes, its true that more availability doesn't means more reliability, but here in question the scenario is different.
Let me put exact question from whizlab simulator.
Q:- ABC company has added 5 extra web server to their existing sales solution. This will have increased ______________(select three)
1)Availability
2)Extensibility
3)Maintainability
4)Manageability
5)Performance
6)Reliability
7)Scalability
I have selected 1,5 and 7. But 7 is wrong from whizlab point of view.Correct answer is 6 and not 7.
Explanation given is:-
Availability and reliability tightly linked.Availability means having resources required to service all requests.Reliability is increased when solution is not over stressed(When solution is in good availability).The extra web server means sales solution should perform better.
This was whizlab question and answer explanation.
Now I got one more question in mind based on above,
If existing solution is reliable (ensures the integrity and consistency ) and then if we add extra web server to existing reliable solution then do we increase reliability of solution?
I got one line from Mark Cade's book "Redundancy can increase performance, reliability, availability,..."
Please share your views.
|
 |
Bigwood Liu
Ranch Hand
Joined: Feb 26, 2003
Posts: 240
|
|
To be clarified:
Scalability is the ability to accommodate more users when additional resource, usually hardware, are added. So basically, it is a kind of system software design that allows this to happen.
To add redundant hardware to a system definitely improve fault tolerance, which is in turn increase reliability, or availability. I think they are almost identical.
Thus the answer makes more sense to exclude scalability.
|
 |
Bigwood Liu
Ranch Hand
Joined: Feb 26, 2003
Posts: 240
|
|
Now I got one more question in mind based on above,
If existing solution is reliable (ensures the integrity and consistency ) and then if we add extra web server to existing reliable solution then do we increase reliability of solution?
I got one line from Mark Cade's book "Redundancy can increase performance, reliability, availability,..."
-------------------------------------------------------------------------------------------------------------------------
Yes, it increase reliability. But consider the expenses, you don't want to add 10 web servers as a reasonable solution. 2 is good, 3 is extra.
Mark is right on redundancy when it is explained as this:
1. performance: under heavy load, a properly designed system will allocate work load evenly to redundant resources, which will decrease system response time i.e. performance
2. reliability = availability + correctness + responsiveness: reason is as above post.
|
 |
Yegor Bugayenko
Ranch Hand
Joined: Feb 11, 2011
Posts: 54
|
|
Let me add my two cents. Scalability is the ability of the SuD to scale. When you're adding more servers you're exploiting this ability. It is already there or not. You're not changing this ability, you're exploiting it.
Reliability is the ability to be reliable. With more servers this particular ability of the SuD is increasing. Well, it is likely that it is increasing.
|
SCEA, PMP, OCUP
Lead Architect of fazend.com - Free Hosted Continuous Integration Platform
|
 |
Alim Atar
Ranch Hand
Joined: Oct 06, 2006
Posts: 102
|
|
Hello Ranchers,
Thank you for sharing your opinions.
With this below formula, its clearly indicates correct answer is Reliability.
Reliability = Correctness + Availability + Responsiveness(performance)
|
 |
 |
|
|
subject: Horizontal Scaling
|
|
|