• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Horizontal Scaling

 
Ranch Hand
Posts: 102
Eclipse IDE Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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



 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Ranch Hand
Posts: 64
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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 Naf.
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.






 
Ranch Hand
Posts: 240
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.

 
Ranch Hand
Posts: 80
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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)



 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic