Architectural Bestiaries

There’s an old expression I used to hear, saying that most programmers only write one program in their careers; they just keep rewriting it over and over.  Developers would learn one useful pattern and then reuse it.  A lot.  Possibly improving it, but definitely milking it.  The gang-of-four patterns book addressed the situation substantially, since it set the expectation that professionals should learn many different techniques.

Software architecture deserves the same treatment.  Architectures are bigger than single programs.  They can develop a lot of momentum, so it’s common that most of us will only see a couple of distinct application architectures.  Conservatism plays a role too.  It’s risky (maybe foolish) to bet your company’s revenue on a novel architecture.

A remedy may be for us to catalog the different high-level designs.  Even if we don’t get to use these new architectures, we benefit by surveying the field and analyzing the possibilities.  The best survey I’ve seen recently is a report by Srinath Perera titled A List of Known Scalable Architecture Templates.   The article is just a single page, but it covers a lot of ground.  Scalability isn’t the only quality that an architecture must address, but it’s often the most constraining.

Advertisements

No comments yet

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: