Forum Discussion
Found this:
iRules LX There is a new version of iRules that is coming out with the new BIG-IP version 12.0 called iRules LX. If you have not heard about the F5 LineRate product that was launched in December 2013 after F5 acquired LineRate Systems ten months prior, it is F5’s answer to the other software proxies and load balancers found on the market today, such as HAProxy and Nginx. It is a relatively low-cost, high-volume, and lightweight virtual load balancer. It allows load balancing and high availability for cloud and software-defined data centres so that DevOps teams can simplify the deployment of applications. The LineRate product suite includes its own iRules equivalent called Node.js.
If you haven’t already, we highly recommend getting up-to-speed on the Node.js platform built on Chrome’s JavaScript runtime. It uses an event-driven, non-blocking I/O model that makes it perfect for data-intensive real-time applications. iRules has always been viewed as the flexible extension of the F5 platform. Now think about iRules LX as an extension to the flexibility provided by iRules by using Node.js. That’s right, clients will now be able to use iRules to call Node.js extensions and import modules/plugins found on “npm”.
In version 12.0, the call between an iRule and a Node.js extension will be made via a Remote Procedure Call (RPC). F5 did mention that down the road, perhaps in version12.1, this will be replaced by making iRules LX part of the TMM instead of letting it run as a separate process. This should provide the potential for even greater performance and flexibility. Don’t fret though, the current iRules are not going anywhere from what F5 mentioned. Instead, the iRules LX are meant to act as an extension of the current iRules, not as a replacement.
F5 demonstrated the ability to make a connection and query into a MySQL database. The data found was then displayed on a web page from an iRule. The “mysql” package found on “npm” was imported to the F5, showing that some existing Node.js modules can simply be imported and used.