Tuesday, November 13, 2007

4 Part Series on High Availability Architectures

The bloggers at Tech IT Easy have written a series on High Availability Architecture after attending an HA training course. It's java oriented on the code side, but the ideas apply across the board.

1. Availability

In this article, they discuss what availability is and how to achieve it.

It is critical to define at the very early stages of the project this availability target (i.e the time ratio the system is available for the user). This really is a business input that IT architect need to address, bearing in mind that the characteristic curve of the cost/availability ratio is linear up to the 99.99% range at which point the cost explodes while attempting to reach the last thousandth.

2. Scalability

In this article, you will learn about the different ways of scaling out each tier of your system:

  1. client/web layer
  2. application / business layer
  3. database layer

3. Performance

This article covers performance considerations for each tier. There are some good tips in here that everyone should have in their arsenal. I'm a big fan of what they call the "Asynchronous Trick"; off-loading anything that takes time to queue that can be processed by a bunch of worker threads. This is also the key to liveliness.

Another tip on whether to use frameworks such as

For information, it’s worth mentioning that big internet giants such as Amazon for instance just don’t use such frameworks in order not to lose control on piece of processing that actually is critical in terms of performance. Read this article on that very subject.

4. Technology Trends

Not all that useful, but some interesting tech is in the pipeline, Grid everything in particular.

0 comments: