Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Great response.

Out of the box I agree with you, GCE is much more capable than AWS.

However in my experience AWS is just as capable and much more flexible once it has been setup. Also AWS Lambda functions give you the ability to "deploy code" and has proved to be massively scalable.

I feel that "carefully setup infrastructure that statically accepts such scale" is not an accurate way to describe top tier deployments on the AWS platform.



sort by: page size:

Have a ton more experience with aws, but one large project has moved to GCE recently and everyone involved is beyond pleased.

The tooling and features are almost on par, and the ux is just better. Things like more powerful configuration of load balancing puts GCE over the top.

Considering how much cheaper GCE is for many projects aws is losing its appeal without some price breaks.

Also GCE is faster to launch instances by a measurable margin.


I've used GCE for production servers in the past and was really pleased with almost every aspect. I have really little "serious" experience with AWS, and I'd say it's much more.. um, arcane?

I'm genuinly curious, what kind of project/situation would be to actually prefer AWS to GCE (aside from "we're already on AWS" or "I know AWS and don't know GCE")?


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.

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.


The difference is really just in maturity. AWS started years earlier and has had time to work out the kinks. GCE will get there, but it'll need time and experience.

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.


It's not as user friendly, but if you actually understand the complexities of VPC networking AWS allows a lot more flexibility with routing and (potentially) network level security than GCE. In general networking/ops guys love AWS because they can set it up exactly how they want, while developers who just want something working out of the box love GCE.

AWS really requires a management layer like Terraform in order to be maintainable though. Trying to manage all the routing and connections by hand for more than a single VPC is hellish.

Some GCE services are just not up to par yet as well. Their CloudSQL service for instance is a pretty horrible mess right now, while RDS is rock solid (I do cloud architecture and consulting so I have a pretty wide swath of clients on both services to compare with).


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.


We moved back and forth between AWS and GCE (based on who gave us free credits). Once we ran out, we chose GCE and never regretted it.

GCE has many quirks, for instance the inconsistency between API and the UI, it misses the richness of the services offered by AWS but everything GCE does offer is just faster, more stable and much more consistent.

One of the biggest problems with AWS is that once you outgrow the assigned limits, it becomes a hell to get more resources from them. We're running on average around 25k servers a day, majority of them preemptible (spot). AWS requires that you request exact type and location for your instances. GCE only asks for a region and then overall resources (e.g. number of CPUs).

Also the pricing is much less complicated. 1 core costs y, 32 cores cost 32*y.


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.


Whichever provider gives you the most credits. Seriously, all the clouds are cheap, and provide basically the same service. I would say AWS is more configurable than the rest, but GCE is probably easier to use.

In terms of stability AWS is probably the winner. GCE has had a multi-region failure within the last ~2 years, AWS hasn’t seen a multi-region failure in the last decade.


I've heard from people who have worked with both AWS and GCP that AWS has far better availability.

FWIW, that's not the only good stuff on GCE: * Instances have sustained use discounts - you don't need to pay in advance and reserve them and the discounts are applied very, very fairly. * Pre-emptable instances are cheap as all hell, and they are perfect for batchwork, celery workers, etc (anything disposable). You don't have to bid for them so automation is easier. * Up to 2 Gbits/second/core, depending on your workload type * CUSTOMIZABLE instances. * live migrations.

The only thing I really miss from AWS is RDS's postgres.

I don't even want to talk about Azure.

Why do people use AWS? 1. Free tier. 2. Plethora of PaaS as you mentioned. 3. AWS was there first, has brand recognition and is a safe choice for management.


GCE allows custom VPC setup, subnets, routing tables, and VPN's. They also have easy to setup cross project VPC connects and their firewall rules with tagging is superior to security groups.

I also find your comment arrogant and misguided as I also run a US based ops and DevOps consulting company:

> but if you actually understand the complexities of VPC networking AWS allows a lot more flexibility with routing and (potentially) network level security than GCE


AWS gets many things more right, but I think GCP wins on how they handle Projects and Managed Instance Groups for auto-scaling.

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.


4. In terms of VPC and networking. I am definitely not satisfied with AWS.

- On GCE the security groups are created automatically and managed by the "role" of instances.

On AWS there is no link between instances and security groups. I currently have to emulate the working of GCE over AWS with extremely complex ansible scripts just so that an instance called "repository" can actually be assigned to a group called "repository".

- ELB (load balancer on AWS) cannot have a fixed IP (we've been waiting for that for YEARS). An ELB can only be accessed over a DNS name, and the underlying IP can change every 60 second. (Have fun with applications which are caching DNS).

By comparison, GCE has had load balancers with fixed IPs forever.

- AWS is a region nightmare. Many resources only exist in one region and cannot be accessed or even acknowledged to exist from another region.

e.g. an AMI only exists in a single region. It's not possible to create a host with it in another region. It's not even possible to take that existing AMI and push it to another region. (As far as a region is concerned, other regions don't exist).

All services on AWS are acutely region centric. I am currently expanding my infra to multiple regions and there are many obstacles to overcome. The networking and interconnections is definitely one of them.

By comparison Google is not region centric like that. It's a lot easier to manage at planet scale.

---

Just three major pain points on the top of my head.


Google Cloud instance types are so much easier to grok and simple. I think AWS adds complexity and makes poor user experience decisions on purpose sometimes (tongue and cheek).

AWS T2, M5, M5d, C5, C5d, X1e, X1, R4, H1, I3, D2 vs GCE standard, memory optimized, or compute optimized. Want a custom amount of cores and memory on GCE? No problem, just punch it in.

Then there is EC2 billing... Google Cloud sustained use and committed use discounts are superior yet again.


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.

next

Legal | privacy