The Artima Developer Community
Sponsored Link

Java Community News
Scale Up versus Scale Out

1 reply on 1 page. Most recent reply: Jul 24, 2006 10:19 PM by Ari Zilka

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 1 reply on 1 page
Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Scale Up versus Scale Out Posted: Jul 20, 2006 5:48 PM
Reply to this message Reply
Summary
In his weblog on java.net, Malcolm Davis discusses scalability, and the advantages and disadvantages of scaling up by adding more memory, CPUs, etc., to one box versus scaling out by adding more less expensive boxes.
Advertisement
In Scale Up vs. Scale Out, Malcolm Davis suggests that scaling up is an appropriate strategy for the database tier, and that scaling out is more appropriate for the application tier. Davis says that a common mistake he sees in IT shops is using a scaling up strategy in the application tier:

I cannot count the number of discussions I have had with system administrators about hardware configuration for application. Many IT shops treat the application problem much like the database problem. Instead of an array of rack mounted blade servers that are inexpensive and easy to add or replace, administrators purchase big boxes.

The administrator's argument about the big boxes:

  • Bigger bang for the buck
  • Easier to admin on box than multiple boxes
  • Easier to make a single purchase instead of multiple small purchases
  • LN squared hardware failure, the more boxes the more likely to fail.

The reality:

  • As seen from the BEA study, less bang for the buck for application scalability,
  • More difficult to admin because of the conflicting needs of all the independent process. Huge impacts occur due to inadvertent changes to root or patches to sub-systems or OS.
  • Costly mis-sizing of hardware that cost the organization. It cost more to add hardware to a big-box, then to slide in another blade server.
  • Software, rather then hardware, is generally the root cause of problems in production

How do you decide whether to scale up or out?


Ari Zilka

Posts: 8
Nickname: ikarzali
Registered: Jul, 2006

Re: Scale Up versus Scale Out Posted: Jul 24, 2006 10:19 PM
Reply to this message Reply
I think the analysis skips one big issue. Scale up does not require a rewrite until an application bottleneck stops the app from scaling. Scale out would typically require JMS, Hibernate, or some sort of shared state architecture.

Ignoring the coding complexity, all the operational conclusions line up with my experience helping to run a large Internet eCommerce site.

Sort of why we formed Terracotta to cluster underneath apps so that scale out can be done while avoiding the rewrite.

Without JVM-level clustering, the debate of scale-out vs. scale-up is a toss up, except in the "totally stateless application" case where scale-out is ideal. With JVM-level clustering, there are apps that still shouldn't be scaled out but at least it can be attempted w/o a rewrite.


http://www.terracottatech.com/

Flat View: This topic has 1 reply on 1 page
Topic: Scale Up versus Scale Out Previous Topic   Next Topic Topic: Using Ruby from Java, Java from Ruby

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use