"Since its inception, Amazon has refined and expanded AWS while competitors including Microsoft and Google have tried to replicate its success with similar projects. Those companies have only recently started to deliver basic services on par with Amazon’s."
Is this really true? I know that AWS offers many more services than competitors currently, but for the services for which there is a competing product, is the AWS offering really that much better?
In my opinion, Google is ahead of AWS in most aspects besides access control. GCE instances vs. EC2: faster boot times, better network, a far better pricing model for startups (no upfront cost and year-long lock-in to possibly outdated instance types).
Yes, Amazon offers a bigger variety of products, but the newer ones just scream vendor lock-in without much-added benefit. Why would I use Opsworks if Chef or Ansible work just as well?
Choose anything, except maybe object storage, and there is somebody out there who does it better than Amazon, there is also sombody who does it cheaper than Amazon.
Except for S3, AWS isn't the best at anything, nor the cheapest, but, they are the only ones doing it all, and typically the ones inovating new services. Nobody has all the services AWS has, or even as well integrated, or as granular etc...
If you have very specific needs, then go pick and choose from different vendors (assuming you're ok with multi-site latency), but if you're starting a company and have generic needs that aren't well defined yet, AWS is probably your best bet to start with. People do that, and once their invested so much time in learning the environement, they stick to it.
I will agree that Google mostly has higher quality infrastructure, but faster boot times and lower latency networking aren't what most cloud consumers care about.
AWS has been diligently moving up the stack, creating higher level services that are "good enough" for many of their customers, who are increasingly enterprises teams who want to outsource as much as possible to Amazon. They can go all-in with AWS and expect a constant stream of new features and services at relatively competitive prices.
With Google, their cloud platform still feels non-core to their business and they have a history of retiring services when their priorities change. I hope Google and Microsoft become fully viable alternatives, but for now, enterprises seem more comfortable betting on AWS.
What's the basis of your argument that Google Cloud is better?
My personal experience has been exactly the opposite - AWS is light years ahead of Google Cloud. Does Google Cloud provide Machine Learning service?
For the longest time, it was only supporting Java and Python SDKs. And the Google's API is still very much lacking in terms of features and stacks. In fact the better support and much comprehensive services presents more choices rather than "vender lock-in". Keep in mind, all the auxiliary services are simply the open source technologies builds on top of AWS EC2 - if you like to spend time and money, you can totally build your own!
And this is common, as we've just seen people complain about Google Cloud 4 days ago.
> Does Google Cloud provide Machine Learning service?
Yes they do. [0]
> And this is common, as we've just seen people complain about Google Cloud 4 days ago.
To me, this is an isolated incident. On the other hand, seemingly every AWS customer of non-trivial size had to reboot a significant part of their machines in the last year because of Xen vulnerabilities (with no way to predict if you will land on a patched machine).
Ah, great. Apparently I didn't know they do. But again, being first doesn't automatically mean it's better. For instance, Sun's grid computing concept was earlier.
I never said that they were any good, you just asked if it exists.
I personally don't know why one would use any of the GCE/AWS/Azure ML offerings apart for really small use cases (in which case you probably don't have enough data). Most businesses with an ML component (like my startup) need millions of predictions per day which would be crazy expensive on any of those platforms.
> For the longest time, it was only supporting Java and Python SDKs.
You are describing Google App Engine circa 2010. I recommend taking another critical look at what Google has available because it's quite competitive these days :)
Lambda looks awesome... I'm tethered to Azure, so the closest I get is Azure App Service which works, but not as elegantly... Dokku-alt is working pretty well (testing now) as a deployment system... was looking kubernetes and the like, but it's overkill for my needs.
Doesn't Amazon's mysql api fronted db work similar to google's?
Assuming you're both talking about Google Cloud SQL and AWS RDS, then with RDS you can actually choose between MySQL, PostgreSQL, SQL Server, Oracle, or Amazon Aurora which is supposed to be compatible with MySQL 5.6. Google Cloud SQL only seems to mention MySQL.
For scalability, RDS gives you up to 3TB storage (1TB for SQL Server, 64TB for Aurora) and DB instances with up to 244GB RAM, 32 vCPUs and 10Gigabit network, whereas it looks like Google Cloud SQL is 100GB and 16GB of RAM. It looks like Cloud SQL provides managed replication/failover as standard; with AWS this is optional, but simple to set up. (I use RDS; never tried Google Cloud SQL.)
(I have no connection with either company, beyond being a customer.)
Amazon RDS for Aurora is what I was thinking of as being similar to Google's Cloud SQL... they're both mySQL API layers over the top of their BigTable/distributed backends.
I was actually thinking of Amazon RDS for Aurora[1], which seems to be a mySQL api layer over Amazon's BigTable backend. and similar to Google Cloud SQL.
Nobody seriously uses AWS ML service, do they? This is the worst idea ever unless it's just to see how well it works, because you have very little control over the algorithms/model parameters.
Compared to Azure, yes. The IaaS offering on Azure has many, many limitations. It is also very difficult to use. There is no general pool of servers. You have to cram VMs into these groupings called "Cloud Services" which are limited to 50 VMs each. No support for TLS termination on their load balancers. SSDs are currently a "preview" feature and only work on a subset of hardware types.
In all fairness AWS had a 4-5 year head start on Azure. Also there are a lot of really exciting things coming down the line for Azure. I don't expect this gap to last long.
SSDs, okay. That's something that's legitimately difficult to scale, particularly if you've invested heavily on spinning disks and made assumptions about their performance/reliability. I get that.
But no TLS termination? At a company that has invested $15bn on their cloud products and has in-house expertise on the actual source code of one of the most widely-used networking stacks? That's... surprising, to say the least.
What does the lack of SSL termination mean? We are running many services in Azure which we access using TLS1.2 via the loaf balancer so what would SSL termination add to this?
> An SSL termination proxy is a proxy server that is used by an institution to handle incoming SSL connections, decrypting the SSL and passing on the unencrypted request to the institution's other servers (it is assumed that the institution's own network is secure so the user's session data does not need to be encrypted on that part of the link). SSL termination proxies are used to reduce the load on the main servers by offloading the cryptographic processing to another machine, and to support servers that do not support SSL, like Varnish.
SSL/TLS can only be configured if you use their "Web app" PaaS offering . If you're using plain VMs (IaaS) then there are no options for SSL/TLS. You have to do it yourself on your VMs using haproxy/nginx/stud.
I beg to disagree. As I wrote in another thread, Microsoft has not one but two Platform-as-a-Service offerings:
- Azure Cloud Services (PaaS)
- Azure Websites (PaaS light)
Unfortunately, when I last looked at it four months ago, both of them were quite unattractive, at least for Python hosting.
First of all, they have no support for automatically installing python dependencies, i.e. no support for pip. If you want to install e.g. django-rest-framework, you have to install it locally and then manually copy the installed files to Azure (with FTP, if I remember correctly).
Secondly, they both run Python on a Windows Server running behind the IIS web server. Besides the fact that you will walk along the road less travelled (Django is overwhelmingly deployed on Linux), there is a very concrete limitation: if you want to install binary packages (e.g. PIL or Pillow), you have to manually compile them for Windows (and of course copy them manually to your Azure server). Yuck.
If you want to use Azure, go with their IaaS offering (Azure Virtual Machines) and stay away from their PaaS offerings
Yes, the Cloud Services grouping around IaaS VMs wasn't a good idea and is awkward. You can blame me for that. :) Stay tuned next week. We may have some solace for you.
Azure is definitely behind in some regards particularly IaaS. That was not really their strategy for quite a while and it shows. We are using their PaaS now and really like it, much better experience than we had with stuff like elastic beanstalk or cloudformation on AWS.
We still used Amazon Email and CloudSearch though. Azure has no email and Azure search is too new for me to trust.
If you're controlling your azure account through the powershell interface, it's a little better... a lot of things require the beta UI, which isn't so great.
That said, I was able to setup a quick little proof of concept web/worker app with node pretty quickly... though you should be aware it is running in a windows host (either 32 or 64bit configurable)... you can include exe/dll's in your package as needed too... I used a git endpoint for deploy, and that worked pretty well. There's apparently a build environment suitable and configured for node_gyp to be able to use.
Though imho it's not as flushed out as App Engine, or bits of AWS... I am able to run dokku on a few hosts... Work's account finally came online for the SSD preview about a month ago... it's definitely worth it.
There's some mishmash of availability... I kind of like that using blob storage, tables and azure queues is as simple as having a storage account... though the node client is a little lacking in documentation and examples.
We only run Linux and use Macs. So powershell isn't an option for us. The SDKs for various languages aren't terribly mature either. I don't think any of them except the .NET one are 1.0 yet.
Don't get me started on the Beta UI vs normal UI. Some things are only supported in one and not the other and vice versa. I'm constantly being flipped back and forth between the two. Also they are both really unpleasant to use. I get lost a lot.
It's actually kind of sad that they had a strong initial push to support other languages and platforms, only to let those SDK/API clients wither on the vine so to speak... The github issues on their public repos seem to be mostly unmaintained (several a month or older without an MS representative).
On the flip side, there were some issues with connecting to Azure via the node `mssql/tedious` module, which isn't from MS, and a few developers from MS Azure SQL teams stepped up to track down the issue. Learned a bit more about the TDS protocol than I really wanted to that month.
It seems to me that MS Azure's development department should either implement a 20-40% time for developers to work on the public stuff and/or documentation as developers desire, or have cowboy teams that do. MS isn't likely to spur more open development efforts as most corporate based projects don't inspire much community involvement.
That said, given the choice I might be more inclined to use Joyent, DigitalOcean or Linode for my own stuff... The choice wasn't mine at work, the existing solutions are mostly .Net (some Node) based and Azure was the most pragmatic choice of migration to a hosted solution when that was done almost two years ago. And running anything under Ubuntu VMs with docker on Azure is pretty trivial... Once the next generation infrastracture is in place (a couple months away), it will become easy enough to run anywhere.
>"Since its inception, Amazon has refined and expanded AWS while competitors including Microsoft and Google have tried to replicate its success with similar projects. Those companies have only recently started to deliver basic services on par with Amazon’s."
They could have summed up the whole thing as First-mover advantage. Amazon created this new market and when MS, Google etc saw a real opportunity in it, they wanted a piece of it and thus moved in by replicating the best features. Meanwhile for Amazon it was all about maintaining its majority share refining and expanding.
Depends on your needs, tbh, traditional hosting is a better fit for mine. I can automate buying and provisioning bare metal servers already. I don't need AWS for that.
I spoke with a Google channel lead who said Google's cloud is 5x the size of Amazon's. The policy is not to talk about it publicly because Google itself uses its own cloud tremendously and the 5x size was not something customers necessarily utilize.
He may be comparing Google's total data center capacity (search, cloud, etc.) to AWS. I do monthly scraping to track cloud marketshare for Alexa 10k and Fortune 500. From that analysis, EC2 is at 12-14% marketshare compared to < 1% for GCE and 1-2% for Azure's VM service. http://blog.cloudharmony.com/2015/03/compute-marketshare-ale...
Most analysts seem to think that AWS is way bigger than Google's public cloud. That channel lead may well be right in terms of total number of servers or MW of datacenter capacity.
BUT scale is not the only thing that the cloud brings. AWS is not just S3 and EC2. I think it's pretty clear that Amazon is much further along the road of productizing their cloud. i.e. providing all the products that businesses and most notably enterprises need to move to the cloud. It will take a while for Google (and Microsoft) to catch up in this area.
Published information I have dug up shows Google's cloud is larger, but only by 50% and the dates were in the 2012-2013 range. Regardless of whether the channel lead's motivations are to say one thing or another, he did say something that struck me with conviction: "We're not going anywhere. We're NOT relinquishing this market."
My experience with Kubernetes and Managed VMs and as an App Engine dev since 2009 compared to Amazon's latest offerings such as Glacier and RedShift shows Amazon is distinctly targeting the present with these legacy plays. Google is targeting the future.
Not much talked about: Google's profitability gives it a distinct advantage in its ability to wage a price war compared to Amazon should have anyone on Amazon's platform concerned.
I wouldn't so much phrase it as "Amazon is targeting the present"; they're executing a hybrid strategy of making future-stuff to entice you (Lambda, or DynamoDB way back when) and then also cutting away all the objections you (some enterprise CTO) could have to moving 100% to their cloud stack, by making it also capable of doing everything your current private LAN/VPS/colo stack already does—even if everything your current stack already does is brain-damaged legacy stuff.
In other words, Google is building a cloud that you can only really pick up for blue-ocean ventures. AWS gives you a bunch of the same tech, but also a clear transition path: you can first duplicate all your present-day infrastructure in their cloud with little-to-no service interruption, and then start replacing it, component-wise, with the future-tech.
I think derefr replied to your first two paragraphs nicely.
"We're not going anywhere. We're NOT relinquishing this market."
I think for a while some didn't believe how serious Google was about the whole selling cloud services thing. Now they do.
Regarding Google and Amazon's disparate profitability:
1) Cash is arguably more important than profitability from an investment financing perspective. Amazon and Google are in the same ball park regarding free cash flow (>1B, <10B) and while Google has an enormous cash pile Amazon certainly has the ability to spend several tens of billions investing in their clouds in the next few years, as does Google.
2) Secondly, for the sake of their stock price, Google would be very hesitant to have their high margin search/ads business become dominated by a low-margin commodity cloud business. Their scope to use all of the free cash generated from search/ads for their cloud business is limited. Stock analysts don't like declining profitability whereas Amazon already has basically zero profits and is basically priced at a Price/Sales ratio like a large retailer.
Amazon makes extensive use of capital leases support their expansion. In 2014 they were roughly on par with their other capex (in the $4B-5B range, don't remember exact number), except that their capital leases don't deduct from Amazon's free cash flow. If you subtract those out, the FCF situation ends up looking quite a bit worse.
They're sort of taking on a bunch of debt (or things that look like debt) and downplaying it with clever accounting. In the current market environment I don't know that it's really a problem (they just borrowed $6B via a bond issue, for example). Just an interesting reality for a company competing with two cash-rich rivals in a hugely capital-intensive space.
Care to elaborate? It seems like you know the answer to my question =]
For example, how is EC2 much better than GCE, if it is. (I realize you didn't imply that it was; this comparison just seems the most interesting to me)
Is this really true? I know that AWS offers many more services than competitors currently, but for the services for which there is a competing product, is the AWS offering really that much better?