Data availability concerns is a third reason. If you host it on S3 you know your data will be there. If you’re the only IPFS node hosting then you’re essentially self-hosting your content. If you get other people to seed then that’s awesome but not guaranteed. Filecoin can be the solution here and I’m hopeful that this will be the missing piece.
Besides the overhead of administering a server (keeping it up to date, etc, how is this different than hosting an ipfs node on ec2 or digital ocean?
I’m interested in this because our current architecture (storing profiles mostly on s3) doesn’t solve censorship problems. (Think great firewall of china)
You’re not pointing to your IPFS node, you’re pointing to the IPFS network (you node is a small part of the network). So any reliability/routing issues will still impact you, regardless of the node you contributed to the network. The only thing your own node helps with is providing a consistent seed of your data.
Running your own Linux server (with Blockstack storage driver) and using it as a storage server (instead of S3) can potentially work better because you are directly pointing to your own node (decoupled from IPFS routing). Of course, mirroring on both networks gives you all the benefits.
We have this general rule of thumb for storage design: replicate as widely as possible. Replicating on IPFS fits that bill.