G
gk
If I increase the Tiers of the application , does scalability and
manageability inverse proportion ?
manageability inverse proportion ?
If I increase the Tiers of the application , does scalability and
manageability inverse proportion ?
Let me ask you, in hopes that you'll answer this question at least, in inverse
proportion of what to what?
What to What ? well ok..what I meant was if I increase the Tiers say
1 Tier, 2 Tier , 3 Tier likewise does the manageability of the system
decreases ?
If I increase the Tiers of the application , does scalability and
manageability inverse proportion ?
It depends. Division into tiers may simplify an application. Division
into tiers is a form of modularization, the general strategy of dividing
a large, complicated design into smaller, simpler pieces. Done well, it
reduces complexity. Done badly, it makes things worse.
I would assume that tiers implies more of at least potential hardware
separation, which done well can simplify hardware requirements. Each box
in a tiered system sees a simpler, more homogeneous, workload than would
be the case for a single box running the whole application. However, my
comment also applies to software layers in the same box, or indeed to
any other form of modularization.
That's what I thought you meant, and the question I answered.
No. You are wrong. You are thinking as a direct relationship. But I
meant the other way. You know INDIRECTLY, when you increase the
Tiers , the Scalability increases (modular nature) . So, my question
stands this way , when you increase Tiers , does the Scalability and
manageability are in inverse proportion ?
Hopefully, you got the picture now. Let me know if you still have
doubt.
"Scalability and manageability are not related to how many tiers there
are but how well those tiers are engineered and how they connect to one
another and how encapsulated they are from one another." Patricia Shanahan
made the same point, as you might recall, "It depends."
In other words, there is neither a direct nor an indirect relationship. Let
me know if you still have doubt.
Patricia said:I strongly disagree. The real issue is the right set of tiers for the
application.
If you get that right, manageability and scalability will both increase.
The essence of modularization as a strategy for building complex systems
is the fact that managing n simple subsystems plus some simple
interactions between them is often easier than managing one system that
does their combined function. Adding tiers, if they are the right tiers,
can improve manageability.
On the other hand, increasing the number of tiers for the sake of doing
so, on the assumption that it will automatically increase scalability,
can have the effect of reducing scalability. Even when tiers are run on
the same hardware, communication between them tends to be more expensive
than intra-tier communication. With a bad tier design, the inter-tier
communication can be the limiting factor for scalability.
The real issue is the right set of tiers for the
application.
If you get that right, manageability and scalability will both increase.
The essence of modularization as a strategy for building complex systems
is the fact that managing n simple subsystems plus some simple
interactions between them is often easier than managing one system that
does their combined function. Adding tiers, if they are the right tiers,
can improve manageability.
On the other hand, increasing the number of tiers for the sake of doing
so, on the assumption that it will automatically increase scalability,
can have the effect of reducing scalability. Even when tiers are run on
the same hardware, communication between them tends to be more expensive
than intra-tier communication. With a bad tier design, the inter-tier
communication can be the limiting factor for scalability.
My understanding of scalability is specific to increases in size of
system and workload. I don't know what you mean by "low-end scalability"
unless you are using "scalability" as a synonym for performance.
Scalability is not the only important performance issue. For example, in
some systems, response time under light load may be more important.
Patricia
In this context each component of the application should do a well-At least that's something I've been thinking of the other day, and I was
curious whether that was already taken into consideration when speaking
of scalability.
The real issue is the right set of tiers for the
application.
Agree.
If you get that right, manageability and scalability will both increase.
The essence of modularization as a strategy for building complex systems
is the fact that managing n simple subsystems plus some simple
interactions between them is often easier than managing one system that
does their combined function. Adding tiers, if they are the right tiers,
can improve manageability.
On the other hand, increasing the number of tiers for the sake of doing
so, on the assumption that it will automatically increase scalability,
can have the effect of reducing scalability. Even when tiers are run on
the same hardware, communication between them tends to be more expensive
than intra-tier communication. With a bad tier design, the inter-tier
communication can be the limiting factor for scalability.
Sorry for being unclear. That way I meant it was as follows:
If high-end scalability be the measure how a component's performance and
resource use evolve when its system and workload are increased, then
low-end scalability would be the measure of how these evolve when system
and workload are decreased.
Anyway, I have found my answer. What I have found after consulting
some materials is this, when you increase the tiers , the scalability
increases and as there is now more machine components manageability
decreases . And so scalability and manageability are in inverse
proportion in this context . Looks like meaningful to me.
Remember we have 3 parameters here . Tier / scalability /
manageability
This form of "hardware/software" distinction is ever-more outmoded.
Clouds, clusters and multiple servers per node blur the differences, at
least from the architectural point of view.
If I run two instances of
GlassFish on a node, each one pretends it is the sole owner of the
hardware and only performance suffers. This does not make the
application architecture, e.g., a multi-tier system with one each of
those GlassFish servers per tier, any less a tiered architecture.
That it is a tiered architecture is revealed by the ease with which one
can move one of those servers to a different physical node. (Yep, "at
least potential hardware separation", for certain understandings of the
term "hardware".)
I don't think that is a commonly used terminology.
And if the bang/buck curve is smooth, then they should be
identical.
I don't think anyone has said otherwise.
And it is not obvious to me what the point for the topic is.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.