Home/Blog/System Design/How distributed systems helped make the pandemic bearable
Home/Blog/System Design/How distributed systems helped make the pandemic bearable

How distributed systems helped make the pandemic bearable

12 min read
Jan 10, 2024

To suggest that anything made the pandemic bearable is certainly a generous stretch. For many communities and households, the COVID-19 pandemic was unbearable. But with the utmost respect for those affected – and still affected – by devastating losses, society as a whole has been able to respond to this pandemic more effectively than similar pandemics of our past. This is thanks to the amazing advancements the last century has seen in medical science – and it’s also thanks to one behind-the-scenes technology: distributed systems.

Distributed systems are essentially any computing system with components housed across various devices. From the Internet to cloud storage, distributed systems are crucial to upholding the services needed in our modern world.

Distributed systems also proved key to accelerating research and keeping us connected during quarantine – essential technologies we all leaned on as COVID-19 raged. Today, I’d like to discuss how these distributed systems helped make the pandemic just a little more bearable.

We’ll cover:


A quick intro to distributed systems#

Let’s start with a quick explanation of distributed systems for the uninitiated.

Simply put, distributed systems are systems with their components and services distributed across various devices (e.g. servers, cellphones, IoT devices, etc.). Also called scalable systems, these sprawling systems enable services to reliably reach more people. As such, they prop up our online services, medical systems, and communications infrastructure.

The modular nature of these systems allows them to evolve and scale with changing needs, with a strong degree of reliability. If we had every component of a system on one device, then we are solely reliant on that one device or piece of hardware, and are at great risk of system failure. By distributing a system’s services across various devices, we can implement protocols to prepare for the probable failure of certain components, resulting in an architectural solution that aligns with real-world probabilities.

widget

Distributed systems also allow us to sustainably perform parallel computing, or simultaneous computations. This has been necessary for the practical development of many fields that heavily rely on computations, such as machine learning (ML), artificial intelligence (AI), and Data Science. While parallel computing would be a task too intensive for a single piece of hardware to perform within a reasonable time, a distributed system can efficiently do this by leveraging its various interconnected nodes.

Most of the technologies we use today depend on distributed systems. Distributed systems:

  • Serve an an alternative to supercomputers, enabling incredible amounts of computing power, as well as storage, to be made available through remote services (e.g. cloud storage, cloud computing)
  • Keep search engines, email inboxes, and Internet connections running around the clock
  • Keep networked medical equipment working reliably and monitor and report system failures
  • Enable the collection of data from various interconnected devices, resulting in the growing mass of data known as Big Data, and subsequently, the field of Data Science
  • Enable the practical use of artificial intelligence (AI) and machine learning (ML) technologies

I’m part of the first generation of system engineers who worked on distributed systems. I can tell you that, had this pandemic stuck 20 years ago, these systems couldn’t have supported us the way they did during COVID-19. It’s only in the last two decades that we’ve developed an effective approach to designing distributed systems. This approach is what we call System Design, and it’s what we can really thank for making today’s distributed systems so efficient or adaptable.

Now, let’s get on to how these technologies helped us through the pandemic.


Distributed systems & pandemic response#

widget

Medical research & public health#

Technologies such as AI, ML, Data Science, and cloud computing were all leveraged during the pandemic to accelerate research and inform decision-makers. All of these technologies depend on distributed systems.

Several companies – including Amazon and Microsoft – donated and shared high-performance computing (HPC) resources through the cloud. Cloud HPC enabled researchers to leverage powerful computing power remotely, in effect performing research at a scale and speed they otherwise didn’t have the resources for. Several alliances and partnerships were built to share HPC resources, including the COVID-19 HPC Consortium, which included various industry giants, academic institutions, and government organizations – from IBM to MIT to NASA.

Here’s the HPC Consortium on how access to powerful computing is essential to responding to crises:

“Computing is playing an important role in addressing the COVID-19 pandemic and has, similarly, assisted in national emergencies of the recent past, from hurricanes, earthquakes, and oil spills, to pandemics, wildfires, and even rapid turnaround modeling when space missions have been in jeopardy." – The HPC Consortium

AI and machine learning also played a crucial role in streamlining vaccine development. These technologies sped up data analysis while maintaining data quality for vaccine developers, from Pfizer and Moderna to Johnson and Johnson. Machine learning algorithms automated steps done by humans, made data available faster, and accelerated clinical trials by performing data analysis on incredibly large data sets. These technologies even helped these companies make data-driven decisions to optimize their organizational efficiency through these turbulent times:

"… Now that we’re rolling our vaccine out across the whole world, more and more phone calls are coming in… We’re looking at machine learning models to help predict the forecast of these calls so that we can then staff up appropriately. – Dave Johnson, chief data and artificial intelligence officer at Moderna

While we waited for effective vaccines and treatments, distributed systems were crucial to managing and modeling the spread of the disease. The field of Data Science couldn’t exist without distributed systems, which power the mass collection of Big Data and enable multitudes of parallel communications and computations.

Gathering and analyzing data quickly was crucial to helping make quick decisions to support public health, and Data Science technologies were heavily used to help speed up this process.

Researchers commented on the unprecedented role of Data Science in this pandemic’s response:

“Compared with responses to previous epidemics such as SARS, Ebola, HIV and MERS, the COVID-19 pandemic has attracted overwhelming attention from not only medicine and public health professionals but also experts in other data and computational sciences fields that in previous epidemics were more peripheral.” – Qingpeng Zhang et al.[1]

Data Science technologies enabled us to analyze a mass of data, including:

  • Infections and human mobility to track spread and enable contact tracing (for the latter, tech companies like Google and Apple responded quickly to enable features such as exposure notifications)
  • Data mining of COVID-19 literature
  • Social media mining to accelerate disease surveillance and monitor misinformation

