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.
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.
Built in 1964, the old 5 lane bridge was often congested at rush hour.
A Cool 360 View show construction in progress.
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
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”.
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).