Ask HN: Is Google App Engine a good option for new startups with limited funds? - vhn1
======
blixt
I've used App Engine a decent amount the past 8 years and I would say it's
great for prototyping and quickly creating CRUD tools or simple services. But
stop there, don't build a whole API that powers your app / service on top of
App Engine. Having done exactly that, I feel that App Engine is being treated
more and more like the unwanted step-child.

The more "adult" Cloud services are taking priority which is noticeable in the
monitoring solutions and deploy tooling. I've seen bugs that you wouldn't
expect in a production class service linger for months, requiring you to spend
time working around them. And the CPU cost overhead of their heavily
abstracted runtime is not dismissible if you compare running Docker instances
in Kubernetes (Google Container Engine).

I really enjoy using GCP, the APIs and tools are much nicer than say AWS, and
Google's offering has quickly caught up with competitors. I've just moved over
to Docker instances which is ultimately cheaper, faster to deploy, more
predictable, and more configurable.

------
jimmywanger
I've used GAE (Google App Engine) a fair bit myself too.

I think that new startups are well served by GAE for a couple reasons, with
some caveats.

Easy deploys - you just upload a war file and you're done. Also, the
versioning works pretty well, so you can have multiple versions of your app
live at the same time and switch on the fly.

Access to message queues - those are actually very useful. You can send stuff
off to queues fairly trivially and it'll get processed as needed with retry
and timeout options.

The scaling advantages are overstated for startups - if you need unlimited
horizontal scaling, either your app is horribly inefficient or you're already
making enough money to write a simple scaling infrastructure.

The caveats are that the datastore is really nice (pretty much megastore), but
if you use it, you'll have a hard time migrating to another service provider.

As for limited funds, GAE is actually fairly expensive as it's PaaS versus
IaaS, but if you're a startup and speed is of the essence, it'll let you get
something out there in front of consumers very quickly for very low up-front
and fixed costs.

------
tyingq
There's a lot to like with AppEngine, but the support is showstopper for
anything you can't afford to be down.

Outbound emails, for example, mysteriously quit working for a month straight
until someone there admitted that the anti-spam dial was tuned incorrectly.
There was no error back to the users indicating the emails were being trashed.
[https://code.google.com/p/googleappengine/issues/detail?id=1...](https://code.google.com/p/googleappengine/issues/detail?id=12786)

You might check out the various lower cost plans that many providers offer to
startups. Here's a few:

[https://www.digitalocean.com/hatch/](https://www.digitalocean.com/hatch/)

[https://cloud.google.com/developers/startups/](https://cloud.google.com/developers/startups/)

[https://azure.microsoft.com/en-us/pricing/member-
offers/bizs...](https://azure.microsoft.com/en-us/pricing/member-
offers/bizspark-startups/)

[https://aws.amazon.com/startups/](https://aws.amazon.com/startups/)

------
bkovacev
I have used GAE a lot. They have improved tremendously over the last couple of
years and have also extended their services. However, as noted on in the
previous comments - support sucks.

Advantages:

\- Easy to set up.

\- Cheap to start (somewhat like Heroku). Especially the moment you start
optimizing for performance it's easy to cut down on the funds needed each
month.

\- Scalable. Google takes care of it.

\- As someone mentioned versioning. It works as easy as changing the YAML
file.

\- Deployments are fast and painless.

\- Amazing cloud administration with beautiful and easy UI. Unified logs.

\- Ease of integration with other Google products and APIs.

Disadvantages:

\- Lack of proper support.

\- Documentation is sometimes lacking.

\- Lock-in. Oh man does it hurt if you want to move away from GAE.

\- For python for example, you can only used C based python modules.

\- HTTP request 30 seconds. 10mb limit. Datastore is I believe 1mb. Blobstore
50mb.

\- Gets expensive the moment apps become bigger (somewhat like Heroku).

I'd definitely wager where your app will be in a month, 3 months, six months
and a year and see if GAE is a viable option. Think of API integrations as
well.

~~~
vgt
Can you please elaborate on your support experiences? There's varying levels
of support, all the way up to employing essentially dedicated SREs that have a
shared application uptime responsibility with customers (CREs).

(Work on Google Cloud)

~~~
bkovacev
Hey, first of thank you for your hard work! Let me redefine my argument - free
level of support is somewhat lacking.

To be fair - this was like year and a half ago. Two separate issues. The
previous company I worked at was where the issues occurred. First issue was
something related to the NDB. I do not exactly recall what happened, as it was
right when I got there. I do recall people being whining about delayed replies
and ended up re-deploying to another instance.

Second issue was a fee for a service we have not used (big data/query I
believe)- it took a while for the support to reply(something along the lines
of couple of business days - billing support btw) and after we got ahold of
them we have spent a lot of time on the phone trying to figure things out and
we were still charged for that month. It was not much, but we could have
purchased the current silver package for that money.

After the company started selling more products we upgraded to Gold package
which was excellent. That's about the time I left.

Another separate instance was when I was not allowed to create more apps (even
though I deleted more than 6-7) and I had to make a request for my account to
create more. That took couple of days as well.

I think I started using GAE around 2011 and since then I have only seen
improvements :)

------
shankspeaks
It also depends on how comfortable your team is with managing your own
infrastructure. If you're not strong on the DevOps side of things, then stick
with a PaaS solution to get started (even if it's a bit more $$$), and look at
cost efficiency later.

If you're comfy with running your own stack, then nothing really beats D/O,
Vultr, Packet.Net (if you want bare-metal) to get started. With the number of
self-hosted PaaS tools out there, you can easily replicate GAE on your own for
a fraction of the cost, but you need to handle the Ops on your own.

It's ultimately about how fast you can get to market, and how well you deploy
resources getting there. Frankly, there are times when paying a few hundred
dollars per month to have the entire stack hosted and managed for you, is WAY
cheaper and a better ROI than hiring people or adding to your dev workload.

In my experience, free credit programs are great, but only if you keep your
tech portable enough to move over easily to someone else after they expire. A
lot of these platforms offer APIs and services that are convenient, but they
also create lock-ins that will force you to stick with a vendor who's cost-
benefit drops after a certain point in time. At that stage, the decision you
make will be between is it cheaper to refactor or to stick it out.

Hope this helps.

------
ungzd
At least not its datastore. It's extremely weird, hard to use correctly and
nonstandard. You have to rewrite all of your data layer if you're going to
move from it (or if Google will deprecate it, I think it will be quite soon).

I have very simple app there for personal use and I had lots of pain debugging
it, and it still works on black magic. It's easy to rewrite that app from
scratch because it's so small, but downloading data from datastore is
extremely painful process involving browsing forums for third-party hacks. If
you have more than few megabytes of data, I think you can't get it out at all.

Development tooling is also weird and glitchy.

------
mark_l_watson
I have used AppEngine, off and on, for many years. The advantage is getting
auto-scaling and robust data stores automatically. The disadvantage is some
degree of technology lock-in and that you can host less expensively using a
provider like OVH or DigitalOcean.

EDIT: another good thing about AppEngine is that the 'free tier' will let you
run a low traffic site for free, or very inexpensively. IBM's Bluemix is
another service with a generous free tier.

------
Toast_
MS bizspark may be worth looking into if you're short on funds.

~~~
phoenix9
I really appreciate the MS bizspark program.

------
samblr
On reducing cost on GAE while prototyping:
[https://goo.gl/BLutaI](https://goo.gl/BLutaI)

GAE has flexible environment which has meant you can use stack of your choice
which is unlike its previous versions.

