Architecture

Often in software archictecure you have a few large components that need to connect. In real-life this might be analagous to two different cities seperated by a river. Almost certainly we would have already have built a bridge between them to cross this natural boundary.

Fearful or foolish people might have built walls between them, but we’re not foolish.

Bridges In Real Life

The city of Vancouver in British Columbia (where I live), there’s the Port Mann Bridge that connects Vancouver with the city of Surrey to the south.

Highway 1 connects these two major cities, many people live in Surrey and work in Vancouver. The Port Mann Highway 1 Project aimed to upgrade the old bridge to increase capacity.

Port Mann Bridge Before

before

Built in 1964, the old 5 lane bridge was often congested at rush hour.

Port Mann Bridge During Construction

during

A Cool 360 View show construction in progress.

Port Mann Bridge After

after

Opened in 2012, this is a major 10 lane (5 each way) bridge, and certainly has capacity even at rush hour. It’s of course had a few issues, but has improved the commute:

Travel time surveys have confirmed drivers have cut their commutes by as much as half, saving some commuters up to an hour a day. - Port Mann Highway 1 Project

Bridges in Software Archiecture

Back to software, and often we have two or more components in a project which have different sources (or locations) and architecture. One might be your web browser, written in C or C++. The other a webserver running on a machine in “The Cloud”.

  • In order for these components to work together in “community”, with easy traffic (date) flow we should have a good bridge.
  • Like in real life, we should Build Bridges, Not Walls to ensure disparate architecural components can communicate to build a thriving community.
  • Careful attention to the architecture of the Bridge itself can really help to increase traffic flow, reduce congestion, dramatically reduce the need to convert data (take a bus, walk across the bridge, take a taxi).

If we didn’t have the Internet, we’d have essentially a wall, and there would be no Google, Wikipedia, Facebook or Twitter. You could of course build a really badly designed bridge, such as Avian Carriers - RFC 2549 to send messages over low bandwidth, long latency connections? NO That would be very silly (it was indeed an April Fools).