Quick Notes:
Confession time. As a developer, my favorite editor for writing code is vim.
I know, I know. But it’s fast, I know how to get around in it and best of all, it isn’t emacs.
Yeah, I went there.
To be fair, though, I don’t develop professionally anymore so I don’t generally need all the capabilities of a fully-functional IDE. When I do (like when I’m working on a Minecraft mod) I always turn to Eclipse.
So do millions of other developers, which is one of the reasons the open source project has grown so dramatically since its inception. Eclipse supports not only the broadest range of languages but also smoothly integrates toolsets that expand its reach beyond its humble beginnings as a code editor. That includes NetOps, as evidenced by the availability of an Eclipse plug-in that supports development and deployment of both iRules and iRulesLX, F5 data path scripting languages.
A quick overview/refresher on both: iRules are event-driven TCL scripts that execute on the BIG-IP as part of the request/response flow. iRulesLX are scripts that accomplish the same task but let you develop in node.js. They are triggered by a request or response event and invoked by a simple iRule.
Whether you choose to develop in TCL or node.js, the Eclipse plug-in offers all the goodness of an IDE such as syntax highlighting and integration with repositories like git. The F5 plug-in provides an easy way to connect to a BIG-IP and retrieve, create, edit, and deploy both iRules and iRulesLX.
Once you’ve got it installed (and connected to a BIG-IP – on its management IP address) you’ll get a list of all existing iRules and iRuleLX workspaces.
From there, it’s a simple right-click to create a new iRule.
I’m no longer a fan of ‘Hello World’, so the first thing I usually write in a new language is a die roller. Cause, tabletop gamer.
Easy peasy, lemon squeezy.
Then just right-click on the iRule and “save to BIG-IP” and that’s it.
Errors are detected on deploy by BIG-IP’s validation routines. So if you make an error (not that you would, mind you, but if someone were to mistype something) the plug-in will tell you when you try to save to the BIG-IP (deploy).
Once it’s deployed, you can assign it to a virtual server and voila! Instant random numbers from a variety of polyhedral dice.
Or, maybe something related to an app or the business would be more appropriate.
Regardless of what you might be developing using iRules or iRulesLX, the F5 Eclipse plug-in is a helpful tool that improves the interaction with BIG-IP when developing and deploying iRules or iRulesLX. Because it doesn’t require direct access to the BIG-IP, it’s a great tool to encourage DevOps to use BIG-IP programmability for implementing a variety of scalability architectures including complex URL dispatch, functional decomposition, and partitioning (sharding) schemes.
Using a tool like Eclipse as part of your NetOps toolchain will help with efforts around moving to treating infrastructure as code as well as developing a true continuous deployment pipeline via integration with other tools and systems.
So get your own copy today and start developing. If you aren’t sure where to start, head over to the DevCentral codeshare and take a gander at what the community has been cooking up lately. You might surprised to find just how creative NetOps can get when faced with a challenge and an extensible environment like iRules/iRulesLX.
Code on!