Ask HN: Which cloud do you use, and why?
The recent HN post on the "$10 super computer" (https://news.ycombinator.com/item?id=9575683) was actually very timely, as I am working at a client in the financial space who is evaluating various IaaS providers (up until now they have been using a small on-site data center). There is plenty information out there about which services are available, but less about why one should choose any particular provider over another. I'm curious to hear about the experiences of the HN community on this, and especially from those who have used several different services. What sealed the deal for you? Was it the price? Ecosystem of services? Ease of use? Was it the only thing available at the time? etc. Would also love to hear about any other factors one should take into account when making this kind of decision.
86 comments
[ 4.3 ms ] story [ 115 ms ] threadNetlify for frontend, it is a static hosting service with some neat features like url rewriting that lets you proxy e.g. /api to a backend without revealing api keys and under the same origin / domain.
What really draws me to this is:
- no servers or software to maintain
- horizontal scaling by design (heroku kind of forces it)
- deploy process is "git push", fresh deploy is one click (heroku) and a few mins doing config on netlify though they have an api so maybe that's redundant
- no lock-in, easy to replicate locally
- databases are managed wrt backups, recovery etc
- entire front end is static and will scale indefinitely with massive uptime
https://heroku.com/ https://netlify.com/
1) run a build process
2) own domain with automatic ssl and redirecting to w/e www-or-not, https-only etc
3) deploy with git push
4) url rewriting, header inserting, proxying
Typically you'll have to do quite a bit of work to get the same performance on S3+CloudFront as out of the box with Netlify, and if you do set up things to be as fast there, you'll suffer from slower cache invalidation.
https://www.netlify.com/blog/2015/03/06/comparing-netlify-an...
- The admin portal is great
- Deploying to websites is just a simple push
- I can programmatically spin up new SQL DB instances
- I really like C#
- There are a LOT of additional services available
- Microsoft is very aggressive about keeping prices low
I also had trouble using one of their API's. Got even thrown out very quickly for abusing it. No idea why, just trying to access. Maybe MS does not like my coding style :-) Never had something like that before. Reference to possible explanation page did not work. Faq did not cover it. Still I got an automated email a few days later to congratulate me with using Azure, while actually I was locked out...
But I have no commitment to Windows, so its easy to switch. I normally use DO and AWS and stick with them for now.
- pricing and offerings are similar to AWS
- they answer the phone when you have problems
However, in the last year, my experience has been that the quality of support has collapsed. It used to be I could open a chat window and get a knowledgeable person who could fix my problem, but that's not the case anymore. Now I get someone who either doesn't understand what I'm saying or tells me they can't do anything to help unless I upgrade to their gold-plated, top-of-the-line support tier, which would push them from "somewhat more expensive" to "absurdly expensive." It's gotten so bad that I'm in the process of moving all my systems off their cloud at the moment. I can't in good conscience recommend them anymore.
It's all very disappointing, as quality support has been Rackspace's key differentiator forever. My guess is that they've decided to give up competing with AWS on the high end and Digital Ocean et al on the low end, and concentrate on selling into Fortune 500s who need basic VPS services and are willing to pay out the nose for them. But that leaves small shops like mine out in the cold, which is too bad.
- I only want to build off base Linux VM, I do not want to be locked into S3 + SQS + ...
- Price is right for young startups
- Speed is nice
- The price is great, especially for running small apps, and its very easy to add more resources.
- Support is top notch
- Same as brianwawok, I like being able to build base Linux boxes and not be locked into vendor specific tech
I like the UI, the referral programme and the speed of there whole spinning up process and finally I was once in arrears by 2 months and they were pretty lenient with payment.
Talking about referrals if you want a free $10 - https://www.digitalocean.com/?refcode=c8555bae4f81
Once you want something more I wonder if there are better options. Take there 320 USD/month plan. You get 32GB memory, 12 CoreProcessor, 320GB SSD disk and 7TB transfer. If I take a fixed price server at Hetzner I get 128 GB memory, 12 CoreProcessors, 2x240 GB SSD disk and 50TB transfer. Even the smaller machines are much beefier than what DO has to offer.
Once I am running a business 139 EUR {~155 USD} per month should both be fine.
100£ for such a monster: http://www.soyoustart.com/en/offers/sys-ip-6-s.xml is really reasonable, imho.
[1] https://www.vultr.com/pricing/
(I'm sorry I have to clutter up the discussion with this, but it's the only way I can communicate this news to akinder)
https://news.ycombinator.com/item?id=8885392
etc etc.
This poster has a bunch of posts that shouldn't be on HN.
Since then I've started using a few things like Elastic Beanstalk and continuous deployment, and getting them working on AWS was pretty pain free and easy. I don't think I could do as much on AWS now as I could on Rackspace.
Heroku looks nice but because of price I never tried it. Azure is also tempting to use, but as a non-customer their non-Windows offerings seem to be predictably second-rate.
+ Admin portal is good
+ Git Deploy to "Websites" is slick with no setup (builds binaries)
+ NodeJS / C#
+ Azure Integration in Visual Studio
+ Aggressive pricing
The other reason is there are other services that I can use if I don't want to build my own.
https://news.ycombinator.com/item?id=9583236
[1] https://www.runabove.com/
I have been using RunAbove specifically since October. It's fine. Even the sandbox instances.
- Everything integrates with it, there's a lot of tooling
- Safety of the herd
It ups Azure's performance and adds another layer of excellent security. The Pro plan at $20/month is well worth it.
Azure - websites and mobile services (and by extension SQL Database) because we use .NET
More recently, Heroku. Expensive, but I love being able to leave the sysadmin to someone else.
Now I'm using Heroku and wonder why I wasted so much time before worrying about disk space, permissions, rotating logs, etc. I definitely get it now.
Backups offsite go to the obvious place :)
This setup might not be that interesting, but I think it's worth noting that a cloud computing paradigm/model has functioned well for 16 years now with no significant changes. I have not had data on my own personal computers for that entire 16 years - all data has been in the "cloud".
I think a decent goal is to be a peer on the network. I think a good step in that direction is to have your own server, with fixed IP, on the network. You can build quite a bit on that.
How easy is it for you to manage keeping your server and data secure? I would really like to do this, but my fears of getting hacked have kept me from doing it.
sshd is hidden behind port knocking, for what that's worth. (No, I do not want to have a religious argument about port knocking this morning)
The real key to the simplicity and security of my setup is email over SSH with a console client. Not only does that remove oceans of attack surface, but it also means you can read email without the emails themselves traversing the network. I guess the characters go over SSH, but that's not quite the same thing...
Not trying to lure into an argument you're trying to avoid but I'm just curious; what is the religious argument about regarding port knocking? I know about both sides to tabs/spaces and vim/emacs but am curious what people have against port knocking.
[0] http://en.wikipedia.org/wiki/Port_knocking
In short, port knocking is a very, very short/weak password. And is a very weak authentication measure.
This is absolutely true and nobody could argue that.
So if you only did port knocking, or if you depended on port knocking, you're making a bad decision.
I believe in defense in depth, and therefore I think that port knocking on top of everything else you already do has good value - especially considering how simple and lightweight knockd is and my experience of it running stably for years at a time.
- Good PaaS offerings and pretty easy to setup
- Bizspark ($150 free of services per month per account (and yo u can create up to 5 accounts) for 3 years)
- Decent speed (Azure SQL used to be a dog, but has gotten a bit better with the V12 updates)
With AWS I know the two biggest risks to its use are vendor lock-in and cost. Vendor lock-in is easy to mitigate early on through wise tech choices, and cost is something to mitigate later at scale when it matters more. And it preserves the option to use those additional, propriety services if at some point it is deemed worth the lock-in risk.
+ DTrace available
+ Great predictable performance
+ Solaris
+ no VM
+ fast non-capped network
- client tools are written in node.js (but you can write your own if you really care)
Doesn't matter to me, but might to some people:
- Relatively few datacenters
- Solaris (they do have KVM too, so you can run whatever, but then you lose the many benefits of zones)
Also don't matter to me, but might to some people:
+ completely open source stack, so you could install the same environment in your private datacenter
+ it does not use openstack
I agree with the other comments about Azure's VM's being too expensive though.
Amazon S3 and Cloudfront b/c Azure CDN doesn't quite have all the features I need.
We have used SoftLayer, Peak10, Google and Azure at different times while testing things out. SoftLayer we actually ran some processes in for about a year.
I recently had posted on HN about services like DigitalOcean because there are ways for us to save money using those types of services, or even Heroku. In the end the ecosystem, ease of use, reliability (when architected right) and flexibility of AWS is still just too powerful for us. The costs are not the cheapest way we could do something, but when you factor in the minimal amount of man hours we spend on infrastructure compared to what we could be, I think it is a good deal. We try not to get too ingrained to AWS only features, and where we do we will hide their implementation so we can switch them out if ever needed. I also classify them differently too, for example, DynamoDB or MySQL (via RDS) wouldn't be something I'd try to wrap, it is your database and could be used from anywhere so you aren't really locked into AWS as much as your database there. But something like SQS, we used but wrapped, and eventually moved to RabbitMQ with very little extra effort.
I have had to use AWS support a few times, and they have been AMAZINGLY helpful. And for non-critical things they usually answer forum posts pretty quick too. AWS isn't a panacea with no issues, but for my money its the best thing going right now. And they are constantly releasing new things and tweaking things, not everything is for the better, but for the most part it is.
Do you just need to host a web site with some storage? If you're looking at an ecosystem which services interest you?
You might find this article useful: http://www.troyhunt.com/2015/02/stories-from-trenches-sizing...
[Dislaimer: I'm a dev in the Azure Web Apps (was called Azure Websites) team]
I'm still running my fairly large wiki on Linode, just because I haven't had the time to properly migrate it to Compute Engine.