4 ms·
Are you funded? Are you part of an accelerator that gives you access to extremely large chunks of free cloud credits? How compute heavy is your workload? At th
by nmjohn 12y ago
Are you funded? Are you part of an accelerator that gives you access to extremely large chunks of free cloud credits? How compute heavy is your workload?
At this time, you will always be paying up for cloud services. That being said, you are paying for something, not just fluff, that many people - myself included - find quite valuable.
Dedicated hardware is great, I can get a xeon 12 core E5v2 with 32 gb of ram and a guaranteed 300 mbps bandwidth for ~$100 / month - which the bandwidth alone would cost many multiples of that on AWS. However, what if a hard drive goes bad? Or a PSU blows? Or something else which knocks that server offline? How quickly can you get another one up and running?
With AWS/azure/google infrastructure, you'll have built your application to be fault tolerant of the underlying hardware and a new instance can be automatically spun up. You also can scale instantly - with dedicated hardware it'll be a minimum of hours (if your lucky) to days to get more servers online. If you get an expected wave of traffic - from a favorable blog post for example - on any of the mentioned cloud providers your app can automatically scale and provision servers without you clicking a button.
The other important cost to consider is time - what is your developers time worth? Instead of fiddling with the database server, you can pay amazon a premium and just use RDS. Instead of setting up a distributed queue so different components of your app can communicate, you can just use SQS.
However at the end of the day the answers to all these questions are going to be unique for everyone and different situations call for different solutions. If you needs lots of compute power and need it to be as cheap as possible - using dedicated hardware will be your best bet, unless you can architect a solution with spot instances.
As far as AWS vs. azure vs. google is concerned, I've used all three and AWS provides the best service at the most competitive price. Azure is probably better if you're using windows servers. Google's cloud offering offering is underwhelming - and is quite expensive for what you get.
If you are still very small - digital ocean is a fantastic option and can save you a lot of money until you need the reliability from a higher quality provider.
- taf2 12y agoThe other big issue people usually don't mention or consider when discussing dedicated hardware is that not only will it take longer to add capacity, but it is also a risk every time you add servers you risk the entire network that server is being added too. Unlike a cloud environment, adding servers to a dedicated environment is not necessarily going to be as well practiced - so errors are more likely... These types of errors are pretty bad too e.g. All servers offline kind of bad. We had this happen two very bad days followed and now I can only recommend aws with reserved instances and multiple regions.