Ask HN: Which cloud provider to use in 2018? Azure, AWS, GCE, something else?

47 points by chespinoza ↗ HN

61 comments

[ 2.8 ms ] story [ 119 ms ] thread
Some criteria: Bread of services, innovations, ecosystem: AWS Microsoft technology focus,ease of use: Azure Fast global networking, Kubernetes, Tensorflow: GCE Cheap servers: challengers Niche: ARM servers - Scaleway, ...
Language clarification: GCE refers to Google Compute Engine and GCP is the Google Cloud Platform.
Probably depends on what stage the company is at. You could have tons of credits from being in an accelerator, or you could be so large you need to spread risk out over multiple clouds.
Could you elaborate on what you would recommend for what stage?
If you have loads of credit for a cloud? That cloud. If you need to spread out risk? All of them.
If you have loads of credit for a cloud, you can usually get the others to match. Definitely use those credits to try and align with the solution your team has experience with/prefers.
My money is on GCE.
One annoying (but perhaps understandable) thing of GCE is that in the EU you need to have a VAT number to use any of it, even if only for free tiers.
Uh what no, well maybe it depends on the country ? As a Frenchman I've had a personal GCP account for years.

It's true that my Google account is a Google Apps (an old free one :D) one, but I never entered a VAT number.

EDIT: seeing neighbour's comment, when I say "years" that's probably 2 years :)

We use AWS and are pretty happy with them.

The other truth is that once you're on a platform, as long as you're pretty happy, you're not really going to switch. It's just not the most important thing for your business usually. GCE sure looks like it has some neat stuff, but I'd have to be crazy to derail the other important tech work we have for an infrastructure change like that.

In my opinion as long as the basic functionality that you need is offered it doesn't really matter that much which one you chose.

I'd look more for non-functional requirements: What do the skills in your team look like, do you have a relationship with one of the cloud providers, can you get the quotas/limits you need in the regions you need, what cost are they, what are other people using in the same field (makes it easier to find help), can you get free credits somewhere, how worried are you about vendor lock-in[1] etc.

None of the big ones will go away anytime soon.

[1] https://www.theverge.com/2018/3/21/17146308/microsoft-wunder...

What do you want out of the cloud provider? Do you want the value-add services (e.g., AWS Lambda, S3, etc)? Or do you just want Linux machines, virtual or otherwise, that you can run your own stuff on?

It seems to me that you should start with your requirements, then figure out which provider best meets your needs.

False. Black bear.
What does that mean? And can you elaborate? (I agree with Mister_Snuggles but would like to hear reasoned counter arguments)
The subtext of Mister_Snuggles response was "that's a ridiculous question", which, I also agree with. Instead of flagging silly posts, I like to turn them into reddit threads and spend a little of my hard earned karma.
This is so true, in fact you may need to rely on several cloud providers. For example we do question classification with our own model, but rely on Googles Speech Api(norwegian language) for speech to text so we can classify the question and create an answer and then finally Amazon Polly for text to speech in our langauge(norwegian).
I would refer Scaleway if you can set up your applications yourself. Using it for a year now and seen them only get better. Price and readymade images are what I like the most about them.
We've been using them for the past two years and their machines are not reliable. We're getting hardware failures every other month. Really cheap though
Scaleway is really cheap, especially if you don't care much about CPU speed. But reliability is the problem. Every few weeks one of my machines becomes unreachable, requiring manual hard restart from the control panel.
At LogRocket (https://logrocket.com) we've been on GCP for ~2 years and have been extremely satisfied. Some reasons in particular:

- "Infinitely scalable" services like Bigtable and Cloud Pub/Sub have helped us scale extremely quickly to support large clients.

- The durability of Cloud Pub/Sub was particularly important early on as it served as a fail safe when our consumers would go down

- Aggressive discounts for committed use. For our particular workload we've calculated AWS could be as much as 10% more expensive

- Dashboard developer experience and UX is more approachable than AWS

After I graduated in December, I was hired as a consultant for the company I was interning with on and off the past couple years. I was tasked with automating and migrating as much of our workflow as possible onto a hosted solution.

After trying out AWS and GCP, we settled on GCP for a few reasons in addition to what benthehenten outlined.

- Development experience is great, docs are on point.

- BigQuery is fantastic. It let me seamlessly hand off an interface to a full time employee that had experience with SQL without the overhead of them having to learn a whole lot more.

- Custom VM's provide us with the flexibility to get exactly what we need to run our workloads, no more, no less.

- TPU's though not generally available at the time, were something we knew we'd want to take advantage of in the future. Because we're a TensorFlow shop, it just made sense.

AWS Elastic Beanstalk
Entirely depends on your use case most likely. While thus far I've mostly only used these services for side projects & academic research, I will say that I found Google Cloud to be the easiest to use by far for a casual / new user. The quality of the tooling, UIs, libraries, and documentation is just exceptional. I've found getting most things up and running there is a breeze and downright enjoyable, which sharply contrasts to my experiences using other services.
What are your requirements? Honestly they all do the essentials pretty well. AWS has the largest tooling ecosystem, but that's because it had 1st mover advantage.

Your requirements and architecture are going to guide this decision pretty heavily. Do you run on VM's or use Kubernetes? If you use Kubernetes how well abstracted from the infrastructure cloud are you? Well abstracted... any of them will suffice (AWS doesn't have a hosted Kubernetes option yet though... coming this year supposedly).

You'll need to define a clear set of criteria. All of the aforementioned providers have similarities, and differences. Requirements, costs, SLA, support, availability, APIs, redundancy... it's an infinite list that you'll have to narrow down yourself.
I would suggest using some portable tools to keep your options open. It's getting increasingly easy to go for he candy and get locked in.

I think the pricing model of gcp makes a lot of sense. I'm also under the impression that gcp has faster networking and storage, but haven't quantified this.

AWS has the most offerings, and it seems like their momentum will be difficult to catch from a development standpoint. Of the big 3, AWS is likely the one with the least internal use, which isn't a bad thing - they build features for costumers more than releasing features they build for themselves.

Azure is in a different market but provides a very good Platform for the Microsoft ecosystem and it's impressively coordinated.

We use all 3, as well as on premise and private cloud. Each is better for different things. Zerotier is your friend for multi-cloud liberty.

I was under the impression they were moving to platform independence.

Deploying a Python Website to Azure with Docker

http://www.jamessturtevant.com/posts/Deploying-Python-Websit...

"Azure Web Apps for Linux using python"

Docker and kube are a godsend for portability.

Hashicorp's terraform is also deserving of some contribution to this space.

Softether is the last necessity in my cloud-agnostic toolkit.

If you are a nonprofit, AWS is amazingly generous. My FIRST Robotics team was given a $500 grant to develop a scouting system. We mostly use EC2 but the breath of services is shocking, most services can be run absolutely free with S3/CloudFront with free SSL and edge computing with Lambda--meanwhile, CloudFront is trying to charge $1/mo for "edge workers" that only run in one language. Although a VPS company like Linode or DigitalOcean have lower prices than EC2, they don't have the machine types, CLI, SDK languages, and integrated CDN. If your concerned about data transfer pricing, fire up a $5/mo Lightsail VM as a load balancer/reverse proxy--free 1TB data out.
It might be worth mentioning that Digital Ocean has added features recently that now put it more on the level GCE, AWS, Azure. It is still pretty basic but has added firewalls and object storage and it is pretty good prices. It would of course depend on your needs though.
If you don't need the more enterprise-y cloud features of something like AWS, then I highly recommend DigitalOcean. Responsive support, excellent API, excellent design, good feature set without getting bloated like AWS.

For backups, I use Backblaze B2 and love it too.

Depends what services are you after to. If you are into "serverless" - than from my experience most robust/integrated environment is being provided by AWS...
Don't use AWS, or at least don't put all your eggs into the AWS basket.

AWS has gotten to the service and infrastructure footprint it has today by death marching mediocre talent to ship untested and brittle things. This is true all the way down into the physical infrastructure, which often breaks and causes regional havoc. Great examples from the last 6 months include the 40 minute outage in US-WEST-2 in September, or the several hour event in US-EAST-1 during the East Coast wind storms. Bubble gum and baling wire.

They're trying to stabilize things, but leadership and sales are often committing to large spend customers and financing new features with technical debt (when current technical debt is not being serviced). Those at the top are not really concerned with running a solid or innovative platform as much as just pure growth and revenue.

> Great examples from the last 6 months include the 40 minute outage in US-WEST-2 in September, or the several hour event in US-EAST-1 during the East Coast wind storms. Bubble gum and baling wire.

Were other non-Amazon companies impacted directly by the storms? I have no idea where Microsoft and Google cloud server farms live, but it's a bit of a stretch to say that a major weather event causing downtime is due to "bubble gum and bailing wire". You could be right - I don't know anything about their setup - but "throwaway985325" isn't exactly a trustworthy source.

I work on an internal service, and my weekly metrics reflect the health of a lot of services. It's more often than not that those metrics look like a printout from a seismograph sitting on an active fault.

I don't know if other cloud providers were impacted, but I'm willing to bet they were not impacted intermittently for 6 hours.

Umm, GCE literally had a total global failure in 2016, AWS has never suffered such an event.
AWS has suffered region wide outages of services that go unreported on their service status page for hours.
Region wide is not the same thing as all regions at once.
I worked at AWS before moving to Google. AWS is not perfect (their oncall story being a good example) but they have _a lot_ of very talented engineers and are _really_ good at doing ops (and cloud systems are necessarily sprawling, complex beasts that require a lot of operational support).

Perhaps your corner of AWS isn't as nice as the one I worked in but to generalize that to AWS management "death marching mediocre talent to ship untested and brittle things" is a very inaccurate assessment of AWS and its customers' perceptions of their products.

For small projects I like to start with something flat-fee like Linode or DigitalOcean - having to worry about variable costs is a distraction.

I just registered a wildcard SSL certificate using the DO plugin from LetsEncrypt and it worked like a charm.

I'll never use GCE again. Too many services get pulled on a whim.
Disclosure: I work on GCP

To understand, what services got pulled? we have a very long deprecation policy and I can't think of anything that has been removed in the last couple of years.

You will not hear much about azure because of the clear anti-ms bias here but give it a try if you want end-to-end automation for everything including spinning machines and dB instances (and my experience is it is at par with was in terms of stability, although this was a comparison for a brief time and hard to quantify)
None, because the CLOUD act tells us that you'll be exposing everything that happens on your provider's platform to prying eyes.

Just like Facebook? No, slightly worse.

DigitalOcean. A little more bare bones than the cloud providers, but really easy to use and great (community) documentation. They also have a great set of predefined images which can be deployed in seconds.
Last time I used their predefined images (a year ago), I found many were severely outdated. Are they any better now?

If you want predefined images, I've found using Docker Hub to be a better starting point even if you don't use Docker.

Aside from that they're a great host.