defmodule Alisinabh.Blog do

def AWS_Outage! do # UTC Pub Date: 3/6/2017 10:30

TL;DR: If you use an online service as storage or API it is always better to do Load balancing and failover within the Client side.

About a couple weeks ago we decided to use AWS S3 for storage of a mobile application which needed about 3gb of data dynamically.

We’ve created an AWS account and uploaded all files in a new S3 bucket. Everything was good, until… {:err, :aws_outage}

AWS outage happened. The service was down but fortunately the app was not released at that time.

Our CEO said: Ok, this can happen. What have we thought to prevent this? We did’t! We have not even thought about S3 getting unavailable for a second.

These things can happen. And whatever can happen will happen (Morphies law)

We are responsible for outages. Not Amazon. We could prevent this easily with having another backup bucket on a different IaaS or even on a cheap VPS just to prevent a complete outage.

After this occasion i realized how important is client level redundancy. It’s what we’ve been doing for API services to do the load balancing and failover on client side. It does not require any API gateways and in fact, It’s free of charge and works better if implemented correctly.



defmodule Alisinabh.Contact do