This week's book giveaway is in the OCMJEA forum.
We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line!
See this thread for details.
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Horizontal Scaling Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Horizontal Scaling" Watch "Horizontal Scaling" New topic
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: 30392
    
150

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: 66
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.


follow me at yegor256.com
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)



 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Horizontal Scaling