From adjusting quarantine rules to public health awareness campaigns, this quality data and data analysis enabled researchers, governments, and health authorities to make informed decisions about their COVID-19 responses.

Get hands-on with System Design today.#

Try one of our 400+ courses and learning paths: Grokking Modern System Design Interview for Engineers & Managers.



Remote communications#

Those of us with access to the Internet and devices were lucky to be able to adapt to the circumstances and shift to remote communications. For those who benefitted from this, our ability to connect online meant the difference between unemployment and financial stability, between isolation and interaction with loved ones.

Businesses and organizations began working remotely, health care shifted to telehealth, stores moved to eCommerce, and universities shifted to online learning. One study estimated that almost 50% of U.S. work hours occurred remotely between April and December 2020 – a 45% increase from before the pandemic.[2]

Social gatherings and interactions between loved ones moved online as well. In one study surveying Americans from all 50 states, ages 18-82, respondents reported an increase in digital communication for personal use, compared to pre-pandemic usage. The study found that 36% of respondents reported an increase in voice calls, 30% for video calls, 35% for social media, and so on.[3]

With the increase of digital communications, broadband operators saw traffic erupt on an unprecedented scale– with operators reporting up to a 60% increase since before the pandemic.

All of these digital communications services – from mobile networks, to Zoom and Facebook Messenger – are distributed systems. With this giant spike in demand, companies had to act quickly to continue serving customers reliably. There were certainly challenges in optimizing these services to meet the new demand. Companies turned to cloud services to handle new traffic that was beyond their ability to accommodate. Zoom, for instance, couldn’t scale on their own data centers, and moved to Oracle Cloud, then AWS.

While demand went up, the supply chain had broken down. Companies weren’t able to buy hardware as quickly and efficiently as they could before the pandemic. The worldwide chip shortage affected the availability of many types of hardware that depend on them – and the shortage still affects us today, with lead times for semiconductors commonly at 40-50 weeks recently in summer 2022.[5]

During typical times, we’re definitely always trying to optimize systems, but we usually don’t spend as much time optimizing as we should.

When there’s a lot of growth happening and a company has the funds, it’s often easier and faster to scale systems by just buying new hardware. But when you can’t find more CPUs or network switches, you have to make it work with the existing hardware.

This is another amazing challenge in distributed systems: how to optimize existing hardware to get more performance. There are optimizations that you can do in storage, compute, and network compression to make your system more efficient while leveraging the same hardware. Engineers had to go back and use better algorithms, optimizing their existing code, so that the existing hardware could give more throughput. Because of System Design, communications providers were able to keep running their services at a much larger scale.

widget

The digital divide#

Of course, the solutions we’re celebrating were neither perfect nor accessible to everyone. The problems that underprivileged or underrepresented communities face were highlighted during this time too. As our world’s reliance on technology grows, many have been left behind and are unable to leverage tech to their advantage. The resulting social inequality, known as the digital divide, affects communities across various demographics, with a compounded impact at the intersections of demographic categories.

This figure shows the demographic distribution of U.S. populations in counties that ranked high on the Digital Divide Index (DDI):

Source: https://pcrd.purdue.edu/the-state-of-the-digital-divide-in-the-united-states/

A heart-breaking reality is that limited access to tech was one of the many factors that left vulnerable communities susceptible to more COVID-related deaths and economic hardship. It may surprise the more fortunate that 44% of low-income Americans don’t have access to broadband Internet services, while 29% don’t have smartphones.[6]

Many schools were unable to provide hardware to support their students shifting to remote learning. This left the burden on parents, and many kids simply couldn’t attend classes online. In April 2021, a U.S. study surveyed parents of children whose K-12 schools experienced closures at some point during the pandemic. Among reports of the impact on their children’s schoolwork, lower-income families faced the most obstacles due to the the digital divide:

The data we’ve cited focuses on the U.S., but the digital divide is a global reality. There’s definitely a lot of work to be done in making hardware and Internet access available to more people in a scalable, affordable manner. If these technologies become more accessible, more and more people will be able to leverage technology to their advantage in times of crisis.

Get hands-on with System Design today.#

Try one of our 400+ courses and learning paths: Grokking Modern System Design Interview for Engineers & Managers.




Technology is crucial to crisis response#

Let’s be clear: the pandemic still would have been disastrous without the last century’s worth of advancements in medical science. And yet, our pandemic response simply couldn’t have looked the same without our technological advancements.

If it weren’t for well-designed distributed systems, we couldn’t have moved masses of services and communities online. Nor could we have accelerated research on vaccines and viral spread.

While tech solutions aren’t perfect or as accessible as they should be, they’ve had an unquestionable impact on the world at large during this pandemic. A career in tech means you can play a crucial role in advancing the technology that improves our lives – especially in times of crisis.

If you’re entirely new to tech, consider learning to program. Programming – or coding – is how we turn lifeless hardware into functional technologies that solve real-world problems. It’s an incredibly fulfilling career path that’s always in high-demand in our current day-and-age (and is also recession-proof). To start learning how to leverage technology for creating amazing solutions, check out our beginner’s course: Introduction to Computers & Programming.

If you’re already a developer but haven’t learned System Design yet, I hope you’ve realized just how important this discipline is today. It’s not just a technical skill that top tech companies need – the whole world needs System Design to truly make distributed systems work for us. By learning System Design, you can become a well-rounded engineer and advance your career into senior and managerial roles. To get started learning System Design today, check out our comprehensive course that guides you through everything you need to know about System Design: Grokking Modern System Design Interview for Engineers & Managers.

May your learning be fruitful.

Continue learning about distributed systems#


Written By:
Fahim ul Haq
 
Join 2.5 million developers at
Explore the catalog

Free Resources