Live data from Hacker News

Python 3 on Google App Engine flexible environment now in beta

cloudplatform.googleblog.com

21–30 of 49 posts

Re: Python 3 on Google App Engine flexible environment now in beta

#21
post #9
post #4

> you can use the tools and databases you already know and love But not Postgres or Redis? Edit: OK, I'm seeing some references in the docs. Still seems limited to deployment on generic instances though.

You can use Postgres and Redis. :) I'm working on writing new tutorials for both of those, but in the meantime: You can host your own Postgres on Compute Engine [1] or use a hosted provider like ElephantSQL [2]. You can use whatever client library you want to connect to postgres in App Engine flexible. Same story for redis - you can host it on Compute Engine [3] or use something like redislabs. [1] https://cloud.goog…

How do you deal with securing the DB's in this setup? Is it possible to isolate the compute engine DB ports to only your appengine instances, or do they have to be open to the whole world?

Re: Python 3 on Google App Engine flexible environment now in beta

#22
post #19

Does anyone have any numbers on the cost difference between standard vs flexible app engine usage? Flexible environment supports any language/environment you want as long as you implement the HTTP endpoints it expects. I would be much more impressed if they brought Python3 to the standard environment which seems to be much more cost effective for many types of web apps. Flexible environment essentially requires you t…

On lowish traffic apps, it's way way more expensive as you have to pay for the VM's to be permanently running. AFAIK you also need to have 2 app servers running as they get restarted once w eek (at least thats how it is for Java apps I believe)

Re: Python 3 on Google App Engine flexible environment now in beta

#23
post #19

Does anyone have any numbers on the cost difference between standard vs flexible app engine usage? Flexible environment supports any language/environment you want as long as you implement the HTTP endpoints it expects. I would be much more impressed if they brought Python3 to the standard environment which seems to be much more cost effective for many types of web apps. Flexible environment essentially requires you t…

If you have very little traffic then what you are saying is true, flex GAE requires you to keep one VM running.

For our our app (Streak) we run 100's of instances, we moved some of our services from standard GAE to flex GAE and saw a HUGE reduction in costs. Depending on workload we saw 5x-10x reduction in cost. To see why this is possible, look at the price of a standard GAE instance and the price of a default flex instance. For roughly the same price you get a way more capable machine.

You just have to have enough traffic where you'd like to keep at least one instance running all the time. Enough traffic in this case is a really small number. If you're traffic is lower than that number than who cares about optimizing costs, its gonna be cheap no matter what.

Re: Python 3 on Google App Engine flexible environment now in beta

#24

Really cool. Would be interesting if App Engine becomes a spot for larger framework driven web apps like Django, or if/when ruby is supported, ROR. It could be a very efficient way of doing so because you could have a single instance running with a gazillion gunicorn/unicorn worker processes to distribute the load across processes.

> if/when ruby is supported

Ruby (and Node) are supported on the Flex Env the same way Python 3 is. JRuby may also be usable on the standard environment's Java runtime (ISTR seeing a how-to in the past, but I also seem to recall at one point seeing that there were some issues.)

Re: Python 3 on Google App Engine flexible environment now in beta

#25
post #2

I'm really glad this big fat blemish is now finally going away. Anybody has a reasonable theory for why this took so long, despite users asking for it for years?

Especially amusing was that Guido was working on the GAE team for a while, and even that wasn't enough to get them to support Python3.

Re: Python 3 on Google App Engine flexible environment now in beta

#26
post #18

I recently signed up for a trial and tried to use Google Cloud Platform. Oh my god the UI was amongst the worst I have ever experienced on the web. Super slow and hard to navigate. Stupid "tutorial". I tried for a good two hours, tried to accept it but finally gave up on it. Google, cut down on your Angular and material design kool aid and try harder next time.

I felt Google was much easier to get started in than AWS. And it's easy to forget that it's quite possibly the most complicated system most people who use it interact with. It probably has a few magnitudes more expressive power of a, say, a webpack+babel+package.config (yeah, hard to measure, I know). And that's a competition it easily wins.

Re: Python 3 on Google App Engine flexible environment now in beta

#27
post #9

Earlier quoted context omitted.

You can use Postgres and Redis. :) I'm working on writing new tutorials for both of those, but in the meantime: You can host your own Postgres on Compute Engine [1] or use a hosted provider like ElephantSQL [2]. You can use whatever client library you want to connect to postgres in App Engine flexible. Same story for redis - you can host it on Compute Engine [3] or use something like redislabs. [1] https://cloud.goog…

How do you deal with securing the DB's in this setup? Is it possible to isolate the compute engine DB ports to only your appengine instances, or do they have to be open to the whole world?

App Engine Flexible runs on GCE instances, which all have internal IPs. So you can just firewall off external traffic but allow internal, which is the default anyway.

Disclosure: Also GCP Developer Relations

Re: Python 3 on Google App Engine flexible environment now in beta

#28
post #19

Does anyone have any numbers on the cost difference between standard vs flexible app engine usage? Flexible environment supports any language/environment you want as long as you implement the HTTP endpoints it expects. I would be much more impressed if they brought Python3 to the standard environment which seems to be much more cost effective for many types of web apps. Flexible environment essentially requires you t…

We use a combination of both at my company. We use the standard environment for the majority of our services, doing things like proving APIs, serving webpages, performing datastore interactions, etc. The flexible environment starts to make a lot of sense when you're doing heavier weight processing, text analytics in our case. App Engine instances are relatively cheap when you're using the smallest instance sizes, and have even more benefits if your application has idle time when they can spin down completely, but costs start to go up very quickly if you need to move to the bigger instances in the standard environment [1]. The flexible environment is current billed at the rate of the machines you're using, so is much cheaper for bigger instances [2].

[1] https://cloud.google.com/appengine/pricing#standard_instance...

[2] https://cloud.google.com/compute/pricing#predefined_machine_...

Re: Python 3 on Google App Engine flexible environment now in beta

#29
post #18

I recently signed up for a trial and tried to use Google Cloud Platform. Oh my god the UI was amongst the worst I have ever experienced on the web. Super slow and hard to navigate. Stupid "tutorial". I tried for a good two hours, tried to accept it but finally gave up on it. Google, cut down on your Angular and material design kool aid and try harder next time.

Developer Relations team exists so that doesn't happen so sorry to hear. Part of the problem is some of our feedback mechanisms need work. If you go to:

cloud.google.com/python

You'll see we have a lot of tutorials that link to Github repos . If you file issues there you are more likely to get help. The caveat is we are not a support team and have no guarantees (just a likelihood), so if you need paid support look into our options for that instead.

Re: Python 3 on Google App Engine flexible environment now in beta

#30
post #27

Earlier quoted context omitted.

How do you deal with securing the DB's in this setup? Is it possible to isolate the compute engine DB ports to only your appengine instances, or do they have to be open to the whole world?

App Engine Flexible runs on GCE instances, which all have internal IPs. So you can just firewall off external traffic but allow internal, which is the default anyway. Disclosure: Also GCP Developer Relations

OK great - thanks. Just to be clear, you'd still be opening up DB ports to all internal global GCE instances?
Post reply on HN