Lessons for Software Architects from Ever-Given Incident in Suez Canal

Soma Kesara
2 min readApr 2, 2021
Source: Satellite image ©202 Maxar Technologies

The news of the ship “Ever Given” got stuck in Suez Canal got my attention for the last ten days. This episode reminded me of multiple lessons learned over the period as a software architect while designing several applications.

Background

Per the initial probe, a sandstorm and burst of wind may have thrown the vessel off the course. This incident caused a traffic jam of two hundred ships for just over six days. Fourteen tugboats were used to free the ship. Tugboats are specialized vessels that help ships to “dock” in harbors.

Suez Canal is Significant to World trade — Suez canal is a heavily used shipping lane globally. It is a crucial artery for shipping goods between Asia and Europe, carries 12 percent of global trade, 30 percent of all container ships pass through this.

Lessons for Software Architects from this incident

Identify chokepoints and Their cascading effect.

A well-known proverb in the software industry is that “80 percent of the users mostly use 20 percent of the application capabilities”. This indicates that 20% of the application code receives more traffic than the rest. If not handled properly, these sections of code can become application chokepoints. A typical example of a choking point is the user authentication and authorization section of an e-commerce application. Any latency or unavailability of this section will immediately result in a poor user experience and substantially impact the organization’s finances.

An architect must identify these regions and be extra vigilant, pay close attention while designing them.

There is “No one size fits all.”

Agile approaches took the IT industry by storm. Stakeholders are pushing for frequent releases, improved efficiencies with automation. All applications may not be ready (or suitable) to adopt the agile approach. Multiple organizations are still using big monolith applications, matter-of-fact mainframe applications even now. Release frequency (speed) is very important for enhancing a Monolithic application (Ever-Given) in short timelines (Suez canal). One should not expect or compare the release velocity of microservices applications (small containers) with big monolithic applications built before the agile era.

An architect must raise stakeholder awareness, particularly when working with monolithic applications that lack automation, continuous integration, and continuous delivery.

--

--

Soma Kesara

These are my own personal views and are not the opinions of my employer