Live data from Hacker News

Why we built a 40TB photo server in-house instead of using S3

tech.oyster.com

21–30 of 78 posts

Re: Why we built a 40TB photo server in-house instead of using S3

#22

> In strict accordance with KISS methodology Buying a ton of parts, carefully assembling them, and having it be your problem when something breaks is simpler than paying Amazon to solve the problem nearly perfectly?

Better than going bankrupt.

Re: Why we built a 40TB photo server in-house instead of using S3

#23
"The one most valuable asset at Oyster.com is our photo collection. ... In strict accordance with KISS methodology, we opted against LTO and S3, and decided to build a big BOX."

I can only imagine how much they will be scared each time they need install updates or reboot THE BOX. They will eventually decide to build identical BOX and mirror their data on daily basis. Then they will notice that mirroring such big volumes of data is wasting tooo much system resources and start evaluating in-house distributed storage solutions, such as OpenStack Swift. Then they will notice it is way too overcomplicated and finally decide migrate their data to Amazon S3.

I'm writing it as a person who walked the same path over the last few years. :-)

Re: Why we built a 40TB photo server in-house instead of using S3

#24
post #6

S3 gives you multi-host, multi-region redundancy. Putting it all in one box is asking for trouble. What if the raid controller grows a bug and corrupts on write? It's happened. What if there's a fire in the building that has both your server and your back-up? Eggs, meet basket!

you could easily achieve double, triple, or even quadruple co-located redundancy for far less than what s3 would charge for 40TB.

Before anyone replies about needing a "24/7 sysadmin", if you are running stuff at this scale:

A) You already have a sysdmin, or somebody competent enough to do the setup/maintenance work. Running off s3 doesn't magically mean you never need deal with sysadmin issues.

B) Rack providers will swap out hardware if you put in a ticket, so you can provide multi-regional redundancy for much much much cheaper than amazon would charge you ($60000*2 for 2 regions gets expensive fast)

Re: Why we built a 40TB photo server in-house instead of using S3

#25
post #3

For starters, 40TB on S3 costs around $60,000 annually. The components to build the Box — about 1/10th of that I wonder why no one ever factors the cost of having a knowledgeable person handling the system into their calculations. TBH 40TB doesn't sound as much, but once you start growing you'll want someone familiar enough with the subject to take care of it (especially if it's their most valuable asset).

Its just not that hard people! Assuming he built the box for $6000 as claimed (unfortunate timing given hard-drive prices), that's $54,000 of someone's time before it becomes a loss. I've got 7Tb sitting here and in the last two years I've had three failures (all seagate incidentally) for a total consumption of my time of 45 minutes and zero downtime. Maybe 10 hours (erring on the high side) to set the things up.

If I needed this much space in a start-up I'd totally do it myself - it would be a good use of my time. No, my concern with this setup is that it looks (to me) to be a "w00t I got $6000 so lets build a 733t boxen!" It looks cool and fragile, instead of boring and robust.

UPDATE: To be fair, I'm not hammering those drives continuously. How much does that change the equation? Even if it goes from 45 minutes every two years to 45 minutes per day, you'd still be net positive. Basically, you can't prevent drive failures. But if you can keep the failures restricted to the ones that just require popping in a new drive, then your "operator time" is minimal. Its when you lose an array that you're in trouble. Again: Do not use one big box!

Re: Why we built a 40TB photo server in-house instead of using S3

#26
post #6

S3 gives you multi-host, multi-region redundancy. Putting it all in one box is asking for trouble. What if the raid controller grows a bug and corrupts on write? It's happened. What if there's a fire in the building that has both your server and your back-up? Eggs, meet basket!

I believe S3 is multi-zone, but not multi-region.

Re: Why we built a 40TB photo server in-house instead of using S3

#27

Static image storage makes the most sense todo on S3 or similar. Building your own storage, does not provide the redundancy and reliability of S3. Additionally, you have the flexibility to enable CloudFront and distribute the images via CDN if you need.

Building your own storage can provide the same redundancy and reliability. You can still use a CDN as well.

Re: Why we built a 40TB photo server in-house instead of using S3

#28
How are you dealing with bit rot? Are you periodically scrubbing the data to give the controller a chance to repair or are you waiting to get a URE during an array rebuild? Are you running end to end checksums against all your data to protect against bad firmware, bad ram, etc. What is your mean time to repair in case you lose a drive?

One more question: you saturated the network link with a sequential read/write, but is that how you actually store the data? If not, how long would it take you to be up and running on another CDN in case Akamai goes down in flames?

Re: Why we built a 40TB photo server in-house instead of using S3

#29
For a 24 drive server, I'd just get a heavily discounted dell or HP box. A startup should be able to pay half list, buy two, and be ahead vs. s3.

Supermicro chassis re a big improvement overdoing your own wiring. The Areca controllers, especially in raid 6, re great. For raid 5 I'd also look at 3ware.

For single gig e, you can get away with esata expanders, building something like the back blaze pod. I've done that kind of thing for personal use, and to have an onsite mirror of something, but I'd want several, in several different colo facilities, to compare with s3. The exception is if you need some kind of scratch storage, but even refilling a 40TB archive with downloadable content takes a really long time over a 1Gbps link.

I'd build a few boxes like this now, but the Thai floods pushed hard drive prices up to the point I have to wait. Hopefully fast 4-5TB drives will be $200 by summer 2012.

Re: Why we built a 40TB photo server in-house instead of using S3

#30
post #15

This is honestly pretty scary. There are a lot of single points of failure in this solution. 1) Single Box 2) Single Location 3) Single 40TB RAID 6 Array on single RAID card with 22 Drives (assuming 24 2TB drives, 2 parity, 2 hot spare = 40TB) 4) Single bonded network link means single switch, no redundancy against switch / network device failure Honestly this may have been cheap but your getting what your paying for…

Warning, the sound of a broken record coming up...

> An unreliable backup solution.

Nope. RAID is not a backup solution. It provides redundancy so the array can survive an event like a device failure (and so the data survives as a consequence) without significant downtime for repair (with zero downtime if you have hot-swap hardware) but it does not, and is not intended to, protect the data from the huge list of other things that can affect it.

RAID is redundancy for reliability purporses, not backup purposes.

Post reply on HN