File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Horizontal Scaling

 
Alim Atar
Ranch Hand
Posts: 102
Eclipse IDE Java Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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



 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 33699
316
Eclipse IDE Java VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would think scalability because you probably still have a single point of failure on the application/database server levels.
 
Ajay Singh Rathore
Ranch Hand
Posts: 64
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 43
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 64
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 102
Eclipse IDE Java Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 43
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 102
Eclipse IDE Java Linux
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 240
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 240
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 80
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Alim Atar
Ranch Hand
Posts: 102
Eclipse IDE Java Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Ranchers,

Thank you for sharing your opinions.

With this below formula, its clearly indicates correct answer is Reliability.

Reliability = Correctness + Availability + Responsiveness(performance)



 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic