6 ms·
How to: Compete with Amazon S3 without Buying Hardware
- alexchamberlain 14y agoI'm not sure I completely understand. Are you recommending people shop around? Do you want someone to develop a service to shop around for storage? Or, do you simply want a cheaper competitor?
- adamsmith 14y agoThanks for the comment. I just edited the post to try to make it clearer. I'm proposing that anyone could start a company, Foo Inc, who would sell redundant storage and compete with S3. Instead of operating your own hard drives, you rent hard drives connected to the Internet from a variety of providers. Of course your customer would know that you were doing this, and advanced customers could even choose their own blend of raw storage providers to optimize for different things. Towards the end of the post I mention briefly that instead of a startup (Foo Inc), this ecosystem could be set up in a decentralized way (think Bitcoin v.s. central banking), though that is far less realistic.
- thereallurch 14y ago"In 2006 a 320 GB hard drive cost $120. Today (Thailand floods aside) that much money will snag you a 3 TB drive." Floods or not, the current price isn't $120 dollars. It's 50% higher than that. http://camelcamelcamel.com/Western-Digital-Caviar-Green-Desktop/product/B004RORMF6?active=amazon http://camelcamelcamel.com/Western-Digital-Caviar-Green-Desk... Shows one of the cheapest 3tb non enterprise drives. It looks like 3tb was $120 for ~2 weeks. Looking at enterprise drives, 3tb is closer to $300. This article is basically advocating RAID 5 across many storage providers. *edit: From the pictures, article is advocating RAID 10. Nonetheless, RAID5 would be just as feasible for additional storage.
- pandemicsyn 14y agoPeople always conveniently forget as well that when you store data at S3 or Rackspace they're doing 3 replica's. If you store 3TB's, its not just the cost of a single 3TB drive..its 3x. To do it at home you'd need to buy 3x3TB Drives @300$ each.
- adamsmith 14y agoThat's right. The main point is that these services still benefit from the falling cost of storage.
- revolutions 14y agoSuppose the prices of _x_ amount of storage was halved recently. If they stored their data in three replicas, shouldn't their price become (1/2)^3, or 1/8th the original price? That would only serve to prove his point further, or I'm missing something.
- thereallurch 14y agoprovider1=[d1,1][d1,2][d1,3] provider2=[d2,1][d2,2][d2,3] provider3=[d3,1][d3,2][d3,3] Each drive cost $x. You have 9$x = cost to store 1 drive of data, across 3 providers, who each store 3 copies. If drive prices halve, it's still 9$x.
- wmf 14y agoI don't think anyone is proposing 3 providers, who each store 3 copies. Either use one provider who stores 3 copies (Amazon) or three providers who each store one copy.
- thereallurch 14y ago"People always conveniently forget as well that when you store data at S3 or Rackspace they're doing 3 replica's. If you store 3TB's, its not just the cost of a single 3TB drive..its 3x. To do it at home you'd need to buy 3x3TB Drives @300$ each." Existing companies store multiple copies transparently...Either way, 1 copy or 3 copies, I dont think the math is wrong. Just change from 9$x to 3$x.
- adamsmith 14y ago> This article is basically advocating RAID 5 across many storage providers. That is correct. And to be more precise, I'm advocating RAID 5 across storage providers as a service, so people who just want to store data don't have to manage anything.
- thereallurch 14y agoWouldn't the next issue become bandwidth? Sure, you have cheap storage, but you still need to manipulate the data somehow. I know S3 only charges for outbound data. What about the other companies? Is bandwidth free and plenty?
- adamsmith 14y agoThis is a really interesting question. At scale, this could be managed, I think, through a combination of (a) shipping hard drives around, (b) caching, and (c) peering between storage providers. For example, shipping hard drives around would be expedient if you wanted to switch out a raw storage provider. The optimal strategy also depends on the access patterns and latency requirements. It seems solvable, but not trivial.
- Terretta 14y ago>> This article is basically advocating RAID 5 across many storage providers. > That is correct. The diagram in the article and text description is RAID 1+0 aka RAID 10.
- Dylan16807 14y agoNo, it's RAID 5. Well, specifically, it's RAID 6 but customizable. You can lose any k drives.
- notmyname 14y agoIf this were built on top of (or in conjunction with) Openstack swift (http://swift.openstack.org http://swift.openstack.org), it could be done with a common storage backend. There are already several public cloud storage providers using swift (Rackspace, HP, Softlayer, Internap, KT, and others), and a growing number of private deployments as well (Wikipedia probably being the most recognizable name). If you'd like to talk more about this, send me an email (address in profile).
- chx 14y agoSo... let me get this straight. You came up with an idea which requires building a strong brand which takes a lot of money and that Amazon can squelch any second there's a hint of possibility of a success. And this made HackerNews frontpage. What?
- soult 14y agoTahoe-LAFS[1] is a storage system that works similarly. It splits data into n fragments, of which any k fragments are enough to restore the data. This leads to a replication factor of only DATA_SIZE/k*n, while you can still lose n-k pieces without data loss. Additionally all data is encrypted, signed and optionally deduplicated. One of the authors of Tahoe-LAFS started a company that ported the whole system over to cloud storage providers.[2] It's still in alpha, but it's definitly worth a look if you want secure, encrypted storage without relying on a single cloud provider. 1: https://tahoe-lafs.org/trac/tahoe-lafs https://tahoe-lafs.org/trac/tahoe-lafs 2: https://leastauthority.com/ https://leastauthority.com/
- driverdan 14y agoI've been watching the storage industry for years as a hobby-passion. Adam pretty much hit all the major points. The storage space is still open for disruption but is hard with high risk. It's not like building a website. You need serious funding for hardware. You need people to manage the hardware. You need complex software to manage the data and ensure security. One serious breach early on and you're done. Competing with Amazon is especially hard since S3 is well established and entrenched. If you use EC2 you're going to use S3. Pricing would be a primary factor in competing. 3x redundancy is unnecessary. I'm not sure why services still do that. Reed-Solomon or similar redundancy algorithms can provide better protection and use less space. They have CPU overhead but CPUs aren't going to be the bottleneck for a storage service, bandwidth and hard drives will be. Edit: This would be if you built from the hardware up. I don't think offering a service like S3 on top of other storage services would work as a business. You'd have to deal with too many vendors, too much variation in APIs / software / hardware, lack of control, latency issues, and much tighter margins. IMO you'd be better off starting with bare metal. You could do something like this for personal, smaller scale storage but growing it to scale would be a nightmare.
- lusr 14y agoI imagine that the response times of S3 vs. this Frankenstore model will be much better, which may be an issue for certain applications. Also you need to host infrastructure software that knows where your data is sitting, how to deal with provider failures, how to efficiently route requests, etc. which means yet-another-thing-to-configure. Finally, if the volume of data you're storing is so expensive on S3, I have to wonder why you have all this non-revenue generating data stored in the first place. Processing it also seems more expensive now because the free bandwidth you get from EC2<->S3 won't apply in the Frankenstore model.
- adamsmith 14y agoAll good points! I should have mentioned this more explicitly but you could take the buying-raw-storage model and use it to do anything S3 does, I think. Eg you could have three independent whole copies, or one whole copy and 1.5 copies distributed widely. The only thing I can think of that Amazon could do that you couldn't do, if the raw storage providers are untrusted, is serve the data with no addition hops, since the data would be encrypted.
- wmf 14y agoSo basically https://nimbus.io/ https://nimbus.io/ on rented hardware.
- deleted 14y ago[deleted]
- coalsoul 14y agoBreak the file into 3 equal parts. You only need to store one part plus the parity file. And not necessarily with the same cloud provider. Result: you pay 1/3 less for storage. So if Dropbox is so clever why aren't they doing this for their customers? xor'ing/Reed-Solomon has been used this way since Usenet.
- mleonhard 14y agoA big cost of running a redundant data storage service is data transfer. To store two replicas of each piece of data, you must receive the data at one replica, transmit it to the other replica, and receive it at that replica. The data goes in at one server, then back out, and then in at the other server. To store 1 GB of data, you must pay for 3 GB of data transfer. Data transfer is expensive. Amazon works around this problem by building data centers in clusters, interconnected with low-cost connections. When you upload to S3, your data goes over the Internet only once.
- stevewilhelm 14y ago> Amazon S3 has high margins today. ... > ... despite the fact that hard drive costs fall 50% per year. Citations for both statements please. Even if both are true, it may be the case that hard drives are not the primary cost of running a large cloud storage service.
- deleted 14y ago[deleted]
- JoachimSchipper 14y agoIt's true that cost/GB has fallen, but cost/IOPS hasn't followed suit. If your I/O maxes out when the disk is 10% full, you can't really do much with the other 90%.