F5 Friday: DevOps Tools and F5
I spent a lot of time waxing theoretical about how you can do this and that and the other thing (yes, THAT thing) using one of the many faces of F5 programmability. There’s our SOAP and REST API – iControl – and our smart templates, iApps, and of course my favorite, our data path scripting environment, iRules.
With these tools in hand you can do just about anything. Seriously – I once used PHP and iControl to put my (personal) BIG-IP on Twitter. Not kidding. Not useful, either, but it’s one of those anecdotal examples that proves given an API and a developer’s mindset, you can pretty much do anything you want.
But not everyone has the luxury to build wheels themselves. Sometimes you just want a solution to your problem that’s already to go. Even developers are wont to cut and paste if the option is available because, well, why recreate the wheel?
So it would be totally unfair of me not to share some existing wheels in the DevOps tool space that already exist. From monitoring to managing, from scaling to deploying, there are a fair number of pre-existing solutions all ready to slap in place (or to be extended / customized) out in the broader DevOps tool ecosystem. And since I had reason to go looking them up, it would be a waste for me not to offer them up to you as well.
For reference, I’ve broken them down into four primary categories:
These tools can connect up to your BIG-IP and configure the basics necessary to deploy a virtual server (to scale an application). Includes functions like creating virtual servers, pools, and adding members/nodes to those pools.
These tools are able to collect statistics about the BIG-IP and the applications its delivering. Some of them use standard SNMP, others use our iControl API to query and pull stats (including custom statistics) for your operational dashboards and auto-scaling systems.
These tools are able to go a step beyond deployment and include the ability to orchestrate BIG-IP as part of an auto-scaling implementation.
Managing BIG-IP with these tools is mostly limited to pool management, meaning you can add, remove, create, and delete pools of resources at will.
Now you could go Google the one(s) you’re interested in but in a post focusing on saving time that would rather ironic, wouldn’t it? So to save you even more time (cause I’m nice like that) here’s a list of handy links you can use instead:
Without any further ado, here’s the annotated list:
- Monitors app, LB, and network stats with New Relic http://newrelic.com/plugins/new-relic-platform-team/9
- Manage LB pools with Electric Cloud http://electric-cloud.com/plugins/directory/p/bigip
- Chef Cookbook https://github.com/target/f5-bigip-cookbook
- Puppet plug-ins https://forge.puppetlabs.com/puppetlabs/f5
- Manage, monitor, deploy with Ansible http://docs.ansible.com/ansible/list_of_network_modules.html#f5
- Monitor with Nagios https://exchange.nagios.org/directory/Plugins/Hardware/Network-Gear/F5
- Manage and Deploy with SaltStack https://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.f5.html
- Elastic scale with Urban Code https://developer.ibm.com/urbancode/plugin/f5/
- Elastic scale with Xebia Labs https://docs.xebialabs.com/xl-deploy-bigip-plugin/4.0.x/bigipPluginManual.html
- Monitor with Splunk https://splunkbase.splunk.com/app/812/
This is not, of course, the final and complete list available. There are many others out there in the cloud and for the data center that are able to monitor, manage, scale, and deploy F5 BIG-IP. This list was compiled based on the most referenced DevOps tools, specifically geared for operations folks who are increasingly responsible for scaling apps, which means just these kinds of tasks. If you know of others please share it in the comments, and I’ll update the post.
For an in-depth look at how this kind of automation and orchestration fits into a bigger picture, take some time to check out my cohort’s article here on DevCentral, F5 in AWS Part 4: Orchestration BIG-IP Application Services with Open Source Tools.