Hacker News new | ask | show | jobs
by anteater_alex 2869 days ago
We're a SaaS platform running on App Engine and were part of the early-access program. Porting over our Python 3 based platform from App Engine Flex to AE Standard took just a few hours - only tweaks needed were to the YAML config files and rewrite our deployment scripts after creating a new environment and project.

We still maintain a docker-based environment on AWS EBS which we were able to port over as well. Overall a fantastic experience. The App Engine Standard team provided stellar support too.

We did notice pure CPU performance on AE standard to be less than dedicated AE Flex instances, but on a price/performance ratio AE standard is 10X better for infrequently accessed micro-services which will allow us to migrate some of these to standard for great cost savings - as well as ramp up auto-scale to handle spikes automagically.

With Python 2 becoming officially deprecated in 2020 this means App Engine Standard just got a huge boost in long term relevance. Great for developers who want to deploy without having to deal with infrastructure.

Good to hear that AE standard - i.e. this vision of a 0-effort Python deployment support - is still relevant after all the Kubernetes-related announcements at Google Next.

1 comments

Just curious, why did you migrate from Flex to Standard? Only for the 10X price/performance boost for infrequently accessed services?

PS: Regarding automagically handling spikes I have a warning that might be useful for you. The way AE load balancer works is that it:

0. A request comes.

1. AE checks for available instance. If none available:

2. Spins up new instance.

3. !!! Assigns the request to that instance.

4. Waits for /_ah/warmup to finish.

5. Adds that instance to its serving pool so other requests may be routed there as well.

Note that step 4 is after step 3, so at least one request will wait for /_ah/warmup. So occasionally you will see requests with high latency (if your warmup is slow, of course). Our latency requirements were quite high, so we ended up switching to manual scaling and heavily over-provision to handle spikes. That costed us good money, though.

This should be a little better now: https://cloudplatform.googleblog.com/2018/05/Increase-perfor...

But yeah, you should definitely do your own load testing. GKE or Flex are probably better choices if you need more control.

(I work for GCP)

> Only for the 10X price/performance boost for infrequently accessed services?

Yes. this will allow us to offload async tasks & other non-critical tasks to standard. It will also allow us to keep lots of various staging environments available for testing / unit testing, and deploy dedicated instances that are fully contained without 24/7 costs for each instance.

Re - latency - absolutely, we've seen times where it can take 10-15 seconds to serve an initial request. Things are snappy afterwards.