Forum Discussion

Eric_Frankenfie's avatar
Eric_Frankenfie
Icon for Nimbostratus rankNimbostratus
Oct 20, 2012

New to iControl - What Language to Use

We have been testing failing specific application over to our DR site by disabling pools' production servers and enabling pools' DR servers, and adding new virtual servers for production server which are not being load balanced. This has been quite time intensive which has brought me to iControl.

 

I have no affinity or extensive experience with any specific language, so my question is, what language would you use to perform the following?

 

  • Enable/Disable specific members in specific pools
  • Change the IP address of specific virtual servers
  • Add new pools
  • Add new virtual servers

We have about 50 new virtual servers to create and about 30 pools to modify the state of its members. I am looking for the quickest and easiest to learn/support. So, if there is one language that has more code examples than others, that may be helpful so I do not need to reinvent the wheel. Also, I have a mix of 10.2.0 and 11.1.0 in my environment.

 

Any help would be greatly appreciated!

 

3 Replies

  • Hi Eric, the question of what language to pick is a tricky question. Here's the languages I can work my way around and some thoughts on each

     

    PERL: If you are a mac/unix person, then this is probably the obvious choice as it's installed by default on those systems. You'll just need to install the SOAP::Lite package with CRYPT::SSLeay for the https connections. The downside to perl is that it's a loosely typed language where you need to build up the parameters yourself. It's not hard, but takes a bit of learning to get over. I originally started with perl when developing iControl so there are a bunch of examples in the iControl CodeShare to reference. I also use this on Windows without any problem by the way.

     

    .NET: If you are a windows person, then the .Net library I wrote makes it super easy to integrate iControl into your C or VB app environment. It's not scripting per-say but if you know VB/C, it's very easy to setup and get running with. The fact that this is strongly typed (meaning you can't compile it uness you get the parameters correct) help with beginner development.

     

    POWERSHELL: Again, if you are on windows but want a scripting environment, Powershell might be for you. I built a set of Cmdlets that wrap the .Net assembly mentioned above so you have full access to our APIs but can use it from a more loosely typed command line (or by building scripts). This is my primary environment today as I like the introspection benefits that you get (auto-complete, etc). It still looks like a .Net library, but a bit more flexible. There are also a lot of tech tips and codeshare samples based on PowerShell. Look in the iControl wiki.

     

    JAVA: This will work equally well across platform. It behavies like the .NET library in that you need to write java code, compile it, and then run it like you would a windows executable. I personally find this a bit too much overhead for me, but I've never really been a java person at heart. There are a lot of customers who are using the java library with success.

     

    Hope this helps. If/when you do pick a language, let us know if we can help out with implementation issues.

     

    -Joe

     

  • Python! And with the arrival of the new bigsuds iControl library, Python is now a 1ST CLASS ICONTROL CITIZEN! It's great.