Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is why it's important to write code that doesn't depend on only a single service provider. S3 is great. But it's better to set up a Riak cluster on AWS than to actually use S3, if you can.

The only services my team uses directly are EC2 and RDS, and I'm thinking of moving RDS over to EC2 instances.

We are entirely portable. We can move my entire team's infrastructure to a different cloud host really quickly. Our only dependency is a Debian box.

I flipped the switch today and cloned our prod environment, including VPN and security rules, over to a commodity hosting provider.

Change the DNS entry for the services, and we were good to go. We didn't need to do anything because everyone was freaking out about everything else being down. But our internal services were close to unaffected.

At least for my team.

Obviously, we aren't Trello or some of the other big people affected. And we don't have the same needs they do. But setting up the DevOps stuff for my team in the way that I think was correct to begin with (no dependencies other than a Debian box) really shined today. Having a clear and correct deployment strategy on any available hardware platform really worked for us.

Or at least it would have if people weren't so upset about all our other external services being down that they paid no attention to internal services.

Lock-in is bad, mmkay?

If your company is the right size, and it makes sense, do the extra work. It's not that hard to write agnostic scripts that deploy your software, create your database, and build your data from a backup. This can be a big deal when some providers are flipping out.

All-your-junk-in-one-place is really overrated, in my opinion. Be able to rebuild your code and your data at any given point in time. If you don't have that, I don't really know what you have.



Not knowing your situation exactly, but there could be a cost of running your own infrastructure and not taking advantage of their services? For example, are the chances of losing data higher in riak (take into account disaster and operational bugs that could result in data loss or availability issues) than in one of amazon's supported data stores.

I don't necessarily disagree with what you are saying but there is cost of doing everything yourself.

You would have been equally protected if you had been in more than one region.


Yes. There's a cost to every decision you make. Sometimes it's the cost of s3 being down. Sometimes it's the cost of some developer time to make services agnostic. The value of that isn't immediately obvious, perhaps.

But the developer cost here (my time) was worth it. Our shit wasn't down, while everyone else's was.

I also want to point out that I spent minimal time setting this up. We can deploy to GCE or commodity VPCs at a moment's notice, and that a project I did over a couple of weekends piggybacking on the ansible playbooks I wrote for AWS.

It's not that hard. You have to get your developers on board with being provider agnostic, and you have to be agnostic yourself. But it is not insurmountable.

It also help when you're the lead dev or your team and also have a good relationship with the devops guy. :)


You still didn't address the reliability aspect. S3's durability is likely much higher than other solutions you might chose.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: