Skip to content
Pratik Bhattacharya edited this page Dec 19, 2021 · 3 revisions

Setup

In this section we will discuss how you can setup your Feature Flighting System. You can setup the Feature Flighting API in an on-premise system or any Cloud environment. However, for this section we will concentrate only on Azure.

Pre-Requisites

  1. Azure Subscription

Infrastructure Setup

The following Azure infrastructure is required:

  1. Azure App Configuration - Mandatory

    Azure App Configuration is the backbone of the system and is used for maintaining the feature flags. We also use Azure App Configuration to keep the external configuration required for running the system.

  2. Azure Key Vault - Mandatory

    Used for storing the secrets in the application. For using any other solution code changes are required.

  3. Azure App Service - Optional but recommended

    Hosts the API. You can use other hosting mechanism like VM, Kubernetes (AKS) or other cloud offerings. However, the hosting process in such infrastructure is not in this documentation's scope.

  4. Application Insights - Optional but recommended.

    Stores the instrumentation data for telemetry and monitoring. For using any other offering, code changes are required.

  5. Azure Front Door - Optional (mainly Production)

    Used for load balancing the workloads between multiple regions. You can use any load balancing solutions.

  6. Azure Storage

    Azure Blobs are required for storing JSON workflows. Azure Storage is only required if you are using Rules Engine filter.

Create the above infrastructure, you can refer the links to the official documentation to learn more about setting up the infrastructure.

Managed Identities (recommended)

We recommend using Managed Identities to connect to Key Vault. You will need to enable Managed Identity in the Azure App Service and then provide Get and List secrets access to the Azure App Service in your Key Vault. See the official documentation to know more about the process.

Configuration

After the infrastructure setup is completed you will need to add the configurations required by the API. The following type of configurations are required

  1. Environment Configurations - Configurations required for pointing to the Azure App Configuration and Key Vault.
  2. Azure App Configurations - External configuration required by the API.
  3. Key Vault Secrets - Connection string and secrets that need to be stored securely.

See the configuration section to know more about the configurations.