How can I run f1-micro instances on App Engine Flexible as of May 2017?
Asked Answered
P

1

6

I know there are many such questions asked, but App Engine tends to have changed between each time I set up a new project, often without proper documentation.

Earlier, during the (vm: true)-times, I used to run f1-micro instances with the following setting, that is no longer accepted:

beta_settings:
  machine_type: f1-micro

Answers, such as this one, suggests that it was possible to achieve the same through the resources-setting earlier.

But when I try this now (with 0.18 on memory_gb), I get the following error message:

Error creating Deployment Manager deployment, status: 1, error: Memory GB (0.58) per VCPUs must be between 0.90 and 6.50.

I have to increase the memory option to around 0.5 to actually get it to deploy. Earlier I would then go to look at the Compute Engine resources to check which machine type was actually running. But the App Engine Flexible instances seems to have been removed from that view. I can't find this information anywhere in the online console. The closest thing I got was enabling Debug-mode on the instance, SSH-ing into it, and running:

curl --header "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/machine-type

And I get the result:

projects/349377138382/machineTypes/custom-1-1024

..indicating that it's a custom machine type running. I have plenty of small services running, and feel I have no transparency about what resources I am using. At times I wonder if it's made this way on purpose, to force people into spending more than necessary.

Am I blind here, or are there any neat tricks to get the advertised machine types running, and to verify that visually through the tools provided?

Pother answered 5/5, 2017 at 14:23 Comment(1)
You can star and comment on the issue to add support for it here issuetracker.google.com/issues/62011060 I would like to see this supported in the flexible app engine tooWooley
C
3

App Engine flexible currently only supports custom machine types based on the resource declaration in app.yaml. As you've seen there are some limitations on the range of valid resources. There's no 'trick' to force a specific machine type.

Regards, Zach

Caret answered 5/5, 2017 at 20:31 Comment(5)
Thanks for your answer. Are you affiliated, or do you have sources to conclude that this is a permanent change? Also - do you by any chance know how I can verify what custom machine I get allocated? Looks like my server costs are going to double.Pother
The public docs explain what machine you'll get: cloud.google.com/appengine/docs/flexible/nodejs/… For CPU, it means that you'll get the amount of CPU specified in the resources section. For memory, it's what was specified plus an infrastructure overhead. It is a fairly straightforward mapping from what was specified in the app.yaml.Absenteeism
Thanks Rodrigo. I see know that the big change for me, is that I can only specify full cores (and not 0.2 like earlier). Coupled with the new pricing, that makes the smallest possible instance more than seven times more expensive than before. Paying for what I actually use/need, has been one of the main reasons I have spent half of my working life using App Engine, and convinced several of the companies I worked for into starting using it. Now I'm forced back to unmanaged hosting, or competitors.Pother
Hi Ben, I am a member the App Engine flexible development team. Unfortunately I can only comment on our current public feature set. I can say that this change was intentional and that we support it at GA level.Caret
The smallest EU instance on GAEF now cost around 44,50$/month. On AWS Beanstalk, the smallest instance is around 4,50$/month. While not the same specs, the performance difference is insubstantial for testing, staging, and low-traffic services. I hope you reconsider the move, to stay competitive in the future. As a startup with a number of small services, the 7x increase, and the 10x difference with the competition was too big to ignore for us.Pother

© 2022 - 2024 — McMap. All rights reserved.