According to CSC Distinguished Engineer & Chief Product Architect (and bass player) Martin Bartlett,
'The concept of an API pre-dates even the advent of personal computing, let alone the Web, by a very long time! The principal of a well-documented set of publicly addressable "entry points" that allow an application to interact with another system has been an essential part of software development since the earliest days of utility data processing. However, the advent of distributed systems, and then the web itself, has seen the importance and utility of these same basic concepts increased dramatically.’ (Courtesy: http://history.apievangelist.com/)
An API is a set of routine definitions, protocols, and tools for building software and applications. It is software written to function as a communication bridge between Web applications. That’s how iControl started according to Joe Pruitt – as a way for the early versions of BIG-IP LTM (BIG-IP) and BIG-IP DNS (3-DNS/GTM) to communicate with each other to ensure they were making the right traffic management decisions. And this was 16 years ago!
Today, APIs are all over place running behind the curtains without any direct user interaction. They are primarily used for computer consumption and typically absorbed by web applications. APIs make services available for developers to build those same services into their applications. eBay, Amazon & AWS, Facebook, Twitter and Google Maps are some examples you might be familiar with. For instance, Google Maps has an API so developers can use the back-end services to create their own ‘maps.’ Maybe it is a map of restaurants in the vicinity of a hotel. The hotel website could use the Google maps API to show different shopping, eating or recreational activities in the area. They wouldn’t need to develop the maps nor house the data themselves.
With the Internet of Things (IoT), APIs allow you to share, manage, access and interact with your previously unconnected items like cameras, bicycles and even medicine bottles. And there are many IoT APIs that are available.
And that’s really the point with iControl.
Whether you’re looking to tweak a feature or spin up 500 new pool members, iControl can do it. Anything you can do via the command line or GUI, you can accomplish via iControl. And, you can do it programmatically so you don’t have to enter in every single command in the chain, or wake up someone at 3am during the change control window just to bleed the servers off a pool.
iControl is F5’s open, web services-based API that allows complete, dynamic, and programmatic control of control over nearly every aspect of both execution and configuration on BIG-IP systems. With iControl you can work like a wizard—add, modify, or configure your F5 device in real time. It is the primary means through which BIG-IP is integrated into both commercial management offerings and cloud computing environments. In short, iControl is a simple, light weight API that allows you programmatic access via Traffic Management Shell (tmsh) commands.
And now you can say, 'I control my infrastructure with iControl.'