Deploying FME Flow on Azure

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

If your organization is moving to the cloud, or is already in the Azure domain, you may be interested to find out what options you have to host FME Flow in Azure.

As FME Flow evolves and develops we are continually improving our offering of deployments so that administrators can choose the most appropriate solution for their needs.

 

Virtual Machines

Most people choose the traditional option of setting up and managing virtual machines to install and run FME Flow, as you traditionally would on-premises. This may be the recommended approach, especially if you only have one FME Flow environment (not separate dev, test, prod environments) and you're not familiar or comfortable with Infrastructure as Code (IaC) templates.

If you're not sure which deployment type you need, it is recommended that you review our documentation on Choosing a Deployment Architecture or our article A Guide to Choosing your FME Flow Deployment Architecture.
An Express installation can be done all on one virtual machine and will be easy to set up. A distributed environment may use Azure services, such as Azure Files, Azure managed database, Azure Load Balancer or Application Gateway.

 

Azure Marketplace

Azure Marketplace is a catalog of applications that are available to deploy with the intention of getting you up and running faster than managing the installation and configuration yourself.
There are currently two Azure Marketplace offerings of FME Flow:

 

FME Platform

The FME Platform offering is a Virtual Machine that comes with an installation of FME Form and an express installation of FME Flow. 
We recommend this solution if you want to quickly get FME Flow into your Azure environment, possibly as a trial.
We don’t recommend this option for production workflows where you are running important workflows or fault tolerance and high availability is important. As the express installation of FME Flow has all components on a single VM this creates one point of failure.

 

FME Flow (Distributed Deployment)

The FME Flow (Distributed Deployment, Windows) is a distributed installation of FME Flow, making use of Azure services to optimize performance and reliability. You can read more about this deployment in our blog post. The services used include Virtual Machine Scale Sets (VMSS), Azure Load Balancer, Azure Application Gateway, Azure Database for PostgreSQL, and Azure File Storage.
At the final stage of deploying an Azure Marketplace offering you have the option to download the services and configuration as an Azure Resource Manager (ARM) Template. 
We recommend this solution for customers who want to create a fault tolerant FME Flow where components are distributed and replicated across multiple VMs (such as the FME Flow Core and Engines on VMSS) or components are running on Azure services designed to be highly available and/or fault tolerant (Azure File Storage, Azure Load Balancer, Azure Database for PostgreSQL). This deployment option is a standard deployment and only has FME installed on the virtual machines. If you need more customization (either different Azure services or other installed applications) we recommend that you adapt the ARM template to meet your needs, or install yourself as per our documentation.

If you're interested in customizing our marketplace ARM templates or would like more examples and details on other IaC templates, review this article: Infrastructure as Code (IaC) for Distributed FME Flow Deployments in the Cloud.

 

Self-build

You also have the option to install FME Flow from scratch across Azure services yourself. You may wish to review our Marketplace offerings or documentation for examples and guidance on how you can install FME Flow.
This would be a solution for someone who is looking to install FME Flow in a significantly different way to the marketplace offerings or ARM templates. This will also suit users who do not have experience in, or do not need IaC templates.

 

Containers

FME Flow has been adapted to support containerized deployments for several years now, making it easy to use Docker or Kubernetes. Our FME Flow components are built on Linux containers, so if you rely on any formats that require Windows OS or 3rd party plugins, you will need to reevaluate this solution.

 

Azure Containers

Azure Containers service allows you to host containers on the cloud. From docker.com, “A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another”. With FME Flow, each component is packaged into one container. There will be one container for the FME Flow Core, one for each engine, etc. Docker-Compose is a way of running multi-container applications (which FME Flow is).

Azure Containers supports Docker Compose, and you can visit their documentation for how to do this. FME Flow Docker Compose files are available here.

Docker is a solution for someone who is looking to quickly start up a containerized version of FME Flow using docker-compose. This would be a good starting place if you’re interested in a containerized FME Flow deployment and are able to manage your own containers and don’t want to manage virtual machines. If you want to run containers in production and you need FME Flow to be highly available, you may want to consider using Kubernetes.

 

Azure Kubernetes Service

Kubernetes (or K8S) adds extra benefits over Docker for production environments by providing a single control plane to manage all of your containers. The control plane is used to orchestrate containers and can schedule and automate Kubernetes deployment, as well as manage networking, load-balancing, security, and scaling. Kubernetes has self-healing capabilities, so if it notices that a container is unhealthy, it will bring up a new one to replace it.

  • More information on AKS can be found here.
  • FME Flow documentation for AKS can be found here.

We recommend Kubernetes for customers who have expertise in this area within their organisation and already have experience in setting up clusters and deploying applications into Kubernetes. Kubernetes has benefits over Docker that make it more suited to fault tolerant multi-container applications where demand may not be constant.

 

Hosted FME Flow - FME Flow Hosted

If your organisation is embracing the cloud and you don’t want to manage FME Flow yourself, FME Flow Hosted might still be a good solution for you. Whilst FME Flow Hosted is hosted in AWS, if your Azure infrastructure and FME Flow Hosted are both hosted in the same geographic region, then network performance is still excellent. Find out more here.

This article might be a good reference material: Feature Comparison: FME Flow and FME Flow Hosted

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.