Ask HN: Competing with Google while running on Google App Engine

16 points by TY ↗ HN
Google App Engine is a perfect deployment environment for my product. However, this product will directly compete with one of Google's own existing services.

Given this conflict I feel uneasy to deploy on my competitor's infrastructure. On the other hand, I really want to believe in Google's "Do no evil" motto and hope that they will not use this situation to their advantage if my product is successful. Am I naive to believe in this?

Fundamentally, do you think that Google can be trusted to be an impartial infrastructure provider for services that compete with their own?

Many thanks in advance,

TY

19 comments

[ 3.0 ms ] story [ 36.9 ms ] thread
If you know that you are going to be directly competing with a corporation, it is incumbent on you to minimize the risk said corporation can interfere with your business. A motto is not a promise or corporate conduct.
Worry only if you get successful ... It going to take a while. Make sure your code is easily portable in a hosting env.
on the other hand there are a few advantages from it.

1. if Google ever decides to acquire you, for them it'll be as easy as flipping a switch.

2. if Google ever screws with you...think of all the press you'll get

Arguably the second point is an incentive to deliberately launch Google competitors on GAE :)
I wouldn't worry about it too much. If you consider Google Apps, Google is already hosting email, documents, spreadsheets, etc. for a lot of businesses, including many that compete with Google in one way or another (after all, Google has an awful lot of products). Furthermore, Google is a pretty large organization, so it seems like it would be risky for them to try to spy on you (since it would involve a number of people in at least two or three departments). If they got caught doing this, it would be pretty damaging to GAE.

I think a more interesting consideration is, how does this affect the prospects for your company to be acquired at a future date (assuming you're interested in selling out)? Presumably hosting on GAE would make your company an easier acquisition target for Google (since you've already bought into their infrastructure). Presumably it would also make you less attractive to a lot of other companies who might be competing with Google, since you're basically going to be stuck on the GAE platform, and those companies may be more paranoid.

Just my 2c.

Yes, I'd trust them.
Why would you trust them? It seems like a good business decision to not cause any problems for him, but it doesn't seem like there is any reason to trust them.
Because even if Google's management were secretly evil, the employees are independent minded enough that they wouldn't stand for any dishonest behavior. That was the tradeoff Google made in order to be able to hire the smartest people.
It's true. Googlers openly use competitors' products and services when they are perceived to be better. There are lots of Flickr users at Google, for example. Googlers choose iPhones and blackberries if they want. They use PayPal. They would riot if google tried to give itself an artificial advantage or sabatoge a competitor. Competitors are embraced.
The level of difficulty for Google to do cross department sabotage would be high and I imagine the cost of damage to Google would be WAY higher than the value of taking down your service (unless you are wildly successful - and then it would be a lawyers party!)

Focus on success first -- and think about your "exit paths" -- and the costs/benefits of being on GAE vs. another option as an independent decision.

I'd say ignore the evil/not issue and just assume that Google, like any company, ultimately serve their own interests. If you plan to compete with them on search/ads/maps/gmail/etc, you might not want to be too vulnerable. If it's on a less critical part of their business, the damaged reputation to GAE is probably not worth it to them.

In any case, outside the ORM your code can be plain Django, portable to non-GAE hosts.

I wouldn't waste anytime thinking Google will be malicious to you if you're hosted on GAE and in competition with them.

If GAE is the best platform for you to host, if it lets you get to market sooner, if it lets you scale cost with revenue better then use it.

If your app is written with Java + JDO, then with some effort it should be portable. I've seen JDO backends of relational databases, Hadoop Hbase, ODF, JSON,etc. I don't have a lot of experience with Python appengine development, but I believe that you can exit from that platform also, with some effort.
It certainly makes Google acquiring you that much easier :)
Make sure that you are not violating their TOS tough.
If you build for appengine, you have options. Take a look at http://code.google.com/p/typhoonae/.

PS. I'm sure you know what you're doing, but from my experience the gae stack is really bad to build anything search at this point.

Thanks all for the replies!

I'm leaning towards using GAE at this point, with a contingency plan to switch to a third party (most likely AWS) if needed. I do hope that the wall that separates App Engine team is high enough and Google has internal controls to prevent anyone from peering into our data. We don't compete with any of Google's core products (search, email and etc).

Benefits of GAE are compelling enough for a scrappy startup to use it, even with all the reservations. What attracts us to GAE is:

- opportunity to concentrate on the product and not worry about administration

- this translates into tangible savings for a bootstrapped company, as we don't have to hire sys admins

- it's easy to leave if we must:

- our product is being written in a generic framework and all GAE-specific functionality is abstracted in a separate module.

- Google does not lock in the data: since release 1.2.5, it's now possible to bulk export data out of GAE

- low starting costs

I'll keep HN posted about the progress.

run run run away? seriously... think it through. app engine is relatively equivalent to ec2. why not just eliminate this variable and switch unless it is cost prohibitive?