Hacker News new | comments | show | ask | jobs | submit login
Spotify moves its back end to Google Cloud (spotify.com)
715 points by dmichel on Feb 23, 2016 | hide | past | web | favorite | 381 comments

What Google Cloud needs is a better sales story. AWS consistently beats out Google in this respect. This story is welcomed and there should be more success stories published like this.

My business is a heavy GC user (AppEngine, Datastore, CloudStorage, BQ, ComputeEngine, ManagedVM) and I couldn't imagine achieving what we have achieved in such a short amount of time on any other platform.

We (myself and another guy) started at zero and shipped our product in 3 months on what is effectively an infinitely auto-scalable platform where we don't have to do any devops or carry a pager. I'd much rather work on features than chores. =) 4 months later and we've had profitable growth and zero downtime (knock on wood) and we're hiring.

Thanks Google!

I've been relying on multiple Cloud offerings (including PaaS, IaaS etc) outside Google for many years, but for some unclear reason, I cannot manage to consider Google a reliable partner for a type of hosting or another, at this point.

I would love to be proven wrong really, because I often look at their GC offering, and I /really/ want to dive in, yet I feel that I would risk having to migrate quickly in 2 weeks at some point because they are changing things significantly (either shutting down or other major change).

So to my question: for how long have these services been around in a fashion that is stable (feature-wise, quality-wise etc)? Is there anyone here with a longer history of using Google Cloud offering, able to comment on this?

EDIT: thanks to everyone who replied below. I think I'll give it a try :-)

For Google Cloud products that have made it to General Availability (GA), we have a one-year deprecation policy (https://cloud.google.com/terms/, Section 7.2). That is, if we're going to make some big change, we give you a 1 year heads up.

Disclaimer: I work on Compute Engine, but I'm not a lawyer ;).

Promises to do something for a year which you can change or withdraw after 30 days are really promises for 30 days:

"Google may make changes to this Agreement, including pricing (and any linked documents) from time to time. Unless otherwise noted by Google, material changes to the Agreement will become effective 30 days after they are posted, except if the changes apply to new functionality in which case they will be effective immediately. If Customer does not agree to the revised Agreement, please stop using the Services." https://cloud.google.com/terms/, Section 1.7b

Also, Sections 13.1-13.3 means even though Google promises nt to do something, you really don't have any recourse if they do it anyway and cause you damage.

Although in the grand scheme of things, not the worst terms of service document I have read. The mere fact the drafters addressed the issue is worth ... something.

Disclaimer: IAMALBIANYL.

> Disclaimer: IAMALBIANYL.

I like that one. :)

I have a question though, is the prevalence of taglines in any way related to legal requirements? Do you have to stipulate that you aren't a lawyer when stating things because otherwise people to construe it as legal advice, or is it just a fun little identifier of how valid we should consider information to be (like it is in other acronyms of the same type)?

I think it may stem from laws and rules related to practicing law, but there is certainly not any "requirement" to stipulate you are not a lawyer when speaking about legal things. However there are a few things to be mindful of: In the (all of the) United States (and many other countries) the profession of lawyer or attorney is regulated and requires a license to practice as such. In many places to practice law without a license is a criminal offense. Obviously this doesn't contemplate criminal charges against a group of people spouting off about something legal related on the Internet (otherwise we would have to jail perhaps 80% of reddit), but providing legal advice and interpreting the legal effect of contracts, statutes, or regulations is part of the practice of law.

The reason we heavily regulate the practice of law is similar to the reason we heavily regulate the practice of medicine. If you screw something up, the consequences can be bad. If someone takes your advice thinking you know what you are doing, and you are wrong, that person can end up a lot poorer or even in prison. (Though some will argue we regulate it so lawyers can be the only ones charging high fees for legal advice!) Just like one probably shouldn't go around telling folks not to worry about their incredible chest pain and shooting arm pain unless they are a trained medical doctor, the same could be said for those that go around offering home spun legal advice.. ("Yeah man, if you ask the undercover cop if he is law enforcement, he HAS to tell you! Otherwise it is entrapment man...")

Also the reason you always see lawyers preface everything by saying "I'm not your lawyer.. This isn't legal advice... Yadda yaddda yadda" is because once there is an Attorney-Client relationship a lot of stuff happens. The lawyer has a host of duties to the client, from confidentiality, to competence, and many others. That obligation isn't taken lightly and many times if there is any doubt whatsoever whether or not there is an attorney-client relationship, the law will find in favor of one because --- well -- the lawyer should know better. Therefore lawyers will make it annoying clear they aren't your lawyer before spouting off some deep legal thoughts about whatever the topic of discussion is.

It may have started as an ass-covering move, but I also think of it as a common courtesy for letting people know that you're offering non-specialist advice and to take it with a grain of salt.

I kind of wish people did that for more things: "I am not theologian/windows user/empathetic person, but..."

Great answer. Has the acronym "IANAL" ever been tested in court in such a way, to your knowledge? Now you have me curious, and that'd honestly be quite amusing.

Ha! Interesting question. I just ran an all state/federal Westlaw search for "IANAL" and didn't hit any case law. Two or three briefs, a couple of scholarly articles, but no court opinions. I also searched for "I am not a lawyer", but that brought up about 130 caselaw hits which seemed to primarily be references to various filings by pro se parties actually saying in a court filing "I am not a lawyer".

That lines up with what I assumed, and the last paragraph is specifically what I was asking about (not the IANAL case so much as the opposite). Thanks!

Is this really how it works? I guess you have to go to court to find out, but I always thought of it this way:

If I have the same policy (support for 1 year) and I change the contract - the change will only take actual effect after 1 year.

I mean, I'm contractually bound today to provide support for 1 year from today, no? Am I just rambling, or does it make sense?

That's pretty eye opening. Curious if you have looked at AWS with a similar regard, are they any better?

Not any better, arguably worse:


"We may change, discontinue, or deprecate any of the Service Offerings (including the Service Offerings as a whole) or change or remove features or functionality of the Service Offerings from time to time. We will notify you of any material change to or discontinuation of the Service Offerings."

"We may terminate this Agreement for any reason by providing you 30 days advance notice."

"We may modify this Agreement (including any Policies) at any time by posting a revised version on the AWS Site or by otherwise notifying you in accordance with Section 13.7..."

Ha, yikes! Thanks for the highlights. I'm guessing Azure has similar (or any IaaS company) leaving us to basically go on trust of the company to support their offerings long term.

Google seems to be facing a trust problem here that its competitors don't, due to its history of shutting down popular services, even those that were being used internally and even those that it had been recently hyping to the press. Due to this unusual context, perhaps it would help if Google were to increase this promise from 1 year to 10 years (or 5 years or 3 years).

Yep. Their trust problem is also very well earned both from the APIs they've killed/changed and from the long list of Google products in the graveyard.

They've killed APIs/Products, but they've almost always given a very long amount of time to transition.

Also have killed APIs/Products that are extremely difficult to transition from with short notice. For example, they gave ~4 months for the Google Wallet for the web transition, and no data portability for businesses with users on subscriptions.

Stripe, for example, has a data portability clause that allows you to move card data to another payments processor that meets some compliance standards.


Regardless of if you get 4 months notice or 1 year notice you still have to do the work to migrate and you're still stuck with the sunk cost of investing in/learning a doomed platform.

That's why I wouldn't build a business on Google, because they have a long history of killing things when they aren't wildly profitable/successful. A $10m/yr profit product is considered a distraction of valuable engineer time unless it has some ulterior goal for the company.

And I'm not saying they should change -- they do what's right for them. One engineer working on some distraction project could instead be moved to ads quality and end up making a change worth anywhere from hundreds of millions/yr to billions.

But they can't have their cake and eat it.

Google App Engine comes to mind. I'm amazed they would kill of such a product at all.

Google App Engine isn't killed. It's still alive and new features are being added. What are you talking about?

The GP was probably referring to the huge price change that effectively killed it for many people.

On the flipside, API's like maps have had stable versions that are deprecated for years.

That's one of the few examples that hasn't burned developer trust. But it's still not a shining example -- there were times of price changes and rate limit changes.

Trust is hard to earn and easy to lose. No matter how much power/money you have at disposal.

This is good, but I wish Google offered the same policy for most of their other general cloud services.

The problem (I suffer from it as well), is that people naturally feel that the corporate offerings from Google will mirror the experience that they have with the consumer offerings from Google. And the big issue with Google's consumer offerings is that they seem to have limited to no support and that there is a very real chance that Google will just shut them down all of a sudden. This is the exact opposite of what you want in the enterprise space, where Service & Stability are paramount. Even though I know that Google's corporate offerings are treated differently, that little niggling doubt remains. Plus, Google really needs to hire some damn marketing experts to sell the features & benefits of their offerings and make them cohesive - they just have their stuff plastered everywhere.

> And the big issue with Google's consumer offerings is that they seem to have limited to no support and that there is a very real chance that Google will just shut them down all of a sudden.

Express has, IME, excellent support, and I haven't seen any Google product (consumer or otherwise) shutdown "all of a sudden".

The ones people point to as examples of Google products being shut down were shut down with very long notice.

I do think that there is a very loud group of people who like to raise the "Google's just gonna shut it down tomorrow" line every time a Google service is mentioned, but it doesn't seem to be based on any real history of Google being any more prone than any other provider to shut down services (consumer or otherwise) on short notice or without a migration path. Maybe that loud group represents a real and commercially-significant feeling about Google in the market and not just a small, loud group that doesn't real effect the market for Google products. But I don't know what you can really do with that, even if it does.

This is also my impression of Google compute offerings, but it's also my impression of AWS offerings.

I mean, when people think of AWS services, do "service and stability" really come to mind? IME it's impossible to reach a person unless you're a multi-million-dollar org, and Amazon itself tells customers that AWS services can go down at any time and it's up to the customer to architect the application to deal with it.

If I had to peg a reason AWS gets treated differently in the marketplace, I think it's probably some combination of a) AWS was first to market, and b) AWS revenue seems materially important to Amazon, while Google Compute revenue is a rounding error to Alphabet. Therefore, Amazon has a lot more incentive to keep, maintain, and grow AWS.

I can't comment on Google, but we pay for AWS business support ($100 per month currently) and we can raise as many support tickets as we like and get nearly instant access to an engineer. Also, the quality of the support has been amazing. They have often gone out of their way to solve problems that are not strictly AWS problems (e.g. MySQL tuning, network issues, VPN questions, etc) without ever questioning it. Our account manager is easy to reach and through him I can get access to solution architects who are happy to advise on pretty much anything. There are also frequent invitations to AWS events, where SAs and account managers are usually keen to meet up and discuss projects. I know this is enlightened self-interest on their part rather than altruism, but it's definitely to our mutual benefit. When pushing to trial AWS I often encountered this view within my org (that is was large, faceless, and inhuman with poor support) but the experience we've had has dispelled that myth.

> IME it's impossible to reach a person unless you're a multi-million-dollar org

I am sorry to hear that, but I can assure you it's not the case. I'm an engineer on a newer (and therefore smaller) AWS service, and I help investigate customer complaints, from customers of all sizes, all the time. I'll also note that not only do we handle cases that come in via our paid support, we also do deep dives for customers who post to our service's forums and indicate issues.

My experience with AWS has been exactly this. I had a Cognito question/issue on IOS that I posted to stack-overflow and got a quick response from an engineer at Amazon. Also I posted a support ticket (zero paid support) to increase my sns API calls limit (which didn't end up being required because I was doing it wrong) and they got back to me over a few days to a week.

On the other hand, Google takes my Android app off the play store with next to zero details on the reason why and I have next to zero methods to contact them. The only way I was able to get my app back was to remove features via trial and error to determine what part was infringing. Why would i partner with Google again for hosting?

You are comparing 2 very different products. Now if you were comparing play store support to Apple App Store support they would be more in line with each other. Or Googles cloud offerings to AWS.

Play is a low margin business per "customer" compared to cloud. This has direct impact on the type of support you can expect.

They have reasonably priced support plans that give you access to a person: https://aws.amazon.com/premiumsupport/

That's pretty much exactly what my perception is. Add to that, you're account gets shut down and/or frozen without warning and only a kafka-esque system to find out why you were shut down.

It makes sense that isn't true but I have to admit it is what comes to mind.

Anecdotal: AppEngine deprecated their Master/Slave datastore[0] in April 2012, and it was actually shutdown on July 6, 2015. So that's 3+ years to move to newer tech.

[0] http://googleappengine.blogspot.com/2012/04/masterslave-data...

Also worth noting that Google built an automated tool to handle the M/S to HRD datastore migration for you. It was remarkably painless.

I really struggled around 12 months ago. Lots of weird errors and it took down the service unexpectedly when trying to stage it.

Really made me regret going with app engine a few years ago.

Painless eventually; the first versions didn't work at all, at least on the project I was involved with. Fortunately by the time you had to switch, it worked very well.

Being first to migrate to the hot new infrastructure has never worked out for me in any project.

I was mildly annoyed that I had to spend an afternoon "migrating" my app from the M/S datastore, even though I never used it in the first place.

I have been running my website on AppEngine for 6+ years now. No problems at all.

Thank you obulpathi and glad to hear this. Can you also take a look at our new docs here:


and let me know what you think? This is an iterative effort of course, so more changes to come. Thanks again!

I should add, I've been on top of AppEngine for about 4 years now. This is my second business on it.

I wonder how big you'd have to be to get a real SLA from Google, Azure, or AWS. I imagine 25% off your hosting bill doesn't really cut it for those companies running millions of dollars in revenue through it.

I've had admin on an account that did about half a million USD on AWS monthly in the past; we cut it down a lot by expanding physically and going in hard on reserved instances, but my view into things started around there. I'm unsure if we ever attempted to negotiate a SLA, but we paid for premium support just like you (despite having a dedicated, and great, sales rep) and got kickback credits from the general SLA policy[0] just like you. Nothing special.

If anybody has a special deal, it's probably Netflix. I suspect even half a million monthly is a smaller account to Amazon.

[0]: https://aws.amazon.com/ec2/sla/historical/ specifically, not the current (better) one

The main reason I tend to shy away from GC is that it's blocked in China. AWS isn't (which also means Heroku isn't blocked since Heroku runs on AWS, so I use AWS for IaaS and Heroku for PaaS).

If you plan to offer multi-lingual content, anticipate having viewers in that part of the world, and your content isn't something they would be interested in blocking, it's just a practicality worth factoring in.

Another reason is that I find the GC console a mess. I had to simultaneously use two versions of the console to get different tasks done; they didn't have one console that had all features of the system. Heroku was a lot cleaner and easier to navigate in this respect.

On the contrary, GC is NOT entire blocked in China. Some of the Google services (including GC console / dashboard) are indeed blocked but GC's IP address pool and the applications running on GC does seem to be accessible in China.

My company is running mostly on Google Cloud and I had just returned from a trip in China where I've verified it.

In my experience (3 months in Shanghai at the end of last year) AWS does occasionally get blocked or severely slowed down in China. I'd say it was inaccessible about 5% of the time (for significant periods of time).

You can of course run in the AWS Beijing region which requires you to have a Chinese business presence with a ICP license.

It'll be interesting to see what happens now that Google is expanding its presence in China [1]. I ran into some Googlers on the Maps team while in Shanghai - not likely a coincidence.

[1]: http://www.bbc.com/news/technology-34698642

The old App Engine / API / Admin console era is over. All tasks have been migrated to https://console.cloud.google.com/ including some of the last App Engine specific administration things.

Slightly off-topic, but not too off-topic question: Does GCE have a text format for its configuration?

My pet peeve with cloud services and their web-based admin GUIs is that you have to use the GUI or the APIs to do anything. You can't capture the current configuration and then replay it if anything is misconfigured. You can't save or restore the config. You can't diff the config across versions. Most SaaSes don't even have audit logs, or if they do, they're too minimalistic to provide the ability to get a lot of detail or roll back anything.

My wish list item is a kind of "Puppet for GCE". I write my manifest, push them to the cloud, and stuff happens. If something isn't mentioned in my manifest, it gets deleted. Truthfully, I don't want to use a web GUI at all.

At the very least there should be a way to do an inventory of an account. Recently I needed to take over an older AWS account, and I wanted to find out what was in it — instances, load balancers, buckets, and so on. It's virtually impossible to do this with the management console since the ontology of possibly configurable objects is so huge and complicated, and pretty much everything has a computer-generated hash instead of a human name, so I was surprised when I couldn't find anything.

In (most?) places throughout the web-based console you can click a little link to show you the REST API equivalent of your resource (whether it's an instance, a disk, or a command you're about to do). You might be able to make the job of "exporting your infrastructure" somewhat straightforward from those, though I think I'd personally just write against the handful of APIs in Go. All of our newer offerings (meaning GCS, GCE, etc.) have really sane object models that just map directly to a fairly obvious, autogenerated struct in the Go client library. Here's the struct for an Instance:


Thanks, being able to see the API call for a resource is a nice convenience.

But part of my point was that while you can code together something with APIs, you still need to write the diffing and converging logic to accomplish what I suggested. For example, if someone has gone through the console and added something, so that you now have a conflict, you want to be able to resolve the conflict. First by either accepting or rejecting the conflicting change, and then, if you rejected it, remove it as part of the next push.

Check out Deployment Manager...I think it has what you're looking for.

(I work at Google but not on Deployment Manager)


Perhaps you want to look at something like Hashicorp's Terraform (https://www.terraform.io/) which will do most, if not all, of what you're looking for.

That's exactly what I was looking for, thanks! Only feature missing is that it apparently can't dump an existing setup to file; looks like you have to write them from scratch.

One of the reasons I avoid Google is because they have taken lot of pain to make their customer care totally suck. I mean even IRS and Comcast support does better compared to Google.

I published a very critical release to my Android app few weeks back and realized that it was not getting published at all. It took me a month to get the problem resolved.

I don't want to buy a cloud service where the support might be nothing more than bunch of "Help yourself" pages.

Spotifier here. One of the big risks that we identified with the Google partnership was exactly this: Google isn't exactly known for awesome customer service.

We've been very pleasantly surprised. The cloud team has been pretty awesome to work with, including lots of engineer<->engineer contact, walk-throughs of systems and code for critical dependencies, and solid support and collaboration. Exceeded our expectations.

We are much smaller, but also use the Google paid support.

I'd echo the sentiment here: my experience of the paid support for GCP has been universally excellent across Compute Engine, App Engine, BigQuery and Cloud Storage. This is across 30ish tickets, some of them quite complex.

I use the lowest level of paid support, I think it is the silver plan, and have observed similarly high quality levels of support. Sometimes you get a lower level support dude and have to convince him that your issue is real, but overall the support is good.

I am not surprised. Spotify is a big company. The question is will it work exactly same for Joe's Inc.

I think latchkey at the top of this thread is precisely "Joe's Inc".

Yes, that is the way we started out, but at this rate, if we do it right, we will be a moderately big company by the end of the year. =)

We offer paid support for Cloud (http://cloud.google.com/support) that let you trade off responsive time (e.g., 4 hours vs 1) for price.

The support personnel (and engineering!) also do best effort scanning of Stack Overflow, Server Fault, and per-product mailing lists. You can get links to those here: https://cloud.google.com/support/#community.

Disclaimer: I work on Compute Engine, but not in Support (though I do jump in and support customers!)

Did not know about this. To me, Google has a terrible reputation when it comes to support and keeping products with large numbers of users running.

Edit: (posted too soon) my main concerns with putting anything on GC are around support, continued support / long-term commitment to the platform, ease of switching (App Engine was a very bad on boarding experience for me when I tried it a few years ago and required lots of GCE-specific ways of doing things in the code), and pricing differences that might make it cost way more in subtle ways to run a thing on GC.

I think it'd be good for Google to start fixing their story around support and commitment to products with everything else under the Google brand before people will be wanting to risk their infrastructure with that brand.

What kind of support am I going to get if I'm just tinkering with the platform? Maybe I'm just used to AWS but I always found the GCE interface (at least for launching VMs) a lot more difficult to use.

Sorry to hear that. Is there something specific about our current console you find hard to use? Perhaps I'm used to both (and I'm biased) but I like our create instance page just fine.

Like I mentioned above, we do have active communities on Stack Overflow, per-product mailing lists (in this case https://groups.google.com/forum/#!forum/gce-discussion) and Server Fault.

I'll have to try again. The last time I tried to use GCE I had to create some kind of linked project before I could even start to create a VM.

So, you ask your paying customers to pay extra – not to get support, but to increase the chance of getting support in time?

That’s... an interesting business model.

Paying more for more support cases or more urgent responses is standard practice for support plans. For example, here's the AWS Support comparison page:


which has similar tiers of support.

I agree that Google Cloud offering different response times for different support tiers is consistent with the industry at large.

That being said, Google Cloud support is overly expensive. $150/month Vs. $49/month for AWS Vs. $29/month ($174 minimum commitment over six months) for Azure.

I wish all them had a "per issue" tier. I want to pay for a single ticket/resolution. But at least Google Cloud and AWS don't have a minimum commitment period like Azure (even if Azure is cheap per month).

I'd likely rank them:

- AWS is best (alright price with no commitment).

- Azure is next (amazing price but lame commitment).

- Google Cloud is worst (high price, almost as much as six months at Azure!).

And before you tell me that they offer different things at those price points I DON'T CARE. All I care about is the minimum amount of money I have to pay someone to look at a technical support ticket for me. I don't care if it takes 1 or 48 hours, I just don't want to pay a lot. If I cared about responsiveness I'd be buying the gold plated support with telephone agents.

Google Cloud's $150 to look at one ticket thing really puts me off the entire platform.

> That being said, Google Cloud support is overly expensive. $150/month Vs. $49/month for AWS Vs. $29/month

Your basis for ordering is their support prices which is just a tiny tiny fraction of Cloud infrastructure pricing. Google Cloud is 50% cheaper compared to AWS. Which is huge. Also, thanks to ease of use (Cloud Shell, SSH from browser ..), Google Cloud will save you lot of man hours.

Also talking about commitment, you need to commit for 1-year / 3-year usage of resources and pay partial or full bill in upfront for discounts. Google beats those prices without any commitment.

Let's compare the Cloud providers on these factors.

Let me get this straight, OVH – which is known for bad support – provides the same service for free that AWS provides at 49$/month?

That’s surprising.

They have a paid support service that is actually pretty good.

It sounds like you're avoiding the generic Google in the same way you'd not buy something from Amazon vs. using AWS.

As I said Google's reputation is what made me not even bother to try. We all know that AWS and AZURE both are state of art and very competitively priced. If Google wants to beat them they have to win the perception war too. (OR reduce prices substantially).

I don't agree that AWS and Azure are actually competitively priced with Compute Engine anymore. Following our price cut last May and our custom VM shapes, we're often 40% cheaper:


that's a massive lead (and it's sadly not commonly known). So I agree with you, we need to do better in the perception war, but Compute Engine is hands down the leader in cloud pricing.

Disclosure: I work on Compute Engine (and care a lot about our prices).

GCE pricing is great but GCS is not. It is much more expensive than S3 or cloudfront (2.5x - 1.3x) when you consider per request costs. I have brought this up a couple of times on HN to Google cloud employees but nothing has changed.

1. https://news.ycombinator.com/item?id=10442654 2. https://news.ycombinator.com/item?id=10187600

Other problem areas for GCS compared to S3/Cloudfront

1. SSL support for custom domains in GCS is lacking. 2. Also SSL does not work for domain-named bucket when using <bucket>.storage.googleapis.com/<object> form. You can only use https://storage.googleapis.com/<bucket>/ This makes using SSL for a static site hosted in SSL very difficult because you can't use relative URLs. Cloudfront has solved it by using URLs of the form http(s)://xxxxxxx.cloudfront.net/<object>

That's fair, our native egress pricing is higher. We've chosen to partner with folks like CloudFlare for what we call CDN Interconnect (https://cloud.google.com/interconnect/cdn-interconnect) although this was a somewhat recent announcement.

As far as GCS pricing goes (rather than egress), I think we've been more cautious on the "cost per op" but really led again on cost per byte. This was especially true when we launched Nearline, triggering AWS to launch S3-IA (but with lots of caveats like small files and still a 25% higher base rate).

While not integrated directly into GCS / GCP, does going through CloudFlare alleviate some of your concern?

CDN interconnect is just a bonus :). I prefer GCS having competitive pricing and features since it will be one fewer service to manage.

Also cloudflare is a bit confusing. We only want to serve assets and we serve 3TB per month and I'm not sure if cloudflare is OK with that usage in its free tier option.

I think CloudFlare, Fastly, et al. are all happy to have you serve 3 TiB per month. Their hope is that you grow and upgrade to their paid plans one day.

Disclaimer: I work on GCP. AWS and Azure are not price competitive with GCP, we're routinely seeing a a 40% advantage. Check out HTTP://cloud.Google.com/pricing/tco

Seriously, go and talk to your marketing guys ... Everyone comes out better if there is a third horse in this race, but Google needs to step up your marketing etc. AWS has a massive presence in terms of conferences, documentation and mind share. Azure has a massive sales team that are offering huge discounts to buy business. Google has ... what exactly?

Yes, compare this to a typical Amazon high quality blog post: http://googlecloudplatform.blogspot.com/2016/02/Google-and-R...

You have no idea what is actually being offered after reading that. Is it a managed service, a recommended configuration of what.

Almost every Amazon blog post includes a walk through on how you actually use whatever they are talking about. To be fair, this post does link to more documentation, but it's general purpose and describes a variety of solutions.

Our Google hosting costs are a rounding error compared with our revenue. That's all that matters. Build business that make money.

AWS is often competitively priced, but Azure is usually around twice as expensive.

So what you are saying is basically that you are not doing your market research properly, instead depending on irrelevant anecdata?

I've had problems with their customer support. It got to the point, I just gave up, and left my videos on YouTube. (My problem was that slick move they made when they bought YouTube, and messed with the login names.)

I just try to forget they are up there. I got to one person at Google, and when they realized I didn't want to advertise, it was "Go to the help boards. I don't deal with that stuff."

Do I still use their products--yes, but don't trust them like I used to. I usually avoid customer service like the flu virus, but thought Google would be different?

I guess they are big enough to not care?

(Tedious disclaimer: my opinions only, not representing anybody else or my employer. I work at Google, not on YouTube)

There is a big difference between paying for one of the support offerings, versus being a free user. The status of free users is approximately: free access to the product but no support. If you want customer service then you need to open your wallet.

It's important to separate "I think the support was bad", which would be very interesting to a lot of people who work here, from "I didn't pay for the product so I didn't receive it". Did you pay for support?

> infinitely auto-scalable platform where we don't have to do any devops or carry a pager

You never know what you don't measure and test

One of the big advantages of Google Cloud platform is "Scalability".

Load balancers: Scale to millions of users seamlessly. No warming up, no tickets, ...

PubSub: You can send the whole Internet 10 times in a day through it. Google does that every day

Big Query: Its equivalent to spinning up a 100+ node cluster in a matter of seconds and it can process data at speeds of GB's of data per sec, I heard couple of use cases where the user was able to process at ~ 50 GB/s

Kubernetes: 1000's of nodes running 100's of thousands of containers.

Can't beat that!

Sounds expensive when no one is looking at how the magic works.

> You never know what you don't measure and test

Funny you should mention that. :) I work at Google on PerfKit Benchmarker (https://github.com/GoogleCloudPlatform/PerfKitBenchmarker). Not only can you measure and test GCP (and other clouds), but we're trying to make it very easy for you to do so!

(PKB doesn't have a benchmark for App Engine yet, though. Sorry.)

Speaking for latchkey here (I'm the other guy), we routinely run several-thousand-qps batch jobs. Scalability is not an issue.

Are you implying that we don't measure and test? We do and I'm very happy with the results. =) StackDriver, Google Cloud console, Intercom, Mixpanel and Pingdom are all being used as well.

If that's the case then you might actually be "doing devops". If pingdom is notifying you via sms then you may also be carrying a pager.

Touché -- That said, we don't have pinggom tied to SMS, just email. =) Pingom is just an external tool for us to graph uptime from other parts of the world.

If we're down there is plenty of other alerting to notify us (mostly through Slack). That said, there isn't much we can do other than wait for Google to fix it.

It is part of the trade off that we have to consider, I'm paying Google for devops instead of paying a team to do it for me. If you've ever had to hire a 24/7 support/devops staff, it is a much easier hiring proposition to just rely on Google to do that for us.

> That said, there isn't much we can do other than wait for Google to fix it.

IE. "Cloud ops"

Indeed, I do wish we'd stop with all of the verbal gymnastics and just say we're doing ops correctly. "We don't do ops" usually means "We don't find ops to be troublesome because we do it correctly". No group of people needs dedicated janitorial staff if everyone picks up and dusts occasionally. Of course, you know what this implies.

You also forgot to include a link to your hiring page in your website, too bad you're not hiring remotely https://angel.co/gearlaunch/jobs

I want to see your lovely face in the office every day. =)

Man, you should consider remote options at least for the Customer Success given how low you're paying (is $50K really livable in San Francisco?).

If you think it's hard to live on $50K salary in San Francisco you should think about how everyone else in the service industry supporting all those tech workers manage to live on minimum wage or barely above that. Think about the people serving lunch, or making coffee, or cleaning offices, etc. Where do they live and how can they afford to be in the city every day at less than half of $50K per year? Working remotely isn't an option for them either.

If it's truly prohibitive for a single person to live in SF for $50K per year then we should be really concerned about the families that earn $50K from two minimum wage jobs, and need to support 1 to 2 children on top of it.

This may shock you, but yes, it's livable. Many people live on $50,000 or less everyday in San Francisco. It may not be a standard of living that we as engineers are familiar with, but it is not poverty either. It's not a salary you'd want as a household income with dependents, but for an individual it is fine.

I live in Spain and am very frugal, so I haven't experienced first hand the high cost of life in SF, but if someone has to spend $1000 on the rent, there won't be much left from the salary received.

Also the job in question is "Customer Success", and consists in interacting with customers "through phone, email, and live chat" (from the job description). Those can very well be done remotely.

> Many people live on $50,000 or less everyday in San Francisco.

And many more people live on $50,000 or less everyday working in San Francisco, but commuting from somewhere else in the Bay Area with lower costs.

You can't afford rent in San Francisco at $50,000 a year, period. The going rate for a single bedroom (usually with no tenant's rights) is somewhere around $1,200 a month, well over 30% of your monthly take-home at $50,000/year.

If you're going to force people to move to the Bay Area to work for you, you need to pay them enough to afford it. Good luck hiring though.

just playing devil's advocate here but since when do you NEED to spend less than 30% of your take home on rent to survive?

There are people out there paying 50% or more of their take home on their rent/mortgage I imagine - it's just not really considered to be wise move in most cases. 1200/mo for a 1 bed doesn't even sound that bad for what's supposed to be the most expensive city to live in America. I know people in DC who spend 1800/mo on a studio and that's pretty average. You could easily share a room and cut your rent in half if you were smart/willing.

That's $1200 for a bed in a shared house, not a 1 bed apartment, which goes for about $3300.

Wow, that's expensive.

>since when do you NEED to spend less than 30% of your take home on rent to survive?

While on one side the 3x rent rule might be just "good sense", most places won't consider you if your salary (or the salary of all tenants) isn't 3x your rent.

just playing devil's advocate here but since when do you NEED to spend less than 30% of your take home on rent to survive?

That seems to be one of the common and very popular requirements to even have your lease application put aside for consideration, that being income must be 3x the ask for rent. At least this was the case in Austin proper (i.e. inside the city limits, and inside the I-35, Mopac, 183 and Hwy 71 box), I saw similar requirements when helping a friend scout for a place in SFO.

When I was looking for a place I found a landlord willing to negotiate and haggle on the deposit since my income wasn't 3x the rent ask. They took a larger deposit, I signed a lease, wasn't late once.

As with everything, YMMV.

> since when do you NEED to spend less than 30% of your take home on rent to survive?

Yeah, that's the same question every scumbag landlord in America started asking themselves a few years ago when demand for rental units started going up.

You don't "need" to spend less than 30% of takehome on rent. If you assume you're going to be running in a treadmill your whole life, and you're satisfied working for subsistence only, then sure, go for it, blow half (or more) of your paycheck on rent. Lots of people in San Francisco and other expensive cities do this.

If you have life goals that don't involve being stapled to a desk forever, it's probably not such a good idea.

The discussion is living on entry level job salaries. Life goals shouldn't come in to the equation because one of those life goals should be "don't have an entry level job for your entire life"

My rent in Los Angeles for my studio apartment is about 43% of my monthly take-home, and that's sub-$1000. I'm not saying it's easy, but it's definitely liveable. I don't often have to /worry/ about money... I just am also not saving anything.

So you're deferring your worry?

You can quite comfortably live on $35k a year after rent, if you're a single person supporting just yourself.

I managed to spend 3 years at university living on less than that. I've just spent the last 3 months interning for NZ$20 an hour (~$40k a year), much of that was spent paying about $260 a week for rent (paying rent for 2 places due to contracts). I managed to get along just fine.

Cost of living-wise, where I am isn't radically different from SF.


I really don't see how you can't live for $4160 - $1200 = $2960 a month? Heck, I could live on $500/month easily (after rent and taxes), if I wanted (as far as I'm aware, living costs are a lot cheaper in the US than were I'm from). That would make my yearly salary $20.400 (ignoring taxes, since I don't know what the rate for US is).

$50k is livable, but on the other hand you have to live In a city full of people who don't shut up about the Internet. I'd say that's a definite net loss.

net loss -- see what you did there?

I survive on ~$35k post-tax in SF. Though I make more than that.

...and I'm assuming you've got some killer rent control, or some other non-scalable, non-replicable housing situation. That's neat for you, but it's meaningless to anybody else.

I signed the lease in the past two years. So rent control has kicked in once. I have a room in a shared apartment. There are plenty of open rooms on Craigslist for similar rents. I'm not saying life will be great but it's entirely possible to live in the city on $50k/yr.

Most adults do not consider having a "room in a shared apartment" to be adequate. A living wage allows you to rent/mortgage a place of your own. What I'm hearing is that $50k is not a living wage.

You're out of touch. It might not be common for families, but it's very common for young adults to share an apartment. And you're trivializing what activists are trying to do when they talk about making sure people have a "living wage."

As an only slightly older adult, let me assure you that after years of petty arguments, no-fault evictions, playing Craigslist roulette for new roommates, sitting in massive group interviews to compete for a room, other people's animals ruining your shit, etc. ad nauseum, "a room in a shared apartment" will stop being an acceptable option. I never thought I would get there either. Just give it time.

Depends on your standard of living. A studio apartment there goes for around $2500/month these days with no parking or utilities. Agreed that remote would be a nice option.

Paying $2500/mo for rent alone on a $50k salary is crazy.

That's why no one does it. They have roommates

As a grown adult, having roommates is not really an acceptable situation.

> As a grown adult, having roommates is not really an acceptable situation.

I know plenty of grown adults that have roomates, because they prefer the quality of accommodations they can afford that way to what they would be able to afford without them. (And not even in places with Bay Area-level high cost of housing.)

If it is unacceptable to you, that's fine, but don't pretend it has something to do with being "a grown adult".

What do you count as an adult? I was the weird one by having my own place. Every 'adult' I know had roommates until they found an SO and moved in together and/or got married. These people all made enough money to live alone, but preferred spending money on other things. I also do not live in a super expensive place. A 1br apt. goes for ~1200 in the trendy spots.

Roommates in a "studio apartment" (i.e. one big room)? That's... not great.

Sure ... but hopefully not in a studio apartment (as per OP).

It's a real stretch to say 50k is a livable salary in most of the bay area.

and/or they live in the East Bay, where rent is still much more affordable.

Is $1,500 much better?

Um yes? It's $1,000/month better

Much, much better.

A reasonable approximation is to target no more than 25% of your take home for housing, but you can probably survive closer to 50% for a while if you must. So for 50k, you're looking at something like $800 - $1600 being manageable. You'd be much better off near the other end of the range.

True, while other providers focus on DevOps, Google Cloud strives for NoOps. They should do more marketing on that.

Our company motto is that we will strive to never hire a devops role and will work to design and engineer our platform in a way that backs up that claim.

Are you happy with the performance of AppEngine?

I have tried it last summer and was quite disappointed. CPU-bound programs that completed in a few seconds on my own computer took about ten times as long on AppEngine despite similar nominal specs (GHz and RAM).

If you like the App Engine model, but want a "full computer worth of horsepower", you might want to consider our "Managed VM" environment built on top of Compute Engine: https://cloud.google.com/appengine/docs/managed-vms/

Disclaimer: I work on Compute Engine.

I love GCE. I really would like to see Node on it natively, without the need for ManagedVM. I tried it a while ago and did not want to deal with all of the Docker stuff. It was especially a pain on Windows. :(

Managed VM is still beta, I think only brave one could try beta for production.

We have been using Managed VMs in production for while now, integrated in a micro-services architecture, for non-essential, non-frontend services and are quite happy with it. Using custom VMs (Docker based) and work like a breeze.

Traditional App Engine is not particularly cost-effective for compute-intensive loads, but it works great for basic web workloads. If you have special needs, Managed VMs have the performance characteristics of the underlying Compute Engine node. We've found that App Engine is not "all or nothing"; it's the backbone of our app but we run services where they make the most sense (usually GCE).

In addition to all the excellent comments here. Let's not forget that the massive massive Snapchat runs almost entirely on Google AppEngine. So if AppEngine can handle their scale, it can handle most others :)

No longer true. It's all GCE now last I heard.

Where'd you hear that?

Not without risk of giving an argument from authority, your sources are inaccurate. As late as November of last year Snapchat was on stage talking about their broad AppEngine use. (I work on Google Cloud).


App Engine Product Manager here

Default AppEngine instance is only running at 600MHz. You can choose to pay for a faster instance:


App Engine expects your web apps to return almost immediately (in a matter of few ms). For anything that takes longer, you need to use task queues in App Engine. Or maybe try AppEngine Managed VM's?

App Engine requests time out after 60 seconds (that's 60000 ms).


(I work at Google, but not on App Engine)

They don't have to if you use Basic or Manual Scaling (Then they can run up to 24 hours).


If you run multiple modules at once (some serving the frontend, some for longer tasks w/task queues), you can have the best of both worlds and use different scaling options for each.

(I also work at Google, but also not on App Engine)

You could have done the same on AWS (source: I have worked at AWS for 6 years, and know GCP very well)

That is true. And, as Spotify found out, what Spotify does can also happen in its own Data Centers :)

Google does give an additional level of comfort - seamless scaling, No-Ops, powerful Big Data tools, flexibility.

I'm going to shamelessly promote one of my opinions on this topic when it comes to BigQuery:


> Google does give an additional level of comfort - seamless scaling, No-Ops, powerful Big Data tools, flexibility.

I'm going to bookmark this comment and come back to it when Google decides its getting out of the "cloud" compute business.

As someone who's been on Google Cloud for 2.5 years now and has seen the growth and the transformation firsthand, I welcome this bet.

Hmm, sounds interesting.

Why do you think they will do so?

Its not their core business. Google constantly exits businesses unless they explode in profitability. As someone who currently uses AWS, it would take an act of god for me to move over to Google Cloud, even if the tools were better and even with the cost of some services (nearline storage) cheaper than AWS.

I'm not just paying for a service. I'm paying because I know AWS is in it for the long haul.

This is great for Spotify, just as AWS was great for Netflix (considering both services are terrible at representing true workloads; they're both just control planes serving static content, videos or music). I don't see it dragging a ton of business into Google, just making their acquisitions easier for people who decide to start on GCP or migrate in.

Just my two cents.

> Its not their core business.

Its the heart of their core competency. Its not their principal mechanism for monetizing that, though outside of the core advertising business its also an avenue that they seem to have made one of the most significant, longest push to make a route to monetization, even in the presence of large, dedicated competitors (behind Apps for Work.)

Obviously, any insufficiently profitable business from any vendor will eventually be closed down, either voluntarily or by business failure, but Google Cloud Platform doesn't seem like a particularly likely candidate for closure on any timescale on which any existing cloud platform would be reliable.

> Its the heart of their core competency.

For "Google Scale" computing tasks. Not someone with tens or hundreds of virtual machines.

Would you have said the same thing about Amazon when they started AWS? "Data centers aren't their core business: retail is".

Yes. But, Amazon is known for their customer service, even in the AWS space. Google is not.

If Google wants to succeed in certain spaces, they need to commit to them for a duration, and evangelize them. I don't see them doing that anywhere as well as Amazon does with AWS.

Are they known for the customer service with AWS?

Anyways both companies provide SLAs, phone and email support, and consultation for a price.

AWS doesn't have AppEngine or the Datastore. Yes, there is similar products, but they are absolutely not 'the same'.

Is datastore tied to appengine? some parts of the docs say "datastore is for appengine" and other parts don't mention appengine at all.

It used to be but not anymore; you can use it separately now.

You seem to have forgotten to plug your product.

I'm sure you can figure it out. =)

I think he was ironic?

Your website is just a logo and nothing else, how exactly are you growing. What is your business model?

GearLaunch provides merchants with software that allows them to build and run online storefronts, and also manages production, logistics and customer service for all products sold. GearLaunch is the only e-commerce software provider to cover the entire value chain, enabling marketers to focus on marketing.


My experience with upper management is that Google isn't "serious" about their cloud offerings based on how much of Amazon's profit margin is tied up in AWS. It's an enragingly pointyhaired sentiment to deal with.

Who's upper management? As I mentioned in another thread, we acquired Diane Greene's company so that she would run Cloud and Apps at Google, back in November:


and Sundar (CEO) and Ruth (CFO) mentioned Cloud a lot on Alphabet's most recent earnings call. I'm not disagreeing that AWS is massively important to Amazon, but to say that Google (and Alphabet) aren't serious about Cloud is incorrect.

My clients' upper management. It's a common sentiment as you can see from other threads in this post. Google has a persistent credibility problem in the cloud services market. It drives me crazy (full disc: I'm a GCP certified engineer and I work 100% in AWS. I really miss AppEngine, BigQuery and Datastore.)

The only thing that is stopping us from having Google Cloud is lack of an Australian data centre. I'd love to be on Google Cloud, but requirements prevent us from doing so unfortunately :-/

Legal requirements? Internal company ones? Latency? ;)

Latency is a huge one for AU. With AWS in SYD you can easily cover BNE, SYD, MEL and even AKL. The difference from SIN or TPE is very noticeable. SYD to PER and SIN to PER is negligible.

I assume your business is GearLaunch? If so, why do I need to enable javascript just to see the landing page, which is just a logo...? I'm curious if this was intended, or a consequence of the framework you're using (e.g. Meteor).

Edit: It seems to be on purpose, with the use of noscript tags.

It is 2016 and ok to run JavaScript, the Internet works much better with it. I promise not to hack your flip phone. =)

It's 2016 and Hacker News, this very site, works fine w/o JS (except for search). That's how I'm using it right now. That's how I've always used it.

I can access most of the sites I routinely visit without JS. E.g. The New York Times works better w/o JS because it doesn't block articles or count how many I've read.

And I don't really care if you you will or will not try to hack me if I visit your site with JS on. There are countless other sites who will try exactly that, so why shouldn't my default be "NO"? And if it's not the sites themselves, it's the shitty ad networks they all use; I don't trust those at all.

IMO it's the epitome of hipster arrogance to display nothing useful to people w/o JS.

"hipster arrogance." Ha. I'm 42, got my first email address in 1991 and hardly a hipster. I own a fixie because I used to race on velodromes.

What is the word for people who use the internet in some purposely crippled fashion, just so that they can complain about things not working for them? =)

I run three browsers with varying levels of "openness". It just happened that I visited your website while using NoScript. Turned it off for your site, but I was only greeted by a logo. So my interest was genuine - not trying to be snarky. Why do you force JS to show a logo? And I also don't really know what your company does...

Better sales story AND marketing.

Look at the names themselves CloudStorage Vs Redshift/s3, ComputeEngine Vs EC2. Cookies vs. Oreo.

AWS service names are a brand in themselves while Google service names are too generic.

We internally use our three letter acronyms all the time: GCS, GCE, GAE, GKE (which itself is a pretty clever joke about the K being for Kubernetes).

AWS has Werner Vogels who is not a CTO but a tech salesman on every conference.

What's your product by the way?

According to his github it's https://www.gearlaunch.com/

Which still isn't very descriptive, sorry. We are working on a website.

Angel might be a bit more of a description. https://angel.co/gearlaunch

Anything more, feel free to contact me privately. =)

We are not stealth, but we also aren't the type of company that goes around pushing ourselves down people's throats. The people who are primarily interested in our product know about us through other channels.

That said, we are building the website out more really more from a hiring perspective. It is hard to hire people when all they get is a logo on a homepage. For now, just know that we are a startup that is actually profitable, building a great product that people want and we're growing like mad.

"profitable growth"?


Would you mind sharing with us what product you have shipped?

I just like to see what other people can achieve in 3 months of time, it's kind of a motivation for me :)

I'm on mobile so this initial response will be short:

AWS' core product is AWS. They do a damn fine job of providing this.

GC's core is "who knows what" - they do a damn poor job of even making an offering if switch thousands and thousands of servers to - let alone thousands and thousands of man hours.

Ironically, Google has massive domain knowledge of how to run infra... Yet clueless how to adopt and support and foster companies other than google.

It sucks.

But I've been in the business of fork lifting many people to aws, for all the reasons you'd expect:

Find me a single ops eng on the market who has done scale in GC? Nope.

EDIT: may I please have a rebuttal?

> Find me a single ops eng on the market who has done scale in GC?

Every user of appengine, for a start. You need to code to their datastore, but apart from that scaling is practically infinite - and completely invisible. We don't need to configure, provision or even * understand * load balancers or geographically redundant servers.

Concrete examples? The royal wedding website was served from appengine a few years back; I imagine you'd be impressed with how that scaled from nothing to phenomenal traffic loads and back again. And Khan Academy, Snapchat, and now Spotify ought to meet your definition of "done scale".

Wonderful response!!! Thank you, I'm not trying to be obtuse, I do want to understand who is doing what and where.

I also want to understand the cost doffs as a Well.

I hope that you see the irony of your argument in this thread :)

Honest request:! Please enlighten me..

I want to commend some of the Google Compute Platform employees that commented in this thread.

I was at AWS for 6 years (left 2 years ago... today!), and I've always been a proponent of being more open and communicative with developers, but it rarely happened - I guess that AWS' PR policy and such are a big showstopper for these kind of discussions. Although, some individuals did their best (e.g. Jeff Barr) to try to share as much as possible.

It seems that the Google guys know how to do it.

Keep doing it. It will help your business a lot.

The Google Cloud guys are always all over Hacker News threads whenever it comes up. I wish they had the same exuberance about their support tickets :(

> I wish they had the same exuberance about their support tickets :(

Is there a particular ticket (or tickets) you ran into trouble with? I can try to follow up.

My issue was resolved eventually (took about a month with one week lag in their replies and it was me who figured out what was going on, not the support).

It looks like the App Engine documentation was finally fixed. It used to say "If you do not specify a class, F1 is assigned by default." as recently as a few months ago. For a long time the default was actually F1. Then one day my costs went up unexpectedly. The default instance class had changed without notice (at least none that I ever saw). I didn't know that's what had changed though and I emailed billing support just asking what happened. Canned reply email after canned reply email with requests for tons of information they already have (including information I typed into the original support request form). They also had me take screenshots of my console (can they really not look up my information?). And sending me the canned emails takes a week for some reason.

I should probably point out this was billing support. I'm not sure if that's a different department or what but I'm pretty sure they have no idea what they are doing over there (or, at best, just don't have the time or interest to help smaller paying customers).

Thank you for taking the time to write up the experience. I can think of a few metrics that directly relate to what made it suboptimal. Google is pretty good at improving things when we have metrics we can measure directly.

That said, this falls into that category of things where I can tell you "I'll follow up with the teams involved" but it's unlikely I'll be able to say more than that (unless any result makes it into a public blog post or something).

I will do what I can, though.

AWS employees may not speak out very often, but they hardly need to. AWS is a marketing machine, from Jeff's regular blog posts, to the volume of free information they provide and to the conferences that they are running everywhere. I think Microsoft is starting to catch on with Azure promotions & conferences, but it's like Google didn't even know that the there was a race .... and they left their running gear at home.

For me personally[0], the difference isn't being able to speak in terms of marketing, but in terms of engaging with users who have problems. It may not translate to much in terms of run rate, but I like to think (or at least hope) the presence of GCP staff on HN, Stack Overflow, and in any other community we happen to be part of will in the long run pay off in terms of goodwill.

I am free to comment on posts about GCP here on HN. If there are workarounds, I can post them. If it's a bug I can comment as such and file it internally. I can express opinions as long as they're clearly marked as my own. I didn't have to take any training or end up on a whitelist; Google expressed their faith in my good judgement when they hired me. If nothing else, it was a morale boost to feel trusted to act responsibly.

At the other end of the spectrum, GCP has started building out in terms of large-scale engagement. Cloud has been a big part of Google I/O; now there's GCP NEXT as a Cloud-specific user conference: https://cloudplatformonline.com/NEXT2016.html. Building more in this space seems easier to me than a cultural change which encourages (rather than prohibits) customer and community engagement on the individual level, but perhaps I'm being naïve.

[0]: I currently work at Google on Compute Engine; I formerly worked at Amazon, although not on AWS.

This might be true but I think the issue is that many AWS employees actually want to speak out or respond to issues personally.

I used to work at AWS and the things we could say were very controlled. It could just be my team/managers though.

No, I agree with your last statement - at AWS you always feel the invisible shadow of PR :)

I've made feedback on AWS docs, and every time I get a followup from the person responsible for that documentation (different section each time).

Thx boss!

I tried Google Container Engine (GKE) and really liked it - it's the best cloud solution for deploying Docker to production in my opinion, mainly due to its use of Kubernetes. Unfortunately in my Web apps I make heavy use of Postgres-specific features, and since Cloud SQL only supports MySQL, Google Cloud is a total non-starter for me.

So for now I'm on AWS, using Postgres on RDS and deploying containers with ECS. ECS is a lot simpler than Kubernetes, but since my apps are pretty simple (a half dozen task definitions), it's not a big deal. I really hope Google adds Postgres to Cloud SQL at some point.

There are vendors running managed Postgres services on Google Cloud Platform, like ElephantSQL [1] and Aiven [2]. And you can of course run your own on GCE, even to the extent of 24/7 commercial support - you can run EnterpriseDB from Cloud Launcher [3].

And, you can also run Kubernetes on AWS - we have a group focused on making sure it's an excellent experience.

I work for Google Cloud Platform; ping me if you'd like more help with either option.

[1] https://www.elephantsql.com/blog/2014-11-17-google-compute-e... [2] https://aiven.io/ [3] https://cloud.google.com/launcher/solution/public-edb-ppas/e...

> There are vendors running managed Postgres services on Google Cloud Platform, like ElephantSQL

I did check out ElephantSQL but my pricing needs are somewhere between their $100 and $20 plans and there seems to be a lack of configurability compared to RDS's parameter groups (e.g. enabling extensions).

> you can also run Kubernetes on AWS

