Cloud setup

Setting up a cloud environment for Member Junction (MJ) on Azure involves several key resources. This guide will walk you through the minimal setup required, as well as additional components to enhance the capabilities of MJ.

Minimal Setup

App Registration for Authentication

An app registration is crucial for authentication. Follow the Authentication guide to set up MSAL authentication.

SQL Server and Database

The database is the main point of convergence for incoming external data and the internal MemberJunction data and metadata.

  1. Create a SQL Server:
    • In the Azure portal, navigate to SQL Servers and click "Add."
    • Configure the server name, admin login, and password.
    • Select the appropriate subscription and resource group.
    • Choose a location and click "Review + create."
  2. Create a SQL Database:
    • In the SQL Servers section, select your newly created server.
    • Click "Add database" and configure the database name.
    • Choose the compute and storage options that fit your needs.
    • Click "Review + create."

Note the server hostname and database name for configuring the environment variables in MJAPI and MJExplorer deployments.

Web App Resource for MJAPI

The MJAPI web app hosts a GraphQL API that powers the MJExplorer app, as well as any other custom apps or services.

  1. Create a Web App:
    • Navigate to "App Services" in the Azure portal and click "Create."
    • Configure the app name, publish method (Code or Docker), runtime stack, and region.
    • Select the appropriate subscription and resource group.
    • Configure the service plan and click "Review + create."
  2. Deploy MJAPI:
    • Use Azure DevOps, GitHub Actions, or any CI/CD pipeline to deploy your API code to the Web App.

Note the web app domain name for configuring the MJExplorer environment. See the Microsoft documentation for setting up a custom domain for your MJAPI deployment.

Static Web App Resource for MJExplorer

  1. Create a Static Web App:
    • Navigate to "Static Web Apps" in the Azure portal and click "Create."
    • Configure the app name, region, and deployment source (GitHub, Azure DevOps, etc.).
    • Select the appropriate subscription and resource group.
    • Click "Review + create."
  2. Deploy MJExplorer:
    • Connect your repository and configure the build settings for the Static Web App.

For production use, it is recommended to follow the Microsoft guide to adding a custom domain for your MJExplorer deployment.

Enhancing MJ with Additional Components

Azure Data Factory

Azure Data Factory allows you to move data from external systems into the MJ common data platform (CDP).

Azure Blob Storage for File Uploads

Azure Blob Storage is ideal for storing and managing file uploads.