iRulesLX takes advantage of the capabilities of Node.js to enhance the
data plane programmability of a BIG-IP® system. To enhance the
programmability aspects of iRules, iRulesLX adds a mechanism to invoke
programs in Node.js. Node.js is well-suited to a BIG-IP system,
providing a single-threaded environment in which to run programs,
taking advantage of asynchronous behavior, and offering a wide range
of packages for download. As a developer, the resources of a vast
community can help you add functionality to your Node.js applications,
while reducing the development effort.
iRules LX has two ways it can be used. The first method, introduced in
BIG-IP TMOS 12.1.0, is via RPC where TCL is used to make a call to the
Node.js process(es). The second method, introduced in BIG-IP TMOS
13.0.0, is via “streaming” where all data (by default) is sent over to
the Node.js process(es).
By using the streaming data interface, you can receive and modify
traffic in a virtual server. TCP, SSL, HTTP Compression and Web
Acceleration profiles, or a combination of the protocols, are
supported by the ILX profile included with the streaming data
interface. This is referred to as iRulesLX streaming data. The two
interfaces address distinct and different needs but you can develop a
plug-in that uses both interfaces.