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.
> "Heh, I know you don't want to talk about Azure, but perhaps others can share -- what's so bad about it?"
This is what I will say:
I'm working on a migration to it, so I'm not very experienced with it, but so far, it's been very painful compared to GCE or AWS, in which I've run production stacks. I'd rather not comment further, simply due to my relative new-ness to the service and the chance that it's just lack of experience.
The customer service is, at best, run at a glacial pace.
> "It's superior for running Windows at least, right?"
I'm a Linux guy running a platform agnostic Linux stack, but I'd assume so. I get the feeling so far that it's really good if you want to run MS-SQL and .net, and garbage otherwise.
The only reason we're migrating from GCE to Azure is because our GCE credits are expiring, and Microsoft gave us the YC Credits offer for Azure.
We'd rather stay on GCE if we could. Also, postgres RDS/CloudSQL is the one thing we miss from AWS
Actually, Azure takes a very strong platform agnostic approach. Over a third of all VMs on Azure are running Linux https://fossbytes.com/33-microsoft-azure-vms-now-run-linux-o..., (supported distributions include Ubuntu, Redhat, Centos, SUSE, Debian, and CoreOS), the Azure Container Service supports 3 open-source orchestrators (Swarm, Kubernetes, DC/OS), and the Azure WebApp PaaS service has Linux support in preview.
Disclosure: I work at Microsoft; opinions are mine.
That's fair and you won't get any arguments from me there.
It's very easy to run singleton Linux machines on Azure and I have no complaints there.
I wasn't going to lay it out here, but, as I have your ear:
I'm not saying it's impossible to run a Linux stack on Azure - but man, trying to image the machine, for example, is a whole rigamarole.
Want to run your own image on a scale set? Oh, well, you
need to craft a JSON template, by hand. There also appear to be limits on how many machines can run off an image.
ARM is a a mess (IMHO), and it's impossible to select a custom image when creating a new resource group.
It also seems (correct me if I'm wrong) impossible to change the vnet of a VM/ARM after it's created. it also seems like ARMs can't share an existing vnet.
Again, please, correct me if I'm wrong. I'm new to this service.
I may have to drop to running a bootstrap script to get my stuff working, but the idea of doing a curl | sh is pretty horrific to me, from a security perspective.
Non MS-SQL as a service? Nope.
The new managed disks are very nice. I like those a lot :)
Yep, our GCE startup credits. We've only burned through about half of em (from the billing page, it looks like ~45k), and they expire in late march.
So if we had an extra year to use 'em, that would be amazing.
When I last chatted with our Account Manager I mentioned Postgres, yeah. We're currently running our own on GCE, but it would be awesome to have it aaS, with replicas and automated backups that I don't have to keep an eye on all the time :).
I don't want to fork the thread to discuss other providers (take a look at GitLab's experience on Azure if you'd like), but I will say that we support Windows Server, SQL Server, .NET, and Powershell throughout GCP [1].
Disclosure: I work on Google Cloud (so I want to sell you our services).
I know security is not compliance, and I'm not here to compare the two, but Google goes to great lengths to protect security. [0]
TL;DR:
- Google's global SDN is ultra-secure, and Google carries your packets on its network rather than dumping them onto public web. Google's undersea cables are shark bite-proof! [1]
- Google Data Centers are mostly homogeneous and rely on Google-build hardware rather than vendors. This greatly helps with securing infra - only one vendor (Google) to trust, only one set of best practices to follow, lower risk of misconfiguration, and exposure risk is minimal.
- > 600 security engineers.
- Encryption-at-rest and in-transit is ubiquitous.
I can't find "ultra-secure" in any of our security certification docs. Is that better or worse than "super-duper secure"?
For security, I don't care whether my traffic as routed over a private network or public web as long as the data is encrypted, because a "private network" is only as private as thousands of miles of fiber and every single network facility it traverses can be. Which means 'not very'.
Does Google build it's own hard drives/SSD's and CPU's? If not, then that's at least 2 other vendors to trust since both CPU's and hard drives are related to hardware security.
Ha.ha.
Did I mention I'm not in marketing?
I do appreciate your passion!
On your first point. There is a very strong risk of inadvertent misconfiguration or your employees not following best practices.. Or even poor documentation. Google cloud by default gives you a global secure vpc that never traverses public internet, so there's less risk because the baseline of security is high. Sure, you can run VPN tunnels between data centers. Point is, with Google cloud you don't need to.
On the latter point, of course you cannot eradicate every vendor, especially within the obvious context of this specific Intel announcement... But, again, not having three dozen flavors of configs and four network router vendors does make a difference. I would encourage you to read the paper I linked to above (discussed this topic in great detail), and also perhaps [0].
Also security folks at Google, who are much more qualified to discuss this topic than I am, frequently post on hn. [1]
AWS did a lot of work to improve how they share compliance information over the past year. It wasn't much better than Google's reference before that. Azure beats both of them in my opinion, as you can access many of the raw compliance reports without an NDA.
It's also important to pay attention to which services you consume, as not all of them are certified to the same degree.
This is true, however Amazon's standard BAA is a bit more robust than Google's. This didn't stop my HIPAA-compliant company from choosing Google, but it does make it more difficult to compare the two clouds on HIPAA-friendliness.
AWS launched Postgres RDS in November 2013. They covered MySQL and Oracle RDS under BAA in August 2015. But AWS didn't add Postgres RDS to the BAA until November 2016. We're hoping GCP doesn't delay covering Postgres Cloud SQL under BAA like AWS did with their managed Postgres.
In organizations I've worked for, we use AWS because it's politically correct to do so; non-technical leadership has heard how "Cloud" is an alternative to "IT" and have golf buddies that buy "Cloud" from Amazon.
Technical management can sometimes be persuaded, given overwhelming evidence, that competing products/services are superior or more cost-effective but ultimately conclude "we'll never sell this solution to leadership".