I've had success turning up Kubernetes clusters on AWS for demo purposes, but I really don't want to manage a k8s cluster myself (anecdotes I've read about etcd failures / partitions especially scare me). Also I use Terraform for provisioning, and kube-up.sh is not something that fits into that paradigm. I've also made the mistake running kube-up.sh with the wrong arguments after a previous invocation that had created a cluster, which caused it to try and create a new cluster, which wiped the local cache of the previous cluster I had made, making kube-down.sh unable to automatically clean up the old cluster (so I had to do it manually in the AWS console).

The other thing I tried was the kube-aws CoreOS tool, which is nice, but it comes baked with a 90-day expiration due to TLS certificate expiration, so I'd have to set up some sort of PKI process to make that production-ready. All in all just too much work for a single person trying to deploy a small number of containers for small to medium sized projects; if I was a medium-sized company with hundreds of containers and some dedicated DevOps resources maybe it would be worth it, but for myself I'd prefer a turn-key solution like ECS or GKE.

We also just had a user check in a cloud formation template for Kubernetes on AWS - would that meet your needs? (No kube-up.sh required)

Disclosure: I work on GKE and Kubernetes at Google

IMO one of the benefits of a platform service is that you get the whole platform from one vendor, so if you're having some problem, you can work with one vendor to sort it out. Trying to get Google support to work with a 3rd-party vendor and my hypothetical company on an issue sounds like a nightmare. There are already many other options for platform services which provide e.g. Everything you'd need to run a Rails app in dev and prod, so that's where the bar is.

You can't compare that to postgresql on aws. especially not when it comes to pricing.

I sincerely hope you will add PostgreSQL support to CloudSQL soon.

The current Postgres offerings are not great. ElephantSQL is extremely expensive compared to their offering: 4 cores, 15GB RAM, 1TB data for $1,000/mo. CloudSQL (2nd gen) with the exact same specs would be $370/mo. Aiven doesn't advertise exact prices until you sign up, so I can't compare, but I see that the number of instances (max 3 nodes) is very small, so not really an option.

You don't have contact info in your profile.

Fixed, thanks!

Google Cloud SQL is no replacement for Amazon RDS in my opinion. Cloud SQL instances run outside of your project's private network, so connections from Google Compute Engine have to be over a Public IP. This means accepting connections from any host (insecure) or whitelisting each Google Compute Engine VM's IP address (pain in the ass).

I've resorted to running my own MySQL instance inside of Google Compute Engine and setting up replication and off-site backups myself. It's definitely not as convenient as Amazon RDS, but the rest of Google Cloud has some great features like Google Container Engine.

Would love to see an RDS-like solution from Google that runs in a project's private network and supports more than just MySQL.

Look no further (for item 1 of 2 anyway) —


Can't emphasize enough how much I wish GCE had PostgreSQL support. Managing and maintaining our database is something I'd love to hand off to my cloud provider. MySQL simply doesn't cut it these days, and RDS has made me happy and lazy.

can't agree enough. MySQL's quirks make me want to gouge my brain, and it's not going to solidify into a competitive db engine any Time soon. Let's say mariadb added something like hstore--would I ever get that patch?

I believe parent was commenting about ability to run a CloudSQL instance with an internal IP in the same/different subnet as rest of the Compute Engine instance. I'm drawing that conclusion because I've had the exact same use case and I ended up using SSL certs used by Cloud SQL instances to secure communication between my apps running on compute engine and CloudSQL.

With RDS one can create a postgres/mysql instance that shares the same internal subnet thus negating need to open it up to external IPs, something I had to do after much deliberation because whitelist individual instance IP is just too much pain.

[edit: I looked at the link, and created a test instance to make sure I wasn't missing on a config setting, still unable to use private network to communicate with Cloud SQL AFAIK]

So, basically something like AWS's VPC? Given that it took them a few years to get that right even with tons of people asking for it, I'm not super optimistic that Google could match it any time soon. I'd love to be wrong!

We've recently released Subnetworks [1], which let you segment your network in a similar way to AWS's VPC. We've been working closely with customers to ensure that we're building out the platform in a way that works for everyone, up to very large, technically adept, customers like Spotify.

(Many of the other features of VPC, such as a worldwide network rather than a regional one, were built in from day 1.)


GCE networking was always equivalent to AWS VPC, but there's new functionality in stuff like Cloud Router, subnetworks, and other beta features to expand that even more. Here's the Network Services section from a guide explaining GCP for people who are used to AWS:

> The differences between AWS networking and Google Cloud networking are significant. This due to the nature of how these services were designed. Google Cloud Platform treats networking as something that spans all services, not just compute services. It is based on Google’s Andromeda software-defined networking architecture, which allows for creating networking elements at any level with software. As a result, Cloud Platform can create a network that fits Google's needs exactly—for example, create secure firewalls for virtual machines in Google Compute Engine, allow for fast connections between database nodes in Cloud Bigtable, or deliver query results quickly in BigQuery.

> To create an instance in Google Compute Engine, you need a network. In Google Cloud Platform, we create a default network for you automatically, and you can create more as needed. Unlike AWS, there is no choice of a public network like Elastic Compute Cloud-Classic. In all cases, you create a private network, much like Elastic Compute Cloud-VPC. Unlike Elastic Compute Cloud-VPC, Google Networking does not have sub-networking, but it does have firewall rules, routing, and VPN. These prerequisites are not necessarily required for all Google Cloud Platform services. Google BigQuery, for example, does not require a network because it is a managed service.

> Most of the networking entities in Google Cloud Platform, such as load balancers, firewall rules and routing tables, have global scope. More importantly, networks themselves have a global scope. This means that you can create a single private IP space that is global, without having to connect multiple private networks, with the operational overhead of having to manage those spaces separately. Due to this single, global network, all of your instances are addressable within your network by both IP address and name.

> Another major difference between Google Cloud Platform networking and Elastic Compute Cloud-VPC is the concept of Live Migration. Under normal circumstances, all hardware in any data center—including Google—will eventually need either maintenance or replacement. There are also unforeseen circumstances that can happen to hardware that can cause it to fail in any number of ways. When these events happen at Google, Cloud Platform has the ability to transparently move virtual machines from affected hardware to hardware that is working normally. This is done without any interaction from the customer.

From: https://cloud.google.com/docs/google-cloud-platform-for-aws-...

I've always thought that live migration feature is incredible.

I am sure Google Cloud has VPC stuff for all the components, including Cloud SQL. It lacks the variety (No PostgreSQL, Oracle, MSSQL, or MariaDB). All traffic is encrypted by default on all posts (Google Cloud does this for free) too.

I'm tentatively happy with our move to GCE as well, although we need to live with it more. What really delights me is the quality of the web dashboard, command line tool, and the ability to open web based SSH windows with a single click.

> I really hope Google adds Postgres to Cloud SQL at some point.

I too hope so.

Is there any reason you can't mix and match Google Container Engine and Amazon RDS?


And bandwidth charges

Got it, thanks! What about running a postgres container on GKE?

Lots of reasons not to. You'd be in charge of setting up backups (e.g. setting up WAL-E + an S3 bucket and monitoring that - and you'd have to add WAL-E support to your Docker image, which is a PITA), have to perform database upgrades yourself, have to monitor resource usage (CPU, memory, and disk), have to worry about how to manage the Docker volume so that write performance doesn't suffer (Docker defaults to copy-on-write - very bad for databases), you'd have to manage a Docker image and how to make it configurable (how do you enable Postgres extensions if you end up needing one?), you'd have to worry about how the GKE/Kubernetes scheduler will allocate the pod and what other resources on that node might affect it (and how that will affect the resource assumptions in your Postgres config), any Docker updates will require restarting the container and thus downtime (unless you have some kind of replication setup), all kinds of things.

In general I wouldn't want to run a relational database in Docker, especially not as some sort of generic cluster of containers; I'd want to give it its own VM with Postgres configuration settings specific to its resources (e.g. using pgtune).

Ahh totally makes sense. Thanks a ton for the insight, it's super helpful!

There's nothing stopping anybody for sure, but it's definitely not going to be as hands-off for getting to high availability, backups, scaling well, etc would be with managed SQL as a service.

> Google has long been a thought-leader in this space, and this shows in the sophistication and quality of its data offerings. From traditional batch processing with Dataproc, to rock-solid event delivery with Pub/Sub to the nearly magical abilities of BigQuery, building on Google’s data infrastructure provides us with a significant advantage where it matters the most.

Big Data is the core strength of Google Cloud. Good to see this move by Spotify!

> What really tipped the scales towards Google for us, however, has been our experience with Google’s data platform and tools. Good infrastructure isn’t just about keeping things up and running, it’s about making all of our teams more efficient and more effective, and Google’s data stack does that for us in spades.

What I really really liked about Google Cloud is the ease of use. Spin up a VM, start Cloud shell, SSH into your instance, install a bunch of software and you will know what I mean. It's "Quality" Cloud.

At work we moved to GCE at the beginning of this year, from Linode after they were having stability issues over the christmas break. No complaints from us. So far have been very happy with it. We were considering moving to AWS, but to realize the same pricing as GCE we'd have to purchase reserved instances - the sustained usage discounts have been huge for us.

Additional things we liked: - gcs is way more responsive than S3. also, was fairly painless to migrate our S3 buckets to GCS via the web console. - peering with cloudflare lets us save on bandwidth costs! - network load balancer has shown itself to be very reliable and solid for holding open A LOT sustained websocket connections. - http load balancer has shown itself to be very capable of ssl termination & routing (love that we can route /api to our API servers, and the rest to our static servers). additionally, no pre-warming was required. when we did the datacenter switch, it was just 5 mins of downtime. didn't have to worry about pre-warming for our production load like we would have on ELB.

Things we didn't like: - salt-cloud's driver for GCE is still lacking. Can't specify disk size for provisioned storage. Can't specify local SSD storage either. Also parallel provisioning didn't work. Something about PyCrypto not liking the way it forked. Not GCE's fault - billing support non-existent unless you purchase a support plan. - documentation still needs some work.

Billing support is provided for free to all customers. If you had trouble with a particular ticket, please feel free to ping me.

Disclaimer: I work in Cloud Support.

I tried to sign up for trial. Entered my credit card info. All cleared. Try to use bigquery and got some confusing error about billing not being set. Contacted support a couple of days ago. It said response time is 2-3 hours. Haven't heard since... Anecdotal? Yes. Makes me re-consider even trying google cloud offering? You bet.

Thanks for the reply! I don't remember the specific issue, but we had a billing inquiry and were told we had to upgrade to a paid support plan to get an answer.

Please feel free to forward the ticket to me at jani at google, and I'll look into it.

GCP has locally attached SSDs on almost all machine types and up to 64 TiB of block storage, configurable. What features were you missing?

It's a shortcoming in the GCE salt-cloud driver not being able to specify those in a deployment configuration. Sorry if this was unclear!

Aha roger!

The big point of this move is the hit it will have on on-premises Hadoop offerings: Cloudera, Hortonworks, MapR. It's a massive vote of no-confidence in their offerings. Spotify are effectively ditching a 2000 server, 90 PB Hadoop cluster to go GCE. As Spotify say themselves, that's big news....

Spotifier here. This is an important point. I have nothing bad to say about Cloudera or HWX (disclaimer: we're an HWX customer - we've had a pretty good experience), but I don't really see a compelling reason at this stage to manage your own cluster(s) (HIPAA/regulatory constraints, maybe?)

Getting shared-storage and indepedently operated/scaled compute clusters on top of that storage isn't easily achievable with the standard Hadoop stack, and building that on top of HDFS is non-trivial.

In fact, I don't think large orgs like you (Spotify) really want independently operated clusters. That prevents easy sharing of data, causing data silos to appear. You really want to have true multi-tenancy, which isn't in Hadoop yet. Hadoop has worked more on Kerberos support at the cost of features like easy-to-use access control - Apache Ranger or Sentry anybody!?!?

Yahoo's Hadoop clusters operate in a multi tenant fashion for precisely this reason: to ease sharing of data between groups.


Applications are open for YC Winter 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact