BIG-IQ 5.4 has a host of exciting new features such as the Central Policy Builder which suggests new security policies based on traffic across your enterprise, fine-grained Roles-Based Access Control (RBAC) that allows application teams to manage network services for their own application, remote script management, and support for F5’s new Per-App BIG-IP VE (virtual ADCs sized for individual applications). Perhaps the most exciting new function is the ability to turn settings for an application into a template for rapid reuse. Let’s take a look at BIG-IQ’s new Application Template function.
An application template is a collection of the objects and default parameter settings for an application. You can deploy the collection of objects in that template to any devices – and you can do so either manually or programmatically. BIG-IQ helps you create a catalog of these templates.
To be clear, this version of BIG-IQ only includes LTM objects and configurations in Application Templates. Future versions will include a broader range of configurations.
You might ask, can’t I do this using iApps and iWorkflow to help orchestrate them? Yes, however, iWorkflow requires you to commit to using iApps – and not everyone is willing to do so. And, iWorkflow lacks the reporting, alerting and central management functions that are so rich in BIG-IQ.
So how does this work? Let’s say that you want to standardize your HTTPS application to use a virtual server, a client SSL profile, a pool and nodes. You might want some configuration settings to be consistent across all your applications while others will need to customizable. With BIG-IQ you create an application template that includes each of these objects. You can set default settings and you specify which parameters will editable and which will not. When someone uses your template to create an application, all they need to do is provide the editable values (virtual server address, number of nodes and their addresses, and so forth.) and then deploy the application.
Better still, BIG-IQ will display the declarative API call that can be used to deploy this application (see figure 1), making it easy to use BIG-IQ for orchestrating the deployment of applications.
Application templates can be created manually or by importing existing LTM objects. Parameters for those objects can be defined as editable. Parameters defined as not editable in the template are included using the default template values. Parameters defined as editable are visible and can be revised. When you are defining a template object, you can specify the prompt that will be displayed when a user is deploying an application from this template. This allows you to customize the questions using terminology that is specific to your environment and not limited to the F5 lexicon that the application team might not understand. As you are defining which fields are editable, you have the option to preview what questions will be asked at deployment time. Finally, the person creating the template can specify if multiple instances of an object can be created as part of the application deployment. This allows you to create a single template that can be used to deploy applications with one or more nodes or pool members, where everything else in the application is kept standard.
Application Templates are created and managed under the “Application” tab (new in 5.4). The workflow is straight forward. First you go to the “Service Catalog” and click “Create”. You can then define:
HTTP and HTTPS Monitors
Client SSL Profiles
Once the template is defined, you can create and deploy applications.
Ultimately, we can expect this concept of Application Templates to be expanded to allow templating of all services – not just LTM. This is an important step in the direction of “application centric” networking in which analytics are integrated with management and orchestration to build a more agile network. So, this application templating function, while useful today, is still not the last word in application management. The bottom line, BIG-IQ 5.4 will help you deploy applications more quickly and consistently than ever before.