How Diane Greene Transformed Google's Cloud
businessinsider.com
businessinsider.com
As a company that's used all the major clouds and vendors out there (AWS, Azure, Softlayer, GCP, Internap), Google's has been the best so far with simple fast tech that works. They are clearly behind in features and breadth of offering but I agree with Diane's statements that the underlying tech is just better. Quizley has a good article recently that goes into more detail which is what we saw as well. [1]
I do wish the GCP team was easier to reach though. They have lots of engineers and PM's who are active on social media and discussions forums and such but it feels like things are too "informal" in conversations right now. It's nice to see everyone passionate about helping on their own time but AWS has them beat on the vast amount of help and resources they pour into getting clients of all sizes onboarded quickly. I'm guessing that will change soon enough with all the hiring at Google.
1. https://quizlet.com/blog/whats-the-best-cloud-probably-gcp
Disclosure: I work on Google Cloud.
sorry if it's the wrong place to report an issue that I faced recently with GCP.
I had reached the limit of max projects one can have in their dashboard. I deleted some projects and when I tried to create a new project, I was getting the same message .
I had to wait for a week to create a new project ( the time window in which user can stop project deletion )
this really prevented me from trying some new services in spite of GCP giving generous $300 credit.
I've never run into this, and apparently that's because the issue is that we have a limit of 10 free trial projects (to prevent abuse). I'll look into the "Seriously, let me delete immediately" thing though.
A project is just a container for resources. You can use any combination of GCP products and services within a single project—you are only charged for the resources you use, so just deleting what you created earlier would get you to a zero-state.
I inquired on your behalf, and was told that the Web Summit you're referring to is from 2014 (2 years ago), and the credits expired in 2015 (1 year ago), and unfortunately, this program is no longer available.
That said, we do have a credits program for startups (https://cloud.google.com/startups/) but you cannot apply for it directly, you need to "contact your VC, Accelerator, or Incubator and ask about GCP for Startups application details." (quote from the site)
In the mean time, if you just want to kick the tires, you can sign up on https://cloud.google.com for a free trial.
We're a paying customer and I understand tiered support is available (as it is with every vendor) but there's a distinct difference in on-boarding, which is even more important and has to happen before we're a stable long-term client with a support contract. GCP is very barren in on-boarding resources and opaque in happenings. Here are some of my recommendations:
- The APIs (which are quite literally how applications connect to the platform) need a lot of work. I know there are idiomatic versions in progress but this has to be improved rapidly, like yesterday. They just don't seem production ready (they're even called alpha). I don't want to dig around github, I just expect to use them in whatever major language I'm writing.
- Documentation has recently gotten much better (good job!) but was terrible for a long time and is still confusing in parts. Add more solution/use-case oriented writeups. This is often the best way to understand how to use a new service rather than wondering how to make it best fit our app.
- Send an email as soon as an account is spending more than $1k/mth and see what they're doing and how you can help. Don't mention anything about buying a support plan or offer it free for the first quarter until everything is setup. The money is far outweighed by the goodwill.
- Properly staff the startups department so they can vet companies instead of outsourcing this to VCs/Accelerators. Right now you're turning away many companies that are bootstrapped or have other needs and are actually focused on building sustainable/profitable companies - the ones that will become long-term paying clients for you.
- Put out a roadmap with more detail or let companies take part in planning the next features. There seems to be only vague indications of what's coming up in the future.
Formality, reliability, assurance and easy access are critical, especially when you're asking companies to build on you as a foundation. The basics of computing are becoming commoditized so it's important that the services and service are able to differentiate.
I get the sense that the GCP team is aware of all this though so good luck, we all want a great platform and I can't wait to see what's in store.
Appreciate your taking the time to write this up in detail, and thanks for not sugar-coating it. We'll share this with the relevant teams and work on improvements across the board. Great to hear that you like the changes to the docs!
Please keep providing feedback and suggestions.
Also, AWS's reserved instances are somewhat of a nightmare. There are only certain upgrade paths you can take, and you're locked in to them for a year. And if you're not in the US, you can't even sell the instance.
The No-Upfront reservation options that AWS last year helped narrow the difference quite a bit - but Google automatic discounts for sustained use are so much better and less complicated for users.
Disclosure: I work on Compute Engine.
1. https://cloud.google.com/compute/docs/regions-zones/regions-...
Disclosure: I work on Compute Engine (so of course I'm biased against RIs)
The article seems to allude that Google's cloud offerings are, like a lot of services they offer, just side projects for them. That would explain why a lot of their platform feels half-baked. And the article (clearly a PR piece) waffles on about how Diane Greene has brought in lots of sales and marketing muscle. I see that clearly in the large amount of PR articles about Google Cloud floating around (including on Hacker News) and the sheer quantity of Google employees on social media and on here. I don't see the same from AWS. At first I saw that as a good thing, but it seems like the same effort that goes into their marketing and customer engagement has not gone into the technical side of things, despite what the article may say.
Perhaps that's a necessity of business. Maybe Alphabet doesn't want to pour more resources into Google Cloud without seeing more revenue. So Diane Greene is beefing up the numbers so she can get the technical resources she needs allocated. Maybe. My personal opinion remains doubtful, given Google's overarching track record, but time will tell.
Google Cloud is by no means unusable. It's a nightmare to work with, yes, but it does work, and if you've got the engineers on staff to handle the extra workload, then it's fine. We're going to continue to put up with it, because Google's particular mix of offerings allows us to save money and at the end of the day that's the common tongue. I just wish they wouldn't make my life more difficult.
To explain the difference between your experience (outages taking you out) and "Google.com", I'd guess the difference is that "Google.com" is massively distributed. Perhaps you were running in just one zone or region, or maybe even quite sophisticatedly running across two regions (say us-central1 and us-east1). For Google.com, we have 15 "major" datacenter locations (https://www.google.com/about/datacenters/inside/locations/in...) which are approximately regions in Compute Engine / Cloud parlance.
To your other question though, Cloud is not a side project. Google happens to be enormous, so even though we have thousands of folks across Technical Infrastructure (TI) working on Cloud, thousands divided by tens of thousands is still a "small" percentage (but TI is bigger than say YouTube or Android).
[Edit: And please reach out to support! Don't be silently unhappy, have someone call us up, even if it's just to strangle a PM about how difficult it is to use.]
Disclosure: I work on Compute Engine.
My comment was somewhat terse (to remain as brief as possible) so perhaps it wasn't clear. My logic was "Google.com is supremely reliable, which is a supremely difficult task, so Google must have really good engineering chops, so their products must be really well engineered." In other words, I was saying that I had in my head an image of Google being filled with great engineers building generally well engineered products. I wasn't commenting on reliability of service, which we haven't had any issues with that I can presently recall (we're only in us-central1-c).
> [Edit: And please reach out to support! Don't be silently unhappy, have someone call us up, even if it's just to strangle a PM about how difficult it is to use.]
Google provides no way to contact support without paying them for a support contract. It makes no sense for us to pay Google for the privilege of debugging their service/software. And I've crawled my way to support through sales before. For all my effort, and an inability to use the platform for a week, I was left with "Sorry, here's an issue tracker". The same kind of issue tracker that's filled with stagnant issues that are months or a year old.
The same argument could naively be made about AWS, which also charges for the privilege of reporting issues to them. But in all the years that I've used AWS I've only once needed to contact them with a problem. It was a billing issue, which they fixed, and then comp'd us with free service for the trouble. With Google Cloud we would need to diagnose, debug, document, and report an issue roughly every day of development.
And yeah, I'm a developer advocate on GCP
Some examples:
Cloud Storage doesn't support multi part uploads. The best it seems to have is the ability to compose objects. Honestly that's a better system than dodgy multi-part or resumable uploads, but there are hard restrictions on composing objects. You can't compose more than 32 objects, and you can't compose more than 2 layers deep. So with two iterations you can compose at most 1024 objects. That's not great for uploading large objects through our servers in small chunks. If our chunks are, say, 10MB than the largest final file size we can achieve is only 10 gigs.
On AWS when connecting EC2 to RDS we just threw together the VPC and then configured the EC2 servers with the RDS's hostname. Easy. On GCP we basically _had_ to use Cloud SQL Proxy. Now, again, it seems that Cloud SQL Proxy is a better system overall, but it required fiddling with our server setup, upgrading our MySQL library (which caused other issues), and other random dickery. Another annoyance.
We use Go for our backend servers, and GCP's Go API libraries are all autogenerated, and might as well not be documented. We frequently receive the opaque error "required: required" when trying to blindly figure out the API. It's become an office joke. "Why won't Ubuntu recognize this Wifi card?" "Because required: required man, obviously."
Google App Engine's dev_appserver.py completely broke after an update, caused in part by another Google library being installed (protobuf...). Still not sure if the fix was rolled into a release yet...
The web interface frequently breaks and requires manually refreshing, and it's generally slow and unresponsive on the best of days. It also loves to switch me to my personal account and throw errors because I don't have access to the project I was trying to access...
The "scopes" for launching a compute instance aren't documented to the extent that we know which ones provide what privileges. Really the whole privilege system on GCP is a mess and pales in comparison to AWS. I recall some obvious permissions were just outright missing a few weeks ago.
We have some Go code that uses the API to launch a compute instance. When specifying the scopes on the command line for launching an instance they seemed to require being accompanied by the service account "email" address. So in the Go code we specify the service account email and the scopes. One day during development I forgot to set the service account, didn't notice, and everything worked as normal...
I was not able to find an obvious place where preemptible instances report being killed. Not in the activity logs or the serial console log (which is not saved/available when the instance shuts down). shrugs I didn't feel like looking deeper into it.
Startup scripts specified when launching a compute instance run every time the instance starts. Makes sense in retrospect given the name, but it's in contrast to AWS where the script runs once, and in contrast to the example startup script given in the documentation (which installs things ... not something a script that runs every time the machine boots up should do). And it's not very helpful. A script that runs once ever is more practical than a script that runs every boot.
Figuring out exactly how to cook up my own compute images in a format that GCP likes required finding a random video on YouTube from a Google developer.
Some of the documentation (this was either for Datastore or some part of App Engine) is actually just a bunch of marketing copy with no technical meat to it, leaving me to just assume how various features work (because they aren't actually documented anywhere else).
New strange behavior from MySQL running on Cloud SQL that we still haven't nailed down (random lock contentions) that we never encountered on RDS.
Random networking failures on fresh compute instances.
Random upload failures to Cloud Storage.
Transferring objects from one bucket in Cloud Storage to another bucket using the transfer interface resulted in the ACLs being lost for all the objects.
Random things get deprecated every other week. Image aliases last week, something about the Cloud Storage metadata was weird the week before that, etc.
The CLI randomly failing to query for the list of compute instances for tab completion, instead just tab completing an instance that was deleted 10 minutes ago.
Talking specifically about my field, Cloud, Big Data and DataScience, its so painful to build a decent data stack that can handle few terabytes of data, let alone petabytes of data. Google Cloud (Pub/Sub, Dataflow & Big Query) make it a breeze to handle petabytes of data. You can literally debug a petabyte scale pipeline, while its running. Unified logs, metrics, monitoring, alerting is another feature that shows how well the Google Cloud platform is built with developer in mind.
GCS provides multi-part and resumable uploads (https://cloud.google.com/storage/docs/json_api/v1/how-tos/up...), though I agree that the docs make it hard to find given how deeply they are nested. We use resumable uploads in Firebase Storage (mobile GCS: firebase.google.com/docs/storage) to great effect, and routinely upload some pretty huge files with no problems.
Definitely hear you on autogenerated libs sucking: the gcloud-* libs are designed to address some of those issues. gcloud-golang is still under development (https://github.com/googlecloudplatform/gcloud-golang), but might be a good place to start.
GCP is working to address a number of permissions issues with Cloud IAM (https://cloud.google.com/iam), which will provide more fine grained control over resources. I believe Cloud PubSub already uses this model.
Firebase (which shares certain services with GCP) has free developer support (firebase.google.com/support), and as you can imagine, we're inundated with questions and have two teams working 24/7 to address them. Free developer support is a great thing for developers, but providing high quality support at Google scale is probably the hardest thing to do--people just don't scale the same way machines do.
That's why so many of us are active on social media/HN/etc., we want to talk directly to developers and get feedback so we can improve our products, but we typically aim for high quality feedback (like this, thank you :), where we can engage with savvy developers to solve their problems, or at least get actionable feedback to guide our roadmap (x is a bad experience, have you considered y and z which would save me n hours). Ideally, this feedback trickles down into all areas of the product, and even across products (when it comes to permissions, console changes, docs, etc.), though it can take some time to implement those changes.
(Disclosure: PM on Firebase, and work closely with Cloud)
> Google App Engine's dev_appserver.py completely broke after an update, caused in part by another Google library being installed (protobuf...). Still not sure if the fix was rolled into a release yet...
We've been having a lot of fun with how tricky namespace packages are in Python. We've got a fix in for this issue that should hopefully be in the next SDK release, and we're looking into ways to better isolate dev_appserver from the OS environment.
A simple workaround is to activate an empty virtualenv before running dev_appserver.
Previously, the standard arguments that I've seen in sales conversations were that GCP wasn't enterprise ready or serious enough. All of that disappeared in the last 6 months.
Yes, GCP is still small compared to Google (or AWS) at $400M/yr revenue. Yes, AWS still "gets" enterprise better than GCP.
And yes, GCP is back in the cloud infrastructure game and will give AWS and Microsoft a run for their money.
We'll certainly do our best!
Disclosure: I work at Google on Kubernetes.
This was my source: http://www.recode.net/2015/10/22/11619964/google-has-its-hea...
The # is from Oct 2015, so it's entirely possible that my number is very out of date. Couldn't figure out how to amend my original comment, so adding this one as a substitute.
"We have Chromebooks."
Is she joking? I can't see how they make Google's cloud more attractive than others. Am I missing something here?
Edit: I also wanted to add that there wasn't much concrete information in this article at all. Sounds like a fluff piece/advertisement to me (IMO).
Google Apps for business are so bad though, I genuinely don't know why a company would pick it over 365. I could maybe see an SMB, but 365 is so robust in its offerings and just so much better all around.
My former employer was on 365, my new employer is on Google Apps. It's like I've been thrown back into the stone age. (Went from a large corporation to a start-up.)
I feel like an SMB is not likely to do volume purchases of Chromebooks, but a large corporation is...which Google just fails at in their offering in the office space, imo.
The style of charts is so bland it has a java applet in a myspace page feel to it. There are no multi-column layouts. Some things can be created offline, but not drawings etc.
Recent Powerpoint on the desktop is just lightyears better at animation. The Office 365 nonsense lags behind - it can view, but not create, the fancy animations etc.
Basically, I was forced to go back to Powerpoint, and I didn't want to.
Given that the google docs today is the same google docs from five years back, I figure that Google invests 0% in them and using them themselves.
It is really frustrating - it wouldn't take a programmer more than a few weeks to clean things up and make real headway. I really can't cut google no slack on this - its an unloved backwater of featurelessness.
Disclosure: I work at Google
I really with that team would bring it up to feature parity similar to how Marissa Mayer grabbed everything she could from AdWords in terms of features and UI design.
So the statement I responded to:
>"Anything that you'd normally do in Office is done on Google for Work at Google."
...is just not accurate. Not to mention other super basic things like a lot of the formatting options, etc. Those most certainly are basic user needs, and you can't do half the formatting things you can do in Excel.
You are forced to use it, but seemingly nobody is allowed to improve it.
I too use it daily as my employer is a google apps customer. Which is why I am so frustrated and really need to vent about how featureless it is, and especially about how its improvement trajectory is so flat.
You also mentioned animations and transitions for slides. Personally I like the minimalistic use of slides (it should be background to what you're actually talking about, not taking center-stage). But that's the developer in me, and I'm sure lots of business-like people out there prefer the pretty and animations.
Importing vectors like .eps is not possible.
Creating a new document to a directory using your business template is impossible.
Copies of documents are created in root directory. Moving requires navigating in a tiny window without search. (Makes template usage even worse.)
There are no small caps.
You can't load custom fonts.
No log axis in Sheets. (There is histogram though so it's better than Excel!)
No backups, no change management, easy to destroy whole google drive by one user dragging wrong. NOBODY SHOULD EVER DRAG ANYTHING.
It feels like an uneven product.Oddly enough, we had exactly the opposite experience when a previous employer went from 365 to Google. The Google apps just worked, while the Office 365 apps ranged from hilariously bad (Yammer & Lync) to not completely terrible (the web version of Word) to mostly decent (the web version of Excel).
But man, Yammer & Lync were like a joke after using Hangouts. A really bad joke, told by a sadist. A sadist who is shorting one's stock.
The web version of Word and Excel are vastly superior to Google's docs and sheets, I don't know how you can argue otherwise. Though, I don't know why you'd use them when you get the full versions for free in your 365 (which totally demolish Google's offerings.) Docs hasn't really done anything since it first launched, while sheets does have decent integrations...but it's no Excel.
Now 365 has baked in project management, Delve, business insights etc. There is no comparison.
Off-premises cloud products in general are useless for any company in aviation, nuclear engineer, military, etc. Unless they’re in the US, then usually they can afford to do it, as the cloud services are in the same country.
Looking back at the snowden leaks, containing proof of the NSA serving NSLs to cloud providers and hacking Airbus servers to provide internal data and blueprints to Boeing, so Boeing would win a contract, shows that trusting US cloud providers is just as risky as trusting chinese ones.
But for your grandparents that have nothing worthy of espionage, a Chromebook is likely good enough.
Because of this I've replaced my parents virus-ridden Windows laptop with a Chrome Book, it's the only Desktop OS I feel safe leaving them with knowing that all their work/photos are backed up, and they're not going to be able to accidentally install any viruses.
Whilst they still spend most of their time on their iPads (which really hits the sweet spot for content consumption) they use Chrome Book for their few remaining productivity tasks.
It's easy to forget how daunting full-featured Desktop OS's are for non-technical people, hiding its complexity and centering all UX around Web Apps ends up increasing people's confidence since there's very little they need to understand in order to do what they need to do, which is generally just clicking the App they want to run - with all the remedial tasks are managed for them behind the scenes.
If I wasn't a developer I would likely just take a Chrome OS when traveling and as each year progresses Chrome OS becomes more appealing with there being less and less you need a Desktop OS for. IMO it's already the best option for running a company, e.g. most companies would save a lot of IT Admin costs if they switched to Google Docs + Chrome Books.
There's practically zero administration involved.
I'm sure there are companies who could benefit from this; but they need to accept that they rely on a single provider and its uptime for all their software and data storage requirements.
This is a huge trade off, and must be considered carefully.
Difference is probably still in favor of Google because of costs as long as you use local backup copies to avoid being embarassed in important meetings.
Also, the money isn't really all gone to a 3rd party, it's in a foundation-type entity similar to how Zuck does it.
The foundation-type entity is correct though, she will still be overseeing how it's spent.
See: http://www.fidelitycharitable.org/giving-strategies/tax-esta...
EDIT: Perhaps you're saying she donated her shares to the Donor Advised Fund first, and then the Fund sold the shares to Google? Possible I guess, but that's not what the SEC notice said.
https://www.sec.gov/Archives/edgar/data/1652044/000090342316...
"Diane Greene exchanged 7,244,150 shares of bebop stock for 200,729 shares of Alphabet Class C Capital Stock at $740.39 each in the Merger, plus cash for fractional shares. Ms. Greene intends to donate the shares exchanged to a donor advised fund."
You have to structure the deals this way, otherwise you lose more than half of your company to the government. When marginal rates exceed 50% and you have dependable future earning potential, yes, giving away unrealized gains can be worth more than realizing them.
By donating $150m to the Fund, you not only get the self-directed Fund with $150m dollars in it (which is a fun time in and of itself) but you also get $150m in charitable deductions. Each dollar of that deduction eliminates > 50 cents on the dollar of tax liability. Donating to the Fund effectively lets you have your cake and eat it too, again, with the caveat that you expect to have enough future income to use it all up, while remaining in the highest tax bracket.
You can "carryover" deductions from charitable contributions that you are not able to use up in the current year for up to 5-15 years.
https://www.taxslayer.com/support/530/charitable-contributio...
They have so far just mentioned they are adding two regions soon - but nothing about where. I fear its just additional options in Europe or something ... 2017 is still too far out for a startup considering options today.
Edit: Oh .... looks like I missed the announcement that the two new regions are Tokyo and Oregon. Looks like India is out of luck for now.
Disclosure: I work on Compute Engine.
There are other instances where I think additional ~50ms latency diff to from India to Taiwan matters much less and I am dubious if it is material. But what matters if that the difference exists and people believe it does matter.
If you're struggling to respond within 50ms anyway then you're going to have a bad time with the added latency. Thankfully our 95th percentile is around 20ms.
We are however having to go into AWS for Aus/NZ which is a pain.
- three in the US (1 in Virginia, one in Oregon, one in Northern California)
- two in Europe (Dublin and Frankfurt)
- four in Asia (Singapore, Tokyo, Sydney, Seoul)
- one in South America (São Paolo)
and both Montreal and India announced. So by part way through 2017, the "numbers" would be sort of comparable but the real factors are your latency requirements, data sovereignty (hello Germany!) and the features you need (and not all features are available in all regions!).
Disclaimer: I work on Compute Engine.
The German laws on that are interesting, and I don’t think Google’s Cloud can every comply with them – because you may not give any foreign third party access to personally identifiable data, or move it to a country with lower data privacy laws, hosting it in a Google-provided system would be quite problematic.
Although the laws are a pain (including for me, even if you just host an IRC bouncer for a bunch of people they become quite interesting), I wouldn’t trade them away for anything, because they help ensure that all spying that happens can be democratically regulated by those who are spied upon.
How are these anymore "home grown" than the AWS equivalents?
cloud sql offers a single version of mysql
aws rds has multiple versions of postgres, mysql, oracle, mssql and aurora
One-click deploys for Kafka and Postgres: https://console.cloud.google.com/launcher/details/bitnami-la..., https://console.cloud.google.com/launcher/details/bitnami-la...
New hires, even at the exec level, usually don't have the social capital to make huge changes. So they usually tie in to an existing sentiment.
Bandwidth cost is the primary reason I'm afraid of hosting side projects on AWS/GCE.
AWS/GCE charge for actual bandwidth usage, which means that everyone uses exactly what they pay for, and the folks who use less bandwidth don't subsidize the folks who use more.
The article is pretty clear on what's she's done so far. There's no denying that they have a lot of work to do but if you're actively using the platform then you'll notice that there has been a lot of change in just a few months with them, which should all help to increase that customer number.
> Enterprise-app developers can tap into things like Maps, Google's computer-vision engine (the tech that powers Google Photos), weather data, and language/translation/speech recognition. They can build apps on top of Google's Calendar, documents, spreadsheet and presentation apps.
> And, under Greene's new integrated organization, they can even tap into the tech that powers Google's ads or YouTube, search, or its many other services.
Probably a good time to reshare the famous Yegge rant about platforms: https://plus.google.com/+RipRowan/posts/eVeouesvaVX
She left VMware in 2008, that's only two years after AWS launched and two years before Microsoft Azure. Maybe with the benefit of hindsight "cloud" seems like an obvious next step but I imagine it wasn't as clear in 2008ish - even Amazon didn't move its retail operation to AWS until two years later[1].
[1] http://www.slideshare.net/AmazonWebServices/2011-aws-tour-au...
> This service can only be used for business or commercial reasons. You are responsible for assessing and reporting VAT.
whereas Amazon don't seem to stipulate that (at least not explcitly, there might be something in their t+c's) and they deal with all the VAT stuff.
Oh well.