Do Citrix Netscalers have a feature equivalent to iRules?

I'm looking to move from F5 to Netscaler and having a hard time figuring out if Netscalers have a feature similar to iRules.


Yes. I don't think they have a brand name for it like F5 does, they just call them "policy" like a content-switching policy or a rewrite-policy, etc.


I have been trying to find how to migrate my iRules to a Netscaler and I can't seem to find an easy way.

I found this conversation that says:

  • There is no denying it, F5 irules are MUCH easier and cleaner then the Netscaler policy-based rules, at least from a management/configuration point of view. In my opinion, this is the one downfall of the netscaler, and the one area that Citrix really should be looking to correct if they want to make that next step past F5. A irule person who is use to having everything in once spot will initially find the netscaler confusing, and probably messy. Instead of having one irule, you now need to configure content swithcing policies, responder policies and actions, and rewrite policies and actions, all contained in different areas in the config GUI (you will find yourself flipping between screens a lot, and it will get frustrating).

    ...

  • iRules are now CS Policies, Rewrite Policies/Actions, and Responder Policies/Actions, all of which use a proprietary expression language that Citrix call AppExpert

It goes on to say that on the bright side, the netscaler is quite flexible but I think the right answer to this question is to say there is no feature equivalent to the iRule, as in a single script where you put all your rules, but the rules themselves have equivalents.

The way I have worked with the iRules is to create a rule to make my company's software work properly and then distribute that rule to the sites that make use of our software. From my early review of the Netscaler, there won't be an easy way to distribute my configuration to different sites.

EDIT:

So far, the closest I have found, is to put my tasks into a file and load them through the Netscaler CLI using batch -f <tasks.conf> though I still feel this approach is not as good as an iRule and haven't fully migrated my iRules yet.

I will start looking into the Nitro API.