Ask HN: Alternatives to AWS?

170 points by bachback ↗ HN
AWS has captured an enormous market. As a user I'm surprised there are only few serious contenders (cloud provider with an API and global footprint). Digitalocean has managed to captured the low end of the spectrum for people looking to run a few servers. Any serious alternatives to AWS today? Google App engine is still closely tied to there way of doing things.

210 comments

[ 3.4 ms ] story [ 240 ms ] thread
The following are a few alternatives off the top of my head:

   * Google Compute Engine
   * Microsoft Azure
   * Joyent
   * IBM BlueMix
   * Linode (like DigitalOcean more VPS than cloud provider)
I think that Joyent does not get the coverage it deserves.

SmartOS looks very very cool.

Joyent's made some bad PR moves. I was a Textdrive customer and the way they treated the lifetime hosting folks put a very sour taste in my mouth.
I was a textdrive "lifetime" customer. I paid thousands and received nothing. Do not use Joyent.
I was also a "lifetime" customer and my memories of the terrible treatment, including one of the founders flaming people on the forums for making reasonable requests, mean I will never do business with Joyent again.
Joyent is fantastic. SmartOS has every feature a Linux user wants in (and usually ends up hacking onto) a cloud server but it's built that way from the ground up.

Their support and engineering staff are friendly and responsive by email and IRC.

The instances have great performance and uptime.

I suppose globally they could use more data centers but Samsung's acquisition should help with that.

I've built multiple companies in Joyent and can't imagine going back to other clouds with less features.

We (Erigones, https://www.erigones.com/en/) are making our own virtualization, orchestration and cloud suite, available for public use, based on SmartOS.

So far for commercial customers only (demo available) but we will release opensource community edition soon on Github.

Google is not as general as AWS and therefore has serious vendor lockin. Azure only recently has decided to support docker and is not rooted in opensource.

The big downside of AWS: to difficult to use for many. It seems to me a new entrant which combines easy of use, embraces opensource, would have a good chance in the market.

+ Rackspace. But like many these don't come from the cloud market and still think in terms of servers mostly.

> Google is not as general as AWS and therefore has serious vendor lockin.

Presumably you are talking about Google App Engine, which is just a small part of GCP. Amazon's comparable offering is Elastic Beanstalk. The core building blocks on GCP and AWS are the same: raw virtual machines you can build anything upon yourself, GCE vs EC2. GCE has been around since 2012.

(comment deleted)
?? starting a AskHN then quickly responding to an answer by incorrectly discrediting it? Are you really asking a question?

Google has a lot of different things as part of it's offerings.

but very quickly:

Google App Engine = google handles as lot for you. not a vm

Google Compute Engine = vm's plus an easy to use interface

You are thinking of Google App Engine. You want Google Computer Engine: https://cloud.google.com/compute/

"Google Compute Engine delivers virtual machines running in Google's innovative data centers and worldwide fiber network."

Azure is the other major option.

    * Aliyun
    * Lucera
    * Oracle
Maybe not what you wanted but hetzner?

Crazy cheap. Support is garbage.

thanks, but I don't think hetzner is cloud based. most hosters still speak about servers as physical machines as in 2005.
Because servers are physical machines. Virtual machines, instances, etc are not servers per se. Servers traditionally == physical node.

Source: 15 years in ops

With 2005-style physical machines you know at least that you can rely on performance. Storage is local and CPUs are used by no-one but you.

If you know that you have a rather steady load, dedicated servers can be far cheaper than any "cloud" offer.

You can just buy some cheap "dedicated slices" at BuyVM (buyvm.net). They're a great company.
We use Azure. In some aspects they're playing catch up but if you're a startup and can get into their bizspark program, there are a lot of benefits. They are also making a significant effort to open their platform to Linux, Docker and other cloud technologies beyond Windows.
>In some aspects they're playing catch up

And it some aspects, they are way ahead. Analytics is one of those examples.

I like their monitoring tools.
Google has far more than App Engine today; they basically compete with AWS directly service by service.
I would love a direct service to service comparison between the major cloud providers.

Anyone know of a guide like that?

Wow, thank you. Albeit, that only shows google's matchings to AWS, but AWS has like 60 services.

I would also like to be able to breakdown the services to see comparisons in things like SLA's and pricing but this is a good start.

Available service, SLA, and region comparison for AWS, Google, Azure and Softlayer at a fairly high level:

http://cloudcomparison.rightscale.com

That's is very helpful, although a little outdated (bookmarked nonetheless). AWS now has x1 instances with 128 vCPU's and 1952 GB of ram: https://aws.amazon.com/ec2/instance-types/x1/

On a totally different note, Softlayer has a 100% uptime guarantee! That is surreal if it's actually true.

I looked at that Rightscale link and I think it shows that comparing a very fast moving area like cloud services is very difficult and results in incomplete features matrix. For the unsophisticated buyer, this can lead to misleading comparisons.

For example, Rightscale has "Event-Driven Compute" (sometimes aka as "serverless computation") in the AWS column (AWS Lambda) but that entry is blank in Google Cloud column. However in February 2016, Google announced Google Cloud Functions which is the equivalent to AWS Lambda.

I'd expect a cloud comparison website to update the features matrix within 1 week of the AWS re:invent conferences, the Google I/O conferences, and any press releases.

As for the other comparison Cloudorado mentioned by another poster, that comparison matrix is missing database services like mapreduce, business intelligence analytics, etc.

Thanks for the feedback. We haven't included Google Cloud Functions yet in the Cloud Comparison tool because it's still in Alpha. We update the information in the Cloud Comparison site quarterly and allow each cloud provider the opportunity to review the material and send us any corrections.
I have used Google Compute Engine, and we're quite happy. The I/O especially is quite good.
To me, the alternatives to AWS depend on the workload. For Netflix the alternative is building a chain of massive data centers or negotiating with Microsoft or negotiating with Google. For a Ruby on Rails app, Heroku is one. For someone just monkeying around with Kubernetes, maybe a some Raspberry Pi.

The alternatives also are related to the specific business. For Home Depot, running on AWS means running in a competitor's data center.

The problem of finding and alternative to AWS really boils down to research, and that's a time commitment versus just whipping out the plastic. One might say, "Nobody ever got fired for using AWS."

Heroku is on AWS. If that's an alternative, then there are others that similarly run atop AWS, such as Cloud66.
A good point. I suppose that what 'an alternative to AWS' is varies too.

By which I mean that Heroku is an alternative to AWS from the standpoint of user interface and API's in the same way that Haskell is an alternative to C even though both can ultimately place values in x64 CPU registers and cause JMP's to locations in memory.

Depends on what exactly a cloud provider is for you. If it's only about VMs with an API and global footprint there are several options:

- GCE

- SoftLayer (IBM IaaS)

- Azure

And additionally there are several other providers that are more comparable to DigitalOcean like Vultr, Linode, Scaleway, etc.

true. I'm looking for something where I can potentially build the whole IaaS myself on baremetal at some point. Vultr looks great - thanks!
For fun, or for profit? Building IaaS to support your own company is hard enough; building it with the level of isolation and security required to be multitenant is harder still.
iwStack fits the bill too
Google has all the exact same offerings as AWS.

The IaaS part is called GCE (Google Compute Engine): https://cloud.google.com/compute/pricing

Given all your comments in this thread. You seem to struggle quite a lot to understand the market and you didn't clarify what you want to achieve (how many servers do you have now? how many applications do you run? how many dev? how big is your company?)

So forgive me for thinking you are either a hobbyist or a newcomer, with rather simple needs. If that's the case, GCE and AWS are overkill. You should stick to Digital Ocean or Linode. It's wayyy simpler and cheaper.

Is using Digital Ocean and administering your own box simpler than using the off the shelf DB/storage options provide db AWS?

Surely the AWS options save you doing all the DBA / Server admin / security work. Albeit for more money but time = money.

I don't think AWS is really simpler unless you have lots of hosts to manage. Maybe if you have 3 hosts AWS might be simpler, for some workloads. Most workloads, probably more like 10, and only if you're scaling out, not maintaining 10 totally different fiddly low-traffic apps.
> Surely the AWS options save you doing all the DBA / Server admin / security work. Albeit for more money but time = money.

They do, but you need to invest enough to understand AWS's offerings, and how they fit together. Amazon's documentation is very extensive, I'll give it that - but it takes a while to build enough of a mental model to know how to fit everything together.

Generally, managing your own server is closer to the skillset people already have when starting out (unless your training was platform-specific), so starting off with a raw VPS may in fact be quicker, even if in the long term AWS/Google/etc. would save time for someone who's equally experienced in both.

It would be interesting to see how well the AWS/Azure SaaS offerings for db and other storage work from DO/Linode at various locations...

I've thought about running an app or two on DO, but keeping the data in Azure Storage Tables, and possible Azure SQL... or similar AWS services.

You would pay a lot for the egress ($.08/GB or so) and it'd be painfully far away. MySQL ends up caching queries quite well for many web apps, so you quickly get into sub-ms territory for it to just return the cached answer. This all goes out the window, even if you're 5ms away (say DO in San Francisco to AWS in Northern California).

tl;dr: Don't do it.

My opinion on this is that you still learn and deploy on AWS or GCE. The learning curve might be steep at first but it'll save a lot of heartache when your organization scales or you want to set up a complex deployment that one of the smaller players don't necessarily support.
Classic premature optimisation. Those hours spent mastering the 10s of products you need to use to do it the 'right' way would be better spent on marketing, business logic, and 5 minutes installing apache + php on a Digital Ocean droplet which also is the dev environment.

If your company suffer the slings and arrows of outrageous fortune & needs to migrate, you can paid someone who is an expert to help you migrate, because that's their business, and yours is presumably something else.

That is a false dichotomy. The reality should fall in between, learn enough to understand some of the design choices you make, but don't overcook it.
Learn enough to go live. Hire people who know the rest.

Learn enough to do the rest if you want to work for someone else doing the rest.

I don't think it's a false dichotomy: I can only do one thing at a time, and my time is limited.
You don't need to be a cloud expert to start with GCE or EC2 instead of a VPS provider. If you end up just going straight to GCE instead of a droplet that's not a big mental hurdle. Then as the parent said, if you suddenly need to scale up, bolt on other services (like say GCS or Cloud SQL) you're not starting with a migration.

You will spend more than $5/month on either AWS or GCP, but the example here seems focused on a business not a throwaway. So IMO, it is more like premature optimization to have a $5/month droplet instead of a $30/month set of GCE instances.

Disclosure: I work on Google Cloud.

Okay this is like your 6 or 7th post in this discussion advertising for Google. Can we stop wth the spam now?
Sigh. I didn't want to respond, but someone pointed out to me that you work at Amazon (https://news.ycombinator.com/item?id=12181599). I think it's fair to say that in a thread asking about alternatives to AWS, I was both factual and disclosed my non-trivial source of potential bias (so my statements didn't constitute spam).

Again, I don't mean this to be an ad hominem response, but I take the disclosure "expectation" seriously, and it's frustrating to see folks (competitor or not) try to squelch discussion.

Disclosure: I work on Google Cloud.

> when your organization scales

Case in point: AWS/GCE are intended for organizations. If you're not operating an organization, they're overkill.

Do the Quick test: Is your budget less than $100/month? If yes, use Digital Ocean.

I'm not sure I agree! Yours isn't a bad test, but honestly for many people I route them to App Engine depending on their need ("you just want a simple Python web app with no traffic and no hassle? Yeah, you should use GAE").

Having to deal with any infrastructure at all, even for a few hours per year is certainly going to make a VPS a worse choice for some folks.

Disclosure: I work on Google Cloud.

Or he can use something like Heroku.
Which is just using AWS and is at least twice as expensive.
And allows to forget about lot of configuration, automation and scaling. Which also has lot of value.
Sure, from a usability point of view, I enjoyed Heroku a lot and it's certainly easier to use than Elastic Beanstalk. If it just wasn't that expensive. Amazon drops their prices around twice a year (AFAIR), but I cannot remember Heroku ever dropping their prices. They did change their pricing structure recently, but I wasn't able to tell if it actually got cheaper or not.
This isn't entirely accurate as far as I'm aware. I lean very heavily on Lambda and Google's alternative - Cloud Functions - isn't even available to the public yet since it's invite only and still in alpha.
While true, that's certainly changing (hint, soon). You could also turn the comparison around: AWS has nothing like Dataflow or BigQuery (Redshift only sort of counts). Or even more amusingly, AWS doesn't have a hosted Kubernetes product ;).

So I think the parent comment applies, for many people Google Cloud has more than enough services to be considered like-for-like, is missing some you may care about deeply (Redis!), but may have others that AWS doesn't.

Disclosure: I work on Google Cloud.

PS: I'm assuming you're in the Cloud Functions Alpha, if not, feel free to send along your project number and we'll whitelist you.

I think you guys should really take a look at the scenarios people are using lambda for and show how those map to appengine, cloud functions, and even endpoints, because they all more than make up for lambda's functionality.
Yeah, that was in no way meant to detract from the rest of the Google Cloud offering. I only bring it up because we were just recently looking to migrate some of our serverless tooling (API Gateway/Lambda/Dynamo) and I really wanted to have a crack at the Google stuff (Endpoints/Functions/Datastore), but couldn't since I couldn't get into the alpha.
I'm not sure you're looking for an AWS alternative if you think DigitalOcean is one.

Right now only Azure (behind) and Google Cloud (way behind) are alternatives to AWS.

If what you need is just VMs and a CRUD API, then yes, DO is a very good alternative (I run most of my servers with them).

What about GCE makes you feel they are further behind AWS than Azure? Azure has more regions, but my experience is that GCE is quickly catching up in features and services in comparison to AWS.
That's the impression I get from following these series of comparisons (unfinished! I guess there's a chance my opinion might change at the end of it): https://blogs.endjin.com/2016/07/aws-vs-azure-vs-google-clou...

I also e.g. have the impression that the most comprehensive/complete/ready to use container solution seems to be GKE, so on some specific areas there would be different "winners". In overall terms I got the feeling Google has a simpler offering than AWS and Azure.

Google Cloud is not an alternative, but a much better option. If you have pains with AWS or want a better version of Cloud (ease of use, performance, scalability), give Google Cloud a try.
Azure, Google Cloud, Rackspace.
There are a couple options, but it kind of depends on what you want.

There is Openstack, which is a collections of IaaS provider with connected with an API.

Digitial Ocean & Vultr which you already know about.

GCE mentioned else where here.

Linode, while not feature rich is the 2nd largest VPS provider.

Azure, which is Microsoft's IaaS. Which I've always had some reservations about, but have actually subcontracted management out separate companies to protect user info.

Scalaway is great low price option but there AZ's are mostly in Europe.

I'm personally using LunaNode, which doesn't offer nearly as many nine's in up time, but is great for the price (I have a 3 cpu, with 2G of ram, for ~$10 a month).

There are tonnes of IaaS platforms out there, very few have the full feature set of EC2, but again it depends on what you want.

Just signed up to Scalaway. Being in France is pretty neat as it's close to the UK so I understand their law. Currently running an AWS nano instance but I think I'm paying too much for it. Unfortunately it seems as though they are out of the C1 instances.

Thanks for the heads up!

On the lower end of their server types I can recommend their VC1 instances as an alterantive. In my experience they offer noticeably better performance with regards to both CPU and IO than the dedicated C1 boxes.
Digital Ocean is the most popular. But as others have mentioned, there is also Vultr. Vultr has locations in Sydney which was a big plus for me.

I personally can vouch for Vultr. Been running a freebsd system with them for over a year now.

When clients ask about AWS, I throw in Digital Ocean or Vultr so they can save a ton of money. Most of the the time, they go with AWS as it is the most popular but tends to be an overkill for most of the projects I'm dealing with.

OVH specializes in dedicated servers (https://www.ovh.com/ca/en/dedicated-servers/) but they offer an API for ordering them and can deliver many of them within a couple of minutes. They have a number of "cloud"/managed offerings as well if you browse around their site. They have datacentres in France and Canada, and are currently bringing up new ones in the US, Australia, and Singapore that they hope to launch by the end of the year. I've been a customer for >3 years now and have been very pleased with their service and support.

OP mentioned a desire to work with bare metal/do IaaS their own way, and dedicated server providers are awesome for that. Conversations about infrastructure are often about "cloud vs. running our own datacentres!" and renting dedicated servers is an interesting middle ground - you get a ton of hardware and bandwidth for your dollar and maintaining the hardware isn't your problem. You give up per-hour billing but you could very well still save money - it's a serious alternative to VPS providers like DigitalOcean.

They also have their cheaper branch www.kimsufi.com, lower specs, still dedicated.

And you still wouldn't believe the speed difference of a low atom with a VPS, even if the VPS is running on a xeon. Goes double for tail latency.

Also the uptime on my kimsufi is 530 days, you're unlikely to get that with a VPS, or 'cloud instance'.
I wondered about that as I have tons of VPSes - the highest was in the 300s. My Hetzner server, though, 1389 days and counting!
Had good experiences with OVH, their offerings are stable and their support is good. You can talk to an actual human even if you just have a single server.
Bear in mind for the first ~90 days you won't be able to get servers from an API call within "120 seconds" (marketing fluff) because they'll hold each order for manual approval. Recent and still very frustrating pains for me!
What are you trying to achieve? There are a plethora of choices and services out there, but without knowing what you want to do, all we can do is give you a list of company names.
If you want to focus on the code and not the servers, give a try to https://zeit.co/now

Disclosure: co-founder and CEO

Looks interesting. Can you explain why someone would use this over the alternatives?
MDG is expanding to the whole node.js ecosystem. You should become established before Galaxy enters your market !!!
I've learned to really appreciate what Joyent brings to the table, as far as philosophy, but I haven't had the chance to really test it out for myself.
Profitbricks, Rackspace, hosting it yourself on an Openstack cluster, etc. There are really a glut of 'cloud providers' out there, you just have to do the footwork of defining your needs and then finding one that meets most of them. Alternatively you could hire a consultant (hi!) to assist you, if you'd prefer to stay focused on the business side of things.
Depends on your exact needs and such but I really like Heroku, it doesn't have as much as AWS or GCE but it has some nice benefits like good monitoring/stats, very cool pipelines system and super easy scaling
Google Cloud Platform and Azure. I have a lot of experience with GCP (mostly Compute Engine) and really really like it.