Per Role (within farm) sequential / parallel creation.. and workarounds!

28 views
Skip to first unread message

karl.qu...@ticketfly.com

unread,
Feb 18, 2015, 3:12:43 PM2/18/15
to scalr-...@googlegroups.com
Hi.

I suspect that many Scalr customers have been asking for the option to specify which role(s) within a farm should be 'spun up' in parallel or sequentially.  If this is not a feature, I'd like to ask for an evaluation; i suspect that there's a fair bit of internal er-engineering that must occur for this feature to make it into Scalr.

Example:
I have a Farm with 32 roles.  The first 4 roles in this farm *must* come up sequentially.  After the first 4 are up, the remaining roles can come up in parallel.  Unfortunately, this is not something i can currently with one farm. 


SO.  Scalr currently can't do what I need.  This means that I must now start to break this entire farm into two farms so that I can cut down the 'spin up' time for all the roles (4 sequential + 28 in parallel versus all 32 in sequence).  Two separate farms is the problem that leads me to my question.

So, my question:

Is there a way to have one farm 'trigger' the creation of another?  E.G: farm01 has 2 "HostUp" events associated with it --> change farm02 from 'terminated' to 'running' on the Scalr server?

I suspect that I will be able to do this with my own custom scripts, but I'd like to avoid that if possible.

Please let me know what my option(s) are as well as if my feature request has made it onto the Scalr roadmap at all.

Thanks!


-Karl

Thomas Orozco

unread,
Feb 18, 2015, 8:39:18 PM2/18/15
to scalr-...@googlegroups.com
Hi Karl,

Indeed, that kind of ordering isn't possible right now in Scalr. What I would suggest here is using Webhooks and the Scalr API. 

Basically, the workflow is:
- An instance is launched
- Scalr notifies your Webhooks listener
- Your listener calls the API to check whether Farm01 is complete
- If it is, then your listener calls the API to launch Farm 02. 

Note that you can actually setup your Webhooks listener on the Scalr server itself, or just about anywhere else you might want; the Scalr server only needs HTTP(s) access to it. 

Note that you wouldn't necessarily need 2 Farms. You can have the Webhooks listener disable / enable scaling on the Servers that should be launched after the fact. 

Does this help?

Cheers, 

Karl Quinsland

unread,
Feb 19, 2015, 1:19:18 PM2/19/15
to scalr-...@googlegroups.com
Yeah, thanks for confirming the availability of this feature.

I hadn't thought about putting the logic on the scalr server; I'll play around with this idea.
Nor had i thought about setting the "parallel" roles to 0 instances and automatically triggering them to >0 instances once the initial roles are up.  I rather like this idea, but it might be harder to implement when compared to toggling a single farm.

I might have figured out how to get around this entire requirement with some small architectural adjustments to our VPC.

If implementing one of the work-arounds discussed here does happen, i'll update this post.


-K

--
You received this message because you are subscribed to a topic in the Google Groups "scalr-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/scalr-discuss/fPl1ZFkMWto/unsubscribe.
To unsubscribe from this group and all its topics, send an email to scalr-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sebastian Stadil

unread,
Feb 19, 2015, 1:24:12 PM2/19/15
to scalr-...@googlegroups.com
Please do Karl, and thanks for contributing to the Scalr community!

--
You received this message because you are subscribed to the Google Groups "scalr-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scalr-discus...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--


Follow us: Twitter - Facebook - Blog
Reply all
Reply to author
Forward
0 new messages