Open rdallman opened 6 years ago
cc @shaunsmith @skinowski
+1
Note that Google Functions may bill for both GB and GHz but the user only selects GBs. The relationship between GBs and GHz is fixed. IMHO this is simply pricing obfuscation.
My thinking here is that CPU ought to somewhat configurabile/pluggable - either at the LB ingress point (i.e. one policy for all functions) or at the agent itself (policy based on specific host configuration - you get what we got, based on the host, maximise usage of specific hosts)
/tmp (we keep saying tmpfs but actualy I don't see a necessity that this is actually a memory-backed tmpfs, could be e.g. a loopback on disk) probably ought to be uniform (even if it's proportional to RAM ) across the system but also configurable as it represents a much harder constraint on the function implementation rather than CPU - when I target a particular platform I want to know how much /tmp I'm going to get.
at present, we allow a user to set
cpu
,memory
, andtmpfs_size
on a given function (tba 'network'). this allows variable amounts for any of those given parameters where they are independent of one another. quite simply, this issue proposes to base the settings for any other system resources that exist currently or in the future off of memory alone. first, illustrated with an example (these are not in any way prescriptive):where a user would only set and/or see the memory setting, and all of the other settings would get applied under the hood for that function (not visible to the user via API). part of the work to do this / make this capable has gone in https://github.com/fnproject/fn/pull/1065 with the current API intact, this aims to round this out a little more.
lambda's copyright around this is as follows, if this helps to clarify:
benefits:
cons: