I work in an enterprise place and we discuss this frequently. Even worse than AWS is Google, they just don't get the fact that Technical Managers at big enterprise places want hand-hold turn-key solutions. The amount of money they leave on the table is mind-bending.
You go to Google and say "We need to do X" and they say "Here is product Y that connects to product Z, but you need to write your own connector." And each product has it's own pricing structure (one by CPU usage, one with flat fees, one based on throughput) so working out total cost is a nightmare. Then you have to hire around those techs, project manage the build of the infrastructure, etc. At that point you start to ask "Why are we using them again?"
I've heard "Amazon and Google don't understand enterprise" at least a dozen times in the last couple of months. You don't hear that about Microsoft. Coming from a startup/open source/indie background I thought AWS and Google would be eating the world but at least in enterprise they appear to be missing a big opportunity.
This is a feature(?) of AWS. Google Cloud provides fully built solutions for majority of use cases. AWS provides nuts and bolts and tell you to integrate them.
That is not my experience. In fact, you just need to look at the Google Cloud documentation solution use cases. For example: https://cloud.google.com/solutions/mobile/mobile-gaming-anal... (chosen more or less at random).
You need:
* Cloud pub/sub * Cloud dataflow * Big Query * Cloud datalab
They don't stitch all that together for you. Nor do they have a good way of calculating how much each of those services will cost when used in conjunction with each other.
If you want a customizable solution, you connect the tools. Pub/Sub for streaming, Dataflow for processing data, Big Query for Data Analytics (Warehousing), Datalab is your development environment. Its hard for a single solution to serve 100% of customer needs. That why they suggest tools. Care to share what a better technology stack looks like? I would love to know if there are better alternatives for services like Google App Engine, Google Cloud Load Balancer, BigQuery, Pub/Sub, Dataflow, TensorFlow Cloud ML, Container Engine (Kubernetes), Stack Driver, ...
Speaking about cost, its all flat rate, with usage discounts (the more you use, the more discount you get) and there are no upfront payments / reservations / locking / hourly billings (like AWS)
I'm not at all, that example was pulled at random as an example.
> Its hard for a single solution to serve 100% of customer needs. That why they suggest tools.
It would be hard to describe just how custom of a solution my company would need. My company certainly likes to do things in a unique way. However there is a huge grey area between "here is a specific product that doesn't quite fit your needs" and "here are the blocks you need to build a custom solution on your own". That grey area is filled with money.
> I would love to know if there are better alternatives for services like ...
Don't underestimate the ability of large enterprise to roll their own. It isn't like Google is the only company that can build a message queue or a load balancer. Nor are they the only game in town selling them. This is a time to remember: The customer is always right. You and I may think that "Google is the best" but my manager wants what my manager wants. We may select a lesser solution simply because the support is significantly better. And that support should be vertically integrated. If we have support for pub sub, support for big query but not support for the integration between them ... that is a drawback.
> Speaking about cost, its all flat rate
Not really. For example data flow is based on the size of machine you are running (plus some extra percentage for the service), pub sub is based on number of events, big query is based on query time + egress, etc. I probably still have the spreadsheet I used to try to get a handle on costs kicking around somewhere. "Flat rate" does not describe the monstrosity that is that spreadsheet.
I totally understand that some people don't understand the enterprise mentality. I'm not trying to defend it - maybe just give a small view into it. Now that I live in it, I may not agree with it, but I understand it. Google doesn't.
I love the hubris of statements like this. Google makes decisions based on many factors, many of which you have no idea about. The idea that they're leaving an incredible amount of money on the table because they just lack all your enterprise experience is ludicrous.
I can only speak to the architectural projects I have been involved with and to the general attitude around the office. I could rephrase my last statement as: "The general impression from the technical managers at my workplace is that Google does not demonstrate understanding of the factors that influence the types of large enterprise purchases we routinely make".
I might suggest you are mistaking my description of the inner-workings of my workplace with a value judgement, or with my own technical assessment of Google's technology. What you need to understand is that it is people like me pitching Google Cloud and witnessing it getting shot down. I'm trying to explain to you why.
And you feel you have sufficient understanding of all the tradeoffs involved in Google choosing to implement what you want them to implement in the way you want them to implement it? You know enough about their overall Cloud strategy, their future development plans, their staffing situation, etc?
Because it sounds like you're saying, "I have some money I'm willing to pay. Google won't take it, Google just doesn't understand!"
There are lots of jobs you could offer me that I would turn down for a variety of reasons.
Then give me an example of what you are looking for and I will give you a solution
> My company certainly likes to do things in a unique way.
And every company has a unique way of doing things. That is why they provided all the tools you want and let you combine them to fit your custom needs. Instead, if they were to provide turnkey solutions, you would not use them because you have unique needs.
> It isn't like Google is the only company that can build a message queue or a load balancer. Nor are they the only game in town selling them.
If there are any better solutions, please let me know. Support is first class on Google Cloud. That is one of the reasons why Spotify choose Google Cloud over AWS.
> "Flat rate" does not describe the monstrosity that is that spreadsheet.
Google Cloud pricing structure is far easier to work with, as you don't need reservations/upfront payments and at the same time leaves room for scaling up and down elastically. The amount you pay is simply based on usage. For Pub/Sub its the number of messages, for BigQuery its the amount of data that is queried. I would love to see a simpler pricing structure. Would you care to share the details if you know of any?
I guess that they've learned from that major mistake.
This issue[1] affects almost every enterprise developer using this product (the original AppEngine) and has been open since 2008 (Nearly 10 years!).
I provided a (awful!) work around in 2010[2] for the Java version, and there are similarly dreadful hacks for the Python version. It would be trivial for Google to implement one of these fixes.
Google just doesn't care at all.
[1] https://code.google.com/p/googleappengine/issues/detail?id=5...
[2] https://code.google.com/p/googleappengine/issues/detail?id=5...
Ding-ding-ding-ding! Now, if you can do this at a lower price point than the competition (i.e. through real technical innovation and without giving in to the temptation to charge your customers out the wazoo, because it's funny money to them, and they are uncertain and afraid) you will prosper!
One of Joel Spolsky's better articles[1] talks about this.
[1] https://www.joelonsoftware.com/2004/12/15/camels-and-rubber-...
And this is why the enterprise sector is so terrible. Everyone thinks that magic genies come out of lamps, if only you rub the lamp with enough money. It's why enterprises get solutions which, again and again, are unperformant, don't meet their actual needs, deliver poor satisfaction, and eventually end up costing the company in reputation and business in the long run.
You can't take hand-configured and hand-tuned monolithic systems and load them into the cloud, not anymore than you could take mainframe code and write a nice C wrapper for it. Sure, there are all kinds of hacks, but then, what you're really doing is selling marketing to the shareholders, not meaningfully improving the underlying engineering.
Of course Microsoft can make a ton of money selling some of these hacks to enterprises. After all, the customer is always right. But that kind of mindset is completely foreign to Google's culture. If you won't tolerate crummy hacks in your internal engineering, why would you sell a crummy hack to your customers?
I imagine you don't have experience doing Android development.
This is a caricature that I would also have believed until I was involved in it. It's the vision of some lumbering dinosaur stumbling to it's death, bloated with age and cranky. There is definitely some truth to it but like all caricatures that truth is greatly exaggerated.
The reality is a lot more subtle. In many cases it is decades of institutional experience that creates a deep conservatism.
> [...] Microsoft can make a ton of money selling some of these hacks to enterprises
I think this is the negative way to view it and again the reality is different. The conservatism is the opposite than what you think. If I say "we need to stitch together these base systems ..." the questions I get are "How to do we monitor the integrations? Who gets called at 4am when something downstream goes down? Who ensures those integrations are kept up-to-date over the lifetime of the project? What are the ongoing maintenance tasks and who does them?" etc. They are in fact trying to overprotect themselves against hack solutions since these systems may live decades.
All of those questions have answers of course, but they are additional pieces of planning and infrastructure that we have to bring to the table. They are also questions that must be answered before we even consider beginning a project.
So I think it is more fair to see Microsoft not as "selling hacks" but more as being a patient guide through all of the peculiar institutional conservatisms. They speak the right language and take the time to understand the concerns of the managers.
Those standards are the difference between a hack backed up by sales engineers and "premier support" and a tech manager who never finds out that anything was amiss because all the failovers just worked.
https://cloudplatform.googleblog.com/2016/10/introducing-a-n...
FWIW I work in one of these places with crazy institutional conservatism
I'm pretty sure you can't excel at both, you need to decide what you are and it seems clear to me Amazon and Google are both in the first segment and Microsoft is heading (retreating?) towards the second.
AWS is going for pure volume.
MSFT is going for customer service and "enterprise ready" (HIPAA, gov't, etc)
GCP is a bit in no-man's land. Diane Greene appears to be heading it towards Azure, but it's very un-Google-like. (Google likes high margin businesses that can be support by technology solutions, not people)
They're the unexpected player and they suck at marketing though :D
AWS Lambda has a major head start and is a big reason for its head of vision above Google. Don't get me wrong, Google has a great quality cloud, but the pace and breadth of Amazon's offering is breathtaking.
One of the big controversies was IBM Softlayer being reduced to niche status, which led to howling of a volume never heard out of New York... which delayed the report months... but Gartner stuck to their guns. It's a pretty fair report.
I think you can replace "Cloud" with whatever technology Gartner or most analysts write about.
These firms are little more than uninformed hype producers that fuel the enterprise software spend cycle through marketing (webinars, "research", tap-my-back-events and 3k€ "reports") that tell CIOs/CTOs what they should already know, by definition of their function: what technologies to consider for their business problems, why and how.
On the other hand, they provide a nice scapegoat when someone needs to offload responsibility, a bit like the "no one ever got fired for buying recommended by Gartner".
PS: wish I could find Zed Shaw's video on "calling bullshit" (or related), as it includes a nice anecdote on dealing with industry analysts.
Having dealt with their paid offerings.
On paper, Google Cloud looks great. Pricing is definitely better but raw VM performance is not. You get what you pay for. Stability is not anywhere near AWS. Had multi region load balancer outages. VMs going half the performance suddenly, out of nowhere. Support is non existent or much more expensive than AWS.
We were happy with it for a while but I'd not suggest it for anything critical anymore.
If you have a specific example of GCP support not working well for you, please drop me a line at jani at google dot com and I'll be happy to look into it.
Unfortunately you just described why people won't prefer GCP. With your competitor, AWS, people actually get a support but with GCP, they don't get anyone unless they complain on reddit, hacker news, twitter etc. and hoping that one of GCP employees may come across to their issue and they'd get some support. No sane company would invest into this.
If you are not a technology company, the value of your very few good tech people's time tends to outweigh technology expenses and you can't attract a lot of top notch ops people anyway because you can't promise them an exciting careers.
Remember that bulk of the fortune 500 is not tech. So you want to pay that support expense and get your people all the help they need. Whoever has a good track record of providing that help gets the business.
Their entire business proposition revolves around getting products and services in front of exactly the people looking to spend money on those things. They were able to market Chrome super effectively, taking a lot of share from IE. Chromebooks and their flagship phones get lots of attention.
So why can't they get the message of GCP in front of the most likely customers?
I keep recommending GCP to people, and they wrinkle their noses skeptically. Part of it is Google's reputation for bad support and for killing products; I have to tell them that while that rep is definitely extremely well deserved, GCP operates completely differently. Another part of it is not knowing what GCP is -- it's flying surprisingly low under many people's radar. Some people think it's just App Engine, which I get the impression that a lot of people got burnt by in the early days (apparently it's great now; never used it).
I think Google has a chance, but they need to work on their marketing. I don't know how they would fix the reputation problem, though, other than bide their time and hope that time heals all wounds.
Went to use it again for another client, and mid-development, they froze the account with no way to recover it.
Well, my Nike job was for a live event. Had it gotten shutdown the same way, I would have been fucked. Holy shit even the thought of that happening scares the shit out of me—this was a multi-million dollars live event!
That killed GCP for me permanently. Same CRAP Google support they always have, but now with the ability to do serious damage to my reputation. Never. Again.
Likewise on Azure... Azure based ActiveDirectory, SQL as a service, and simpler deployments (compared to AWS) are a win... I've used Azure at a few positions, and am currently feeling like I'm pulling my hair out with AWS by comparison, just getting some simple deployment strategies. It feels like Azure strikes the "just right" experience better than aws. At least from my limited knowledge and experience.
Azure is great targeting for MS's Enterprise customers but I've had nothing but problems. Terrible perf, weird products, and that horrible UI that just causes pain. I know at least 2 companies that have significant Azure credits but instead pay for GCP because Azure was just so painful.
I've said it a few times, but I'd LOVE to see a latency graph/map of the major cloud providers and latency/throughput to eachother's different data centers. This way when you have some services/data in one, and want to do something in another, you have an idea of what the cost in terms of time will be.
ex: Compute/service/docker nodes in DO/Linode via Docker Cloud to manage the clusters, and use data services from azure/aws/gce. I mean, yes it's better to do in the same house/cloud, but for a hobby project where you'd like some redundancy 3x$20 nodes in DO + Azure SQL/Tables or AWS RDS/Aurora. So you don't have to manage your databases, but can save on the service nodes over EC2 or Azure VMs.
This isn't marketing, it's trust. Trust that Google has repeatedly spunked up the wall with other products. It will take them years to unfuck that with companies that don't need the latest and shiniest.
Maybe I've just had bad luck, but in my (moderately limited) experience, premier support == guaranteed indian call center so they can meet the higher SLAs.
Actual conversation with premier support:
me: hey, it looks like the format of the billing report CSVs changed without any documentation or versioning. Can you confirm? Also, it looks like the line endings are now randomly intermixed between windows and linux style. Whats up with that?
support: STOP OPENING THE CSVs IN EXCEL, IT CAN CORRUPT FORMATTING.
me: good call, let me remove excel from our usage monitoring automation pipeline......sike..
Aside: I am convinced that EA billing/usage reports are manually generated via Mechanical Turk.
The entire office suite is horrible when it comes to preserving user data though. Access will change sql queries if you look at the code and close the query without saving or modifying anything. It's especially annoying when the query no longer works because Access 'helpfully' removed some parenthesis.
But, weirdly excels CSV issues are a more mac-specific program. MSFT insists that mac has a different format for csvs and will constantly destroy csvs, change formatting, unquote fields, merge columns together, insert random unicode characters, screwed up line endings, etc if you save on mac and aren't careful.
I've actually noticed msft has changed the default csv output format in excel mac twice over the past month (including making the csv default format be TSV??) which is pretty ridiculous.
I just want them to comma seperate, quote fields if necessary, and properly escape characters. Don't insert random characters or fuck with encodings. How hard could it be?
Mac had a different format for CSVs, and actually Excel started its life as a Mac product.
https://hbr.org/2014/07/marc-andreessen-and-jim-barksdale-on...
I assumed more people would know the history of IBM and how it maintained relevance through consulting work around it's enterprise products when it couldn't keep up with the PC market.
Oracles/SAP are really not comparable.
That's why I am saying it's not comparable to IaaS offerings from AWS/Azure/Google. It's a different business.
Office 365 was, really, Microsoft's foot in the door to migrate people to Azure. Now, Azure AD is a foot in the door to other Azure services. And if Azure can come in and up-sell them on things like website and database hosting, with big support contracts to match, that's pretty huge.
AWS will continue to dominate among more modern businesses who have developers on staff. But I genuinely think Azure will see a lot of success servicing legacy customers who are used to the microsoft ecosystem and don't have m/any developers on staff.
All that being said; Personally: Azure is a pile of crap, with practically no redeeming qualities. I have no doubt it will do well with legacy businesses, but I really wish it wouldn't.
No doubt MS will continue to grow in this space, since it offers stability, support when things go south, as well as easy onboarding with various developer focused initiatives. While the variety of services doesn't match the AWS catalogue yet, they also offer a marketplace where 3rd party services can be purchased and integrated.
I'm an ex-Racker.
Therefore, I'd have thought MS would lose here... unless they can make the cloud be used like desktop apps.