|
Architecture Review
Most modern implementation of client-server applications
today, are built on an n-tier architecture. The classic n-tier architecture
is built on three layers; the webserver, the application server,
and the database server. Depending on a number of factors, there
may be one server that is both a webserver and an application server.
In other cases, there may be a separate webserver and application
server. There can also be multiple servers on any layer of the architecture.
Webserver Layer:
The Webserver tier is typically the first tier of servers that aren't
part of a front-end security and network infrastructure. Our experience
typically shows a Sun Netra T1 AC200, or similar server, at this
tier. Certainly there are many factors which should influence the
decision about why type of server to place in this layer. For example,
will you be serving up a lot of static content? Then you might want
to consider a server capable of holding significant (2G or more)
of RAM for caching your content in memory, reducing the need for
frequent and expensive disk access.
If you are performing any business logic or executing application
code
on this layer, you'll probably be interested in additional CPU capacity.
Application Server
Tier:
This is the layer where the majority of Business Logic resides.
How is data collected? What does it mean? Where is it going? How
will it get there? Decisions about your data are generally made
here. The brains
of the operation. Chackett Consulting has experience with several
major Application Servers including Blue Martini, BroadVision, BEA
Weblogic, and iPlanet. We have the broad infrastructure knowledge
to provide useful insight regardless of the specific application
server used here.
Database Layer:
Our primary area of expertiese here is with Oracle. Chackett Consulting
has been involved in projects with other DB providers such as Informix,
but the bulk of our engagements involve Oracle at this layer. The
unique characteristics of this tier in the infrastructure make it
one of the more important when considering hardware and network
requirements.
Without implementing something like Oracle Parallel Server, this
tier is VERY difficult and expensive to scale horizontally. Which
means it's a good idea to do careful capacity planning on this tier
right from the start.
The n-th Tier?
What exactly is the nth tier? Well in our experience the most common
nth tier is load balancing. We have seen this done primarily with
Cisco, f5 Networks BigIP machine, or a dedicated Intel or other
chipset appliance. The goal of a good load balancer is to direct
traffic across a horizontally scaled tier of the architecture (most
often the webserver tier). The BigIP machine from f5 Networks seems
to be a great solution here. Based on the BSD Unix OS, it is flexible,
fast, and easy to set up and configure. There are so many issues
to consider when implementing an n-tier application infrastructure
that it's hard to feel comfortable that you have considered everything.
From load balancers, security concerns, redundancy, and fault tolerance,
it would be impossible to identify every potential concern, but
utilizing an organization like Chackett Consulting, can help put
your mind at rest that your infrastructure has been reviewed by
an objective, knowledgeable, third party.
|