Hi - Sorry I need to ask this, as there isn't any document i've googled that gives a definite answer - Is there any particular guide to sizing (and in turn approximating the monthly costs involved) in subscribing to the resources needed for Nomulus ? This is an important first step for us to consider adopting Nomulus as our registry.
If you look at the appengine-web.xml files that we ship with Nomulus, you'll see that we use B4_1G instances, which cost $0.30 per instance hour.
Running ten B4_1G instances, at full load, works out to about USD 200 per month.
Ouch, good catch. Thank you.
I've been thinking more about this and I think switching to auto-scaling likely makes a lot of sense, at least for backend and tools, which don't have strict latency requirements because they aren't in any serving paths that affect end users. So for the vast, vast majority of the time, you don't need any running tools instances, and you only need backend instances occasionally, when background batch mapreduces kick off.The $216 per month per instance is for an instance that is running flat-out for the entire month.
In practice, that is very unlikely to happen unless you are using basic scaling.
I'm going to start experimenting with auto-scaling on our non-production instances (and possibly roll it out to production too if all goes well) so I can offer a more informed opinion on costs and how to control them.
On Wednesday, March 8, 2017 at 11:55:39 AM UTC-5, Hans Ridder wrote:On Thu, Mar 2, 2017 at 2:19 PM, 'Ben McIlwain' via nomulus-discuss <nomulus-discuss@googlegroups.com> wrote:If you look at the appengine-web.xml files that we ship with Nomulus, you'll see that we use B4_1G instances, which cost $0.30 per instance hour.Running ten B4_1G instances, at full load, works out to about USD 200 per month.Either I'm doing something wrong, or I think you may have slipped a decimal point:24 * 30 * $0.30 = $216 per instance per month. So 10 instances would be $2160.
-hans
--
NOTE: This is a public discussion list for the Nomulus domain registry project.
---
You received this message because you are subscribed to the Google Groups "nomulus-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nomulus-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nomulus-discuss/f548b656-9e06-4189-a828-44d783c4b5c6%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nomulus-discuss/CAB%3DhYRcPuweSGqdQjwasGP6U5QGoec24wXQq_HUv%2B1282s_-0A%40mail.gmail.com.
We chose 997 as a suitable figure to be able to handle any conceivable traffic load (e.g. something like a .com), so it could definitely be tuned down for smaller registries and development environments. The max QPS of your system works out to something like 1-10 QPS per bucket, though let's go on the low end to be safe (and avoid costly entity group contentions) and say that it's 1 QPS for bucket. The amount of work that the mentioned mapreduces do scales roughly linearly with the number of buckets, so there's a lot of cost gains to be had there in tuning that down. I'd caution against going tuning too far down though, because the lower the number of buckets, the higher the chance of Datastore contention, and conflicts induce load too.I'm sure some of my teammates will have some thoughts to chime in with on this, everything possibly ranging from "That's a great idea" to "You're crazy!" Eagerly awaiting the responses.
--
NOTE: This is a public discussion list for the Nomulus domain registry project.
---
You received this message because you are subscribed to the Google Groups "nomulus-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nomulus-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nomulus-discuss/9cfe6362-9c8f-4ec0-a1c9-de716cc38857%40googlegroups.com.
Regarding frontend versus backend instance classes, maybe the information I remembered seeing came from the O'Reilly book "Programming Google App Engine with Java", which I read a couple months ago to try and improve my understanding of the monster. Looking now, I see the following on page 114 of the second edition:"Modules with manual or basic scaling use a different set of instance classes than modules with automatic scaling: B1, B2, B4, B4_1G, and B8. These are similar to the corresponding F* classes, with the addition of B8, which has 1GB of memory and a 4.8 GHz CPU."Modules are what are now called services; the book is out of date on some things. So it sounds like, if you are using manual or basic scaling, you are always going to be using the backend instance classes no matter what, and don't need to worry about what "frontend" means at all.Brian