I’m not gonna lie Jim, I’m pretty excited. Clint, one of the awesome people that helps get all of our FSEs (Field Sales Engineers) up to speed was kind enough to ask me to put together a challenge for the new crop of FSEs coming through training this week. I got my geek on and did just that, but before we delve into the challenge let’s talk a little about FSEs and why this was wicked cool for me.
FSEs are the engineering lifeblood of the sales force here at F5. They’re the ones out in the trenches dealing with customer requirements and issues, building real world solutions, and generally doing all the cool sh stuff that I get to talk about theoretically, but in the real world. I’ve got mad respect for those FSEs that take their jobs seriously and learn how to build full fledged F5 solutions that leverage our crazy broad product set and, you guessed it, our out of the box tools like iControl and iRules. Those that choose to flex those muscles garner a special place in my encrypted little heart. Lucky for me (and F5) this is an increasingly large number, but that’s a different conversation.
So here at corporate this week we have a new group of engineers getting up to speed on F5 wizardry, solutions, how to engineer engineery type things like engineers do and the like. I knew that part of that training was no doubt iRules and iControl, at least in a cursory sort of manner, but I had no clue how much such technologies were being stressed. I was to get an education in precisely that matter, care of Clint, FSE Content Architect extraordinaire.
Weeks ago Clint came to me asking me to write up a challenge for this new batch of road warriors to help them learn more about iRules as a technology, but also about how to make use of the resources at their disposal when dealing with iRules challenges in the real world. Such resources as, oh, I dunno…DevCentral. What a cool idea! I get to write fun, interesting iRules while teaching people about how wicked these things are and teaching them to use DevCentral? Yeah…that’s kind of right up my alley. So I of course readily agreed.
So I built out the following challenge after some back and forth with Clint describing the kind of things he was looking for, difficulty level, etc.:
Client HTTP request must be sent to a specified URI based on the CNAME requested.
Over 1000 unique CNAMEs to be matched.
If no match is found, respond to the user (from the iRule) with a simple HTML message stating as such.
If a match is found, insert a cookie with the resulting URL of the CNAME match, ensuring the next time they request domain.com they are automatically sent to the appropriate .domain.com based on the cookie.
Log the country of origin for each successful request along with the URI they were routed to and why.
Logs must be shipped to an external syslog server (10.10.10.1).
External syslog server is only routable via the Management interface, not via Self-IP.
This was intended to be relatively easy, compared to some of the things we’ve seen come across DevCentral, but challenging enough to make folks go crawl around DevCentral, ask peers for info, and generally get a feel for not only how to write, but how to research about, iRules. Still, to expect someone new to F5 technology to be able to whip up something like this is pretty impressive, and speaks to just how much these technologies are being stressed with the new engineers getting their wings (swirls?) as it were, care of the F5 training and content architecture staff. I’m impressed at the hoops these folks are being asked to jump through so early, and it’s way cool to see them succeeding at just that.
The results are due today and are starting to trickle in, and I’m grinning every time I get one. I’ll have the winner picked out by tomorrow and I’ll make sure to post it to give proper props for a job well done. I can already tell you though, from the few examples I’ve received already, competition is going to be tough. These are some smart folks, which is a good thing.
Thanks to everyone that’s participating and get those iRules in, you’ve only got a few hours left!