Microsoft Azure: Solutions 101

You can create BIG-IP VE configurations quickly, reliably, and without being an expert in cloud or BIG-IP VE by using the Azure templates on https://github.com/F5Networks. These templates are also called ARM (Azure Resource Manager) templates or solution templates.

Each template creates a pre-configured solution, saving you the time and effort involved in a manual configuration.

Templates can create configurations like:

  • Two BIG-IP VE instances with failover/high availability
  • A BIG-IP VE web application firewall (WAF), with more instances created when traffic requires it (auto scaling)
  • A standard 3-NIC BIG-IP VE, with internal, external, and management VLANs
  • And more

Additionally, each template can:

  • Introduce a BIG-IP VE into an existing environment (useful when you already have a VNet and/or resource group and want to add BIG-IPs), or
  • Create all new resources (useful when you want to test how a configuration works).

Working in github

Github is a source control system where templates and related resources live.

To get started with Azure templates, visit https://github.com/F5Networks/f5-azure-arm-templates. This is a landing page for the latest release of Azure templates created by F5.

The templates themselves are in a sub-folder called supported.

The experimental folder contains templates that have not been as rigorously tested as the supported templates, but that you can still use them in test environments.

../_images/github_callouts_azure.png

The quickest, easiest way to deploy a template is to open the folder called supported and navigate until you find the template you want.

Then view the associated README, scroll down, and click github_launchazure. The template opens in the Azure console. To deploy the solution, follow the steps in the wizard.

How to copy a template

If you want your own copy of the templates, so you can ensure you don’t accidentally edit someone else’s template, there are a few ways to do this.

Create a clone

To create a personal copy of a project and its templates, the easiest thing to do is click clone_button in the top right.

You can then download a zip file, use the GIT command line or SSH, or if you have GitHub Desktop installed, download and work with the files there.

For more information about installing Git, see this page.

To use the GIT command line, open a command window, navigate to the folder where you want to put the content, and type git clone with the URL.

For example, git clone https://github.com/F5Networks/f5-azure-arm-templates.git

Create a fork

If you want a web-accessible location for your personal templates, create a fork of the F5 github project.

To do this, click fork_button in the top right. You can edit files in your fork without affecting anyone else’s work.

Best practices

How you work in github is up to you, but here are some do’s and don’ts:

  • Do create a clone or fork of the project and mess with files there.
  • Don’t create a branch when you’re in the f5networks project. The developers at F5 use these branches to manage their workflow.
  • Don’t use experimental templates in production environments. F5 does not support it.
  • Do use supported templates, and edit only the custom configuration section detailed below.

How to edit a template

Each template contains the code required to deploy a specific BIG-IP VE configuration.

If you want the template to do additional configuration of the BIG-IP VE, you can. For example, you can add tmsh commands to configure a virtual server to receive traffic for your application.

The following example shows how to customize a 3-NIC configuration.

  1. In your personal copy of the project, click the supported folder and then standalone > 3nic > new_stack. A list of folders appears.

  2. Determine which template makes sense, based on the F5 license.

    ../_images/azure_github_folders.png

  3. For this example, click the PAYG folder.

  4. Click the README file and scroll down until you see the github_launchazure button.

    The template opens in the Azure portal.

  5. Click Edit template to view the contents of the template.

  6. Now find the section of the template that looks like this:

    "customConfig": "### START (INPUT) CUSTOM CONFIGURATION HERE\n",
    
  7. Replace the text inside the quotes with custom code. For example, here is the code to deploy the f5.ip_forwarding iApp:

    "customConfig": "tmsh create sys application service my_deployment { device-group none template f5.ip_forwarding traffic-group none variables replace-all-with { basic__addr { value 0.0.0.0 } basic__forward_all { value No } basic__mask { value 0.0.0.0 } basic__port { value 0 } basic__vlan_listening { value default } options__advanced { value no } options__display_help { value hide } } }"
    

    Important: This is the only section of the file that you can edit if you want F5 to support the template.

  8. Click Save to save your changes.

  9. Complete the template fields and click Purchase.

How to deploy a template

You can deploy a template a few different ways.

Launch button

In each README file, there is a link to launch the template in the Azure portal.

Azure portal

If you have the templates saved locally, you can you can log in to the Azure portal, go to Templates, and deploy your template there.

For more information about how to use templates in Azure, see this doc.

Bash

If you’d prefer to use bash, each template has a corresponding bash example.

For an example, see deploy_via_bash.sh.

Save the .sh file and then in bash, run the corresponding command, called ## Example Command: at the top of the file.

PowerShell

You can also use PowerShell to deploy.

For an example, see Deploy_via_PS.ps1.

Save the .ps1 file and then in PowerShell, run the corresponding command, called ## Example Command: at the top of the file.

View release details

By default, the main github page shows the latest release of the CFTs. Every six weeks or so, F5 releases a new version.

F5 recommends you use the latest release whenever possible.

The file called azure-bigip-version-matrix.md shows a list of releases, for example:

../_images/github_matrix_azure.png

The most recent release is the default when you go to https://github.com/F5Networks/f5-azure-arm-templates.

To choose an older release, select a branch tag. For example:

../_images/github_branchtags1.png

Get help

To ask questions to the F5 dev team and other community members, join the F5 Slack channel.