惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
雷峰网
雷峰网
量子位
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
博客园 - Franky
罗磊的独立博客
宝玉的分享
宝玉的分享
博客园_首页
腾讯CDC
The GitHub Blog
The GitHub Blog
D
DataBreaches.Net
IT之家
IT之家
D
Docker
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
V
V2EX
月光博客
月光博客
N
Netflix TechBlog - Medium
爱范儿
爱范儿
I
InfoQ
P
Proofpoint News Feed

ImageKit.io Blog

Next.js Image Optimization with ImageKit Use Video as a Background in Your Next.js Project How to Fix Autoplay Video in Next.js How Durian Scaled a Visual-First Retail Experience to 350K Monthly Visitors Online How Matsmart accelerated image delivery across countries with ImageKit AI in Digital Asset Management: From Smart Workflows to Agentic Automation How Joseph Joseph unified and secured global video delivery with ImageKit How Modall powers fast, effortless media delivery across 40+ projects with ImageKit Digital Asset Management (DAM) Trends: 2026 Report How to add a poster image to Video.js player (and automate it) HLS streaming with Video.js + React Building the future of storytelling with fast, AI-powered video delivery How PushOwl delivers 100M+ image-rich notifications seamlessly with ImageKit How Homify delivers millions of interior design images seamlessly with ImageKit Better event discovery with lightning‑fast videos & images Adding video player in React Native Video player in Angular applications Crop and resize videos in React Next.js image and video upload React image and video upload React video optimization How we quadrupled our traffic to 625K monthly page views How Apollo 24|7 boosted performance & reduced costs with ImageKit Simplify your media workflows with ImageKit DAM integrations Extending Lighthouse for custom image and video optimization analysis Brand Asset Management: What is it? How does it work? WordPress Digital Asset Management Guide - Manage your WP media assets better Why Shopify retailers need a digital asset management solution DAM vs. SharePoint: Which is best for you? AI-powered Metadata and Tagging in Digital Asset Management
How Do You Prepare For An AWS S3 Outage?
Manu Chaudhary · 2017-06-14 · via ImageKit.io Blog

Amazon’s Simple Storage Service, or S3 as it is popularly known as, is a cheap, easily accessible, and a resilient cloud storage option. But the downside, just like with any other cloud service, is that when there are problems, things can go wrong pretty fast.

Like the recent massive S3 outage in US region, which broke websites and applications including Slack, Imgur, Github, Giphy, and many more.

Many websites today use S3 for storing and serving images, and in such a scenario S3 becomes a single point of failure. Though very rare but an S3 outage is one of those events which can cost your company not only in terms of revenue, but also brand reputation and consumer trust.

How rare are these failures?

Amazon S3 Standard storage class is backed by 99.9% availability SLA over a year.

99.9% availability gives following periods of potential unavailability:

Daily: 1m 26.4s
Weekly: 10m 4.8s
Monthly: 43m 49.7s
Yearly: 8h 45m 57.0s

Now 8 hours of downtime is a huge loss for any company which is serious about doing business online, especially when the downtime occurs in a single big window like the recent outage that lasted around 4 hours.

For availability SLA of:

99.99% — means service can be unavailable for a maximum of 52 min
99.999% — means service can be unavailable for a maximum of 5m 15.6s

There is obviously a huge difference between 5 minutes and 8 hours.

Getting this extra 0.099% of availability adds significant cost and complexity to the infrastructure.

It's like premium of insurance. You hope to never use it, but when you do you are happy that it was there.

What are your options in this case?

Ideally, you should not rely on a single cloud service provider, or at least on a single geographical region of the provider for your cloud infrastructure. During this outage Amazon.com, Zappos, and several other tech companies like Apple, Walmart, BestBuy, etc. stayed up and running.

Apple uses both AWS and Google Cloud as per reports and sites like Amazon/Zappos have spread their infrastructure across multiple geographical regions.

With regard to S3, it is easy to build this redundancy in the system to handle outages. You can use S3’s cross region replication feature that can be configured to automatically replicate new objects (or a subset of new objects) in another bucket.

If you are using CloudFront + S3 for serving images on your website, then you can use Route53 to intelligently handle these failovers. You can handle this logic in your application code as well but it won’t be very easy in most of the cases.

What we do here at ImageKit?

At ImageKit, our customers rely on us for optimizing and delivering their images to their users with very low latency. Apart from using S3 as a storage internally, we use an array of other services offered by AWS.

Like several other service providers, we cannot afford to go down even for a few minutes, let alone hours. Hence, it becomes very important for us to prepare for an event like this, no matter how rare the event might be.

We use cross region replication to handle failure of S3. Based on Route53’s health check, we automatically start picking images from replica buckets in case of failure.

In addition to providing a failure-proof storage, our image processing servers are running in seven different regions across the globe.

It serves two main purposes:

1. Better performance for end users.
2. Redundancy in the system in case a particular region (or our server within that region) go down.

At an enterprise scale, re-architecting the whole application to handle failures like this would be a huge challenge. But if you have started recently and don’t have much technical debt, you should think about using these strategies starting today and find some clever ways of making your application failure-proof.

This article about managing AWS S3 outage was originally published on ImageKit's Medium blog here.


Do share your thoughts on how do you build redundancy in your applications in the comments. It would be interesting to learn what works for other companies and what does not.