
Ask HN: Which cloud provider to use in 2016? AWS or GCE? - tzz
Few years ago, I would have chosen AWS over GCE. Now, I am starting new project and need to reexamine which cloud provider to use. If you are starting new project in 2016, which cloud provider do you choose? AWS or GCE? They both seems to provide the services I need such as database, storage, scalability etc.<p>Correction: I meant to say Google Cloud Platform instead of GCE.
======
_jezell_
If you have to pick one, GCE hands down. AWS has more features but is more
expensive and more operationally complex. GCE may have less features, but the
ones it has are better thought out and the user experience is in a league of
it's own. Also keep in mind that if for some reason you want to take advantage
of something like Amazon's video transcoding service, nothing says you have to
build 100% of your app on a single provider's services.

~~~
xorgar831
GCE is less expensive than AWS for on-demand instances, but not compared to
AWS's RIs.

Unless there's a specific feature that you need in GCP, AWS is a safer bet
from scalability, stability, support and cost.

GCE has an edge on performance, per minute billing, custom machine types, and
some datacenters in areas AWS doesn't cover, however they're learning how to
be a public cloud, so you will run into beta level bugs, scalability issues,
support issues (they also limit how many people can open a ticket in your
org), and stability problems. If you do go GCP, make sure you have a rep and a
high level support contract, otherwise it's going to be hard when you run into
issues.

~~~
obulpathi
GCE is less expensive than AWS even with AWS's long-term contracts. If you pay
money upfront (losing the interest) and reserve instances for 3 years, then
you can beat GCE prices by a small margin. But, if you take into consideration
of interest on upfront capital expense, lost flexibility due to reserved
instances, cloud cost cuts, GCE beats AWS even with the 3-year commitment. We
go to Cloud because Cloud gives us agility and enables us to create
infrastructure in a matter of minutes without any constraints (Imagine singing
up a contract with your electricity company agreeing that you will consume the
electricity for TV for 3 years on a 24x7 basis. That what reserving capacity
looks like). Reserving capacity does not belong to the age of Cloud, it
belongs to the age of data centers.

~~~
elsurudo
> Reserving capacity does not belong to the age of Cloud, it belongs to the
> age of data centers.

Nice, I really like that way of putting it. The promise of the Cloud is,
indeed, that it is supposed to abstract you from that, but Reserved Instances
reveal what is actually happening behind the curtain.

~~~
obulpathi
Yep, that's true. Capacity planning and reserving capacity should be taken
care by the Cloud provider and users should be free to spin up and down the
resources as and when they need them.

~~~
slaman
This is still the case, but I don't see the harm in offering the ability to
reserve an instance for a discount. I prefer GCE's automatically applied
discounts to AWS's reserved scheme, but there are plenty of cases where you
will need both flexible capacity and have predicted use.

k8s master, or any number of internal tools.

~~~
obulpathi
> I don't see the harm in offering the ability to reserve an instance for a
> discount.

There is no harm with the discount. The harm is only with lock in. Once you
reserve instances, you can not change the type (different CPU / memory ratio),
region or the number of instances. Once you reserve, you have to pay for your
instances 24x7, whether you use it or not. If you require more capacity than
reserved, you need to pay the full rate. If you require less capacity, then
you need to pay for the unused capacity. You don't have all these headaches
with Google Cloud pay per go and automatic discounts. You simply use as many
resources as you want and you get the discounts automatically.

------
jtokoph
I've been using AWS for years, but the recent downtime for GCE got me to take
a look at what Google was offering. (Makes no sense right? All publicity is
good publicity?)

I was blown away by the UX of both the console and the instances themselves.
Example: when you add a new user/public key in the console, it propagates to
instances automatically. Sure, you could do that yourself, but the default
features are just really nice to have.

~~~
xorgar831
You have to run their images however, but yeah, that's a nice feature esp. if
your org uses GA already.

~~~
waych
For users that are using their own images, we also provide source for all our
customization to the images so you can integrate functionality into yours as
required.

The code used on Linux to integrate the OS with the platform for ssh keys,
startup script, auto-expanding root-disk, etc:
[https://github.com/GoogleCloudPlatform/compute-image-
package...](https://github.com/GoogleCloudPlatform/compute-image-packages)

For Windows, ssh keys aren't supported, however the platform has password
reset built-in and starter scripts via metadata are also supported. Here's the
code for the Windows agent: [https://github.com/GoogleCloudPlatform/compute-
image-windows](https://github.com/GoogleCloudPlatform/compute-image-windows)

If running Windows, you will also need device drivers:
[https://github.com/GoogleCloudPlatform/compute-windows-
drive...](https://github.com/GoogleCloudPlatform/compute-windows-drivers)

------
obulpathi
Google Cloud wins hands down!

Places where Google Cloud shines over AWS: Excellent UI, Ease of use,
Scalability, Security, Data services, Big Data, Machine Learning, Network,
Disks. The only place where Google loses to AWS is Relational Databases.

Google Cloud Network and SSDs are about an order of magnitude better (in terms
of performance / price) compared to AWS Network and SSDs. Googles Big Data
tools (BigQuery, PubSub, Bigtable, Dataflow) can scale to petabyte scale
without any problem. AWS can be OK for terabyte scale data workloads, but
beyond that, it's hard to scale and manage. Other pieces like Kubernetes,
TensorFlow and Dataflow (Opensource, if you want to run in-house) and
available as native Cloud services, all services are fully managed makes
Google Cloud the best Cloud.

~~~
nazka
I am very interested about Google Cloud and Machine Learning. Did you try to
use other libraries than TensorFlow? What is your experience?

------
simonebrunozzi
I think it's a complex question.

AWS is far ahead in terms of maturity of the service, breadth of services,
ecosystem support.

On the other hand, Google Compute Platform is "up and coming", and in general
it is trying to attract customers by offering lower-than-AWS prices on most
comparable services.

AWS is also a safer bet. At the same time, Google is big enough that betting
on it is not as risky as betting on another "startuppy" provider.

~~~
babo
GCE is pretty much based on Google internal technologies and infrastructure.
They had a low profile on GCE, they services are more hand picked, but it's a
mature and complete service offering.

~~~
brianwawok
And in general, the comparable GCE offerings are LIGHTYEARS ahead in
performance.

Compare instance launch times. Compare internal network performance.

I just cannot fathom using AWS for a new project. I guess if you MUST have
some of the SAAS apps built on top of AWS and don't want to consider how you
would run the same thing on GCE... but I think GCE would be a fantastic
default cloud for 90% of people.

~~~
teh
Do you have benchmarks on that? Not my experience for network speeds and CPU
of individual machines but it's been 6 months since I checked.

~~~
obulpathi
Google Network and SSDs offer an order of magnitude more performance / price.
Disks and Storage are about 2 times fast. Booting is 5 times fast.

Not just the performance, all Google Cloud services are fully managed (Think
of S3 and Lambda on AWS). No servers! On AWS, only a couple of services are
fully managed. Rest of them are a thin layer on top of EC2. If AWS is DevOps,
Google Cloud is NoOps.

------
FlyingLawnmower
How do HN commenters rank Azure amongst the three? I like the UI/portals quite
a bit, but haven't explored any of the 3 major cloud providers in great
detail.

~~~
jen20
Serious question: have you had to _use_ the Azure portal for anything?

Like much enterprise software, the new side-scrolling mess which hides
necessary information has the distinct smell of something that was built to
sell on golf courses to clueless middle and upper management, and not for
people who actually need to do the work. The load times are horrible because
of the number of HTTP requests and the weight of their payloads, making it
practically unusable on, say, plane wifi or tethering outside of LTE service.

Practically this might not be the worst thing ever, because it might encourage
people to describe their infrastructure as code instead of a pointy-clicky
mess, but sadly this still appears to be outside the Microsoft-blessed way to
do things - so most never will.

~~~
FlyingLawnmower
No, not for anything serious. I get some free credits every month for being a
student, so I've used it minimally for configuring a few things for hobbyist
projects, but I have never used it in production ready environments. Thank you
for your perspective!

------
ap22213
I work with 40+ partner companies, and they are all using AWS. Moving big data
sets around is cheap and super easy. And, it's not been very expensive to
process large data sets on AWS. On average, I crunch through 20 TiB for like
$50 a pop.

Given that no company that I work with uses Google's cloud, I'm curious who is
using it. They're marking hard obviously. Makes me wonder what's an ad and
what's not.

~~~
nohorseinthisra
Off the top of my head, Spotify, Apple, and Snapchat run at least some part of
their businesses on Google Cloud products.

~~~
vargalas
So practically nobody ;) These are just garage firms.

------
Mizza
AWS, hands down. They're years ahead, and the support is just as lousy.

~~~
ktRolster
Serious question, when would you need to use support? I always wonder that
when people say Microsoft is better than Linux because it has support, but
actually I've never had a time when I needed Linux support.....

~~~
dmourati
I've had to use their support many times for many complex problems around
things like networking, outages, feature requests, and so on. It is truly a
mixed bag. They have highly competent people working there. The problem is,
they have layered in an intentionally incompetent tier of people in front of
them. That's support.

------
babo
It depends on your state and needs. It's a no brainer if the majority of your
customers are in a specific region where AWS has a nearby datacenter or when
you need some specific service from AWS like DynamoDb, IAM, CloudFormation,
ActiveDirectory, Workspaces etc.

GCE is preferred for any kind of big data or analytics scenario. It's a
cheaper service with way better networking or disk io, fit's very well for an
engineering oriented organisation. Per minute pricing or very fast scaling of
the services are huge advantages.

------
pbbakkum
We thought a lot about this question to pick a cloud for Quizlet (~200 cloud
machines) and ended up going with GCP. Here's a summary of our analysis, hope
its helpful: [https://quizlet.com/blog/whats-the-best-cloud-probably-
gcp](https://quizlet.com/blog/whats-the-best-cloud-probably-gcp)

------
Scrayos
I'd go for AWS since it has already proven its trustability, stability and
usability in the context of daily routine/providing solid solutions for
hosting high access-content.

GCE is interesting however, I'll definitely keep that in mind for future
"testing" but at the moment I'd take AWS as my "out of the box"-solution.

~~~
obulpathi
Give GCE a try and I am sure you will be blown away!

------
jlawer
GCP is a non-starter for us due to Region support. No Australia, Singapore or
even US west regions means that latency is too high. CDN / caching can make
web performance acceptable, but service performance will always suffer.
Unfortunately over half of .au traffic routes to Asia via the US west coast
(due to lower cost), with the rest route via Japan, Guam or Singapore. This
means Taiwan would be a 300ms route for a significant portion of our audience.

AWS is what we use for cloud provisioning, with Rackspace still hosting some
legacy systems. We are moving our workloads off Rackspace as the cost is
higher. Azure is a possibility but unlikely as they are as expensive as AWS
and offers nothing that we feel is especially compelling as a Linux shop.

If Digital Ocean, Linode or similar offered an Australian hosting option I
would be willing to look at it if the cost was under 2x that of a US region,
as I could get a similar functionality having SaltStack handle provisioning.
However knowing bandwidth and related costs in .au I really doubt many want to
go through the cost & effort.

Most of the domestic providers are either too expensive ($40-$80 AUD a month
for a 1 core / 1gb instance w/ HDD backed storage & 100 GB transfer), and/or
aren't run to the scale that you can have confidence that they will be an
ongoing competitive business.

~~~
kyrra
FYI, GCP is getting new regions later this year. US Western region in Oregon
and East Asia region in (Tokyo) Japan.

[https://cloudplatform.googleblog.com/2016/03/announcing-
two-...](https://cloudplatform.googleblog.com/2016/03/announcing-two-new-
Cloud-Platform-Regions-and-10-more-to-come_22.html)

~~~
mikecb
And 10 more unannounced locations through '17\. I'd be surprised if a single
AUS wasn't one of them.

------
ktamura
I think OP means GCP: Google Cloud Platform. There's GCE, Google Compute
Engine, as part of GCP. GCE is also different from another GCP product
Container Engine.

~~~
inlined
nit: GCE is Google Compute Engine, which is a raw VM product most analogous to
EC2 in AWS. Google Container Engine is "GKE", which I guess is a clever
resolution strategy since it's a hosted Kubernetes service
([http://kubernetes.io/](http://kubernetes.io/)). GKE is another compute-based
offering, but helps you deploy autoscaling services on Docker.

------
feiss
How about using
[https://cloud.google.com/storage/](https://cloud.google.com/storage/) for
personal backup (photos, videos, files..)?

It seems much less expensive than paying a fee for a big Google Drive. The
bandwidth needed for GCStorage would be minimum (just uploading from time to
time)

------
sandGorgon
Are you talking just about the VMs ? Because if you're talking about the
platform, then just the fact that Amazon has Postgresql RDS to take care of
your databases is killer.

And if I'm already locked in to AWS for one service...

~~~
owaislone
Lack of managed PostgreSQL is the reason I've not tried GCC for anything
serious yet

~~~
oskari
Aiven provides managed PostgreSQL in Google Cloud, please check out
[https://aiven.io/postgresql](https://aiven.io/postgresql) and
[https://youtu.be/m1T0SHUoa8U](https://youtu.be/m1T0SHUoa8U) for a quick
introduction to it.

------
dmourati
Use Spinnaker and chose both or decide later.
[http://www.spinnaker.io/](http://www.spinnaker.io/)

~~~
awinter-py
the 1-click GCE image for spinnaker is estimated to cost ~$200 per month; not
much next to payroll but surprisingly beefy.

------
Nux
I'd use multiple smaller providers, preferably non-US ones when possible.

------
jaequery
anyone know where GCE stands in terms of PCI compliance? i know AWS is a level
1 PCI-compliant service provider and makes it a bit easier during the audit
process.

~~~
Veratyr
I'm not going to pretend I understand PCI compliance but their certifications
are here:
[https://cloud.google.com/security/compliance](https://cloud.google.com/security/compliance)

They appear to be PCI DSS v3 compliant?

------
ticku
Are they even comparable? AWS offers full virtual machines. I was under the
impression that GCE offers a more high level platform where you run your code
in their proprietery environment?

If I am not mistaken, using GCE means you are locked in and cannot migrate
away easily. That's why I never looked into it closely. I don't want to be at
the mercy of a provider.

~~~
pki
GCE ~= EC2

GAE ~= Elastic Beanstalk

~~~
jspaetzel
Might as well toss the azure comparble ones in here while we're at it.

Azure Virtual Machines ~= Google Compute Engine ~= Amazon EC2

Azure Websites/App Service ~= Google App Engine ~= Amazon Elastic Beanstalk

