Skip to content

Why AWS Outages Affect Our Coding Lives and What to Do About It

Recently, I was sitting at home, doing a puzzle with my child. Just as I was about to place the most critical piece, the internet went out. You know, that frustrating kind, lights are on but the familiar modem light has gone out. My first thought was, ‘Did something happen again?’ Turns out, this time, the ‘something’ was on a whole different level. Seeing my child’s innocent face disappointed, I thought, ‘Okay,’ I said, ‘We are not going to let this go.’ A few hours later, the internet was back, but that lingering question of ‘why’ didn’t leave me.

That day, I realized that for those of us who are constantly online and work with cloud-based services, these outages are not just about ‘no internet.’ Especially for me, who develops REST APIs with C# and transfers data to PostgreSQL, a crash of a giant infrastructure like AWS is like dominoes falling. The next morning, everywhere was ‘AWS Outage.’ From Snapchat to banking apps, everything was in turmoil.

This made me think deeply. We often talk about ‘secure cloud’ and ‘uninterrupted service,’ but events like this show how fragile that reliable harbor can be. Imagine you’re coding intensely, working on your project that depends on AWS. Suddenly, everything stops. No requests go through, no responses come back. Naturally, this affects your application’s stability. Speaking for myself, such incidents are both a nerve-racking experience and provoke questions like ‘What am I missing?’

Why Are AWS Outages Such a Major Issue?

The matter is actually simple. Today, most applications and services heavily rely on cloud infrastructures. AWS is among the leading providers of such infrastructures. So, when there is an outage, everything connected to those servers is affected. Think about your project, which depends on these services — your project comes to a halt, and users are inconvenienced. For someone like me developing with C# and .NET REST APIs, this situation is even more critical because APIs are meant to be constantly accessible.

There’s also the aspect that these major outages don’t just affect the current services. They undermine trust as well. People think, ‘I’m paying for this, it must work continuously.’ And they are right. When you add cyberattacks into the mix, things get even more complicated. Imagine a day when everything coincides, a so-called ‘blackout’ day. AWS admits to this, investigates, and publishes reports, but it doesn’t eliminate the inconvenience experienced at that moment. Encountering such a situation while coding or testing a circuit really drives you crazy. Meanwhile, recently, I struggled to find datasheets for an integrated chip while designing an electronic circuit—felt like my internet was down, but in reality, there’s a bigger problem, so we move on.

Ultimately, outages of large platforms like AWS impact not just tech, but everyone. Even for someone working with embedded systems, these issues are significant. Sometimes, the data for an IoT device I develop might need to send data to a server that relies on such infrastructure. So, the gist is, while cloud technologies make our lives easier, they also expose us to certain risks. That’s why we need to take precautions. For example, I am now thinking about how to make my PostgreSQL database connections through Dapper and my REST APIs more resilient against potential outages.

What Should We Do? My Suggestions

Since such outages are inevitable, it’s best to be prepared. Here are some tips for active coders like me:

  • Multi-Region Approach: If possible, run your application or services in multiple AWS regions. This way, when one region faces an outage, others can take over. This is essential especially for critical applications.
  • Data Backup and Recovery Plan: Regularly backup your data and test your recovery processes. For my PostgreSQL data written via Dapper, this is crucial. If something goes wrong, at least I won’t lose my data.
  • Consider Alternative Services: If your project is very critical and you want to avoid full dependence on AWS, consider other cloud providers like Azure, Google Cloud, or hosting your own servers. As the saying goes, ‘Don’t put all your eggs in one basket.’
  • Local (On-Premises) Alternatives: For some critical components, using your own servers instead of cloud services might be an option. Of course, this involves additional costs and management but offers benefits in security and availability. Especially when working on embedded systems, this option can sometimes be necessary.
  • Follow Outage Notifications: Keep track of AWS status pages or tech news sites to get early warnings about potential outages. This can help you avoid panic when issues arise unexpectedly.

Honestly, when these incidents happen, the first thought is often, ‘Is there a problem with my code?’ I’ve experienced this myself. One day, I found that my REST API was not returning data. I immediately questioned whether I made an error with Dapper, or if there was a problem with PostgreSQL. I spent hours troubleshooting. Turns out, it was not my code, but a service outage on AWS. I cannot describe how relieved I felt then. But of course, it also made me think, ‘I wish I had been better prepared.’ Now, whenever there is an outage, my first step is to check AWS’s status page. Recently, during hiking with my spouse, we got lost, and our phone battery died so we couldn’t check maps. That feeling of being lost in nature is so similar—both are about being disconnected. Anyway, back to the topic.

In conclusion, cloud technologies have become an inseparable part of our lives. Platforms like AWS enable us to do amazing things. But this convenience comes with a cost: the risk of outages. Our responsibility as developers is to develop strategies to minimize these risks. Doing so enhances our projects’ reliability and prevents user inconvenience. Remember, even the best code is useless if the infrastructure collapses. That’s why we must take outages seriously and implement necessary precautions. Living in Bursa, I find it especially interesting to see how these technological developments are integrated into our everyday life.