Recently, I was trapped in the New York area due to a large snowstorm that we like to call a nor’easter. From midnight Thursday, January 21 until the evening of Sunday Jan 24 over a period of 68 hours, I had 5 or six flight cancellations, stayed in 3 different hotels, and ultimately went from LaGuardia to JFK to Newark to Philadelphia International airport by car/taxi/minivan.
It was one of the worst travel ordeals that I have been through in my storied and travel-filled career, but in the end, I do not blame any individual person or company. The problem is ultimately that the transportation infrastructure is not built to handle natural disasters like this snowstorm or other emergencies that may arise. Almost 9,000 flights were canceled over the weekend due to the storm. There were few, if any, alternatives for travelers trying to fly in and out of the mid-Atlantic and north eastern United States.
If we built networks like this, the Internet would not be what it is today and I might be in a completely different profession (anyone want to learn how to scuba dive?). Our networks are ultimately designed to connect end-users to applications and data. To ensure that those connections are successful, our networks are built to deal with failures, catastrophes and demand surges. We do this by implementing key concepts like disaster recovery, high availability, and elasticity.
Insurance for a rainy day
Disaster recovery, or DR for short, is the building of redundant, if not identical, infrastructure to deliver applications, services and duplicated data. If the primary services become unavailable, then the DR infrastructure is activated and clients are directed to the freshly enabled DR site. DR architectures are reliable because nothing is active until the switch is flipped to make it active. On the downside, DR is expensive insurance since the facilities are never used unless there is a problem.
High availability leverages technologies like load balancing functions that I have described here and here. The core ADC functions of server load balancing and global server load balancing enable high availability for applications and services on the network. By analyzing resources and steering traffic to the optimal resource pools, ADC technologies mean that applications can always be accessed.
Stretch out and back
Elasticity is on demand resourcing we often talk about in cloud environments. When more capacity is needed, then elasticity is the concept used to create architectures that can expand and contract to meet that demand. In the physical world, elasticity can increase mobile phone capacity to support large crowds of people at sporting events or change the direction of lanes on a highway to assist in evacuation procedures. Elasticity enables websites to support Black Friday holiday shopping traffic peaks or the unexpected viral music video.
Planes, trains, and automobiles
It is hard to apply these technologies to the airline industry and transportation, in general. As an end-user trying to reach my destination, I had to manually route and re-route myself several times across multiple gateways and different potential paths until I was able to finally find one that worked for me. The process was frustrating, rife with errors, and consumed a large portion of my time to coordinate and identify the resources necessary to execute the constantly shifting plans.
We are lucky that in the world of IT, we have developed these technologies to ensure that clients and applications are able to reliably and efficiently connect under any scenario without the need for manual intervention. We need to be continuously evaluating and re-evaluating the IT infrastructure to ensure that application and service availability is always at a state that we are comfortable with. In the meantime, I plan to be a little more careful with my own travel.
In the meantime, I plan to be a little more careful with my own travel planning and avoid becoming Neal Page and Del Griffith again.