Skip to main content
Skip table of contents

Plan your RPI v7.x upgrade

Upgrade strategy

When planning to upgrade to RPI v7, there are two main facets you need to consider:

Step 1: Assess and inventory your environment

upgrade-plan1.png

To ensure that your configuration is compatible with an upgrade and that all connectors/plugins are available, check the environment by performing a readiness assessment.

Step 1a: Review the prerequisites

If you use Postgres as your data warehouse, there has been a change in the driver that RPI uses. RPI v6 used ODBC, while v7 uses the .NET version. The upgrade will not replace any of those connection strings, so you must perform this action manually.

Step 1b: Review the release notes

Review the Redpoint Interaction release notes to identify and note any new features, changes, or deprecated functionalities that may affect your current setup.

Step 1c: Document existing environment

Document your existing RPI v6.x environment, including all integrations, configurations, and customizations.

Step 1d: Identify dependencies

Identify all dependencies and ensure compatibility with RPI v7.x.

Step 1e: Run the RPI Upgrade Helper

Before upgrading from RPI v6.x, use the RPI Upgrade Helper to assess which plugins are being used in your RPI v6 installation to determine if any are unsupported in RPI v7.

The Upgrade Helper also provides a starting point for the configuration of v7 environment variables by converting v6 config settings into v7 format.

To run the Upgrade Helper:

  1. Go to the Upgrade Helper, download the UpgradeAssistant.zip and extract the ZIP file.

  2. In the unzipped folder, navigate to UpgradeAssistant\RedPoint.Interaction.UpgradeHelper.exe and double-click it.

  3. Locate and copy the Pulse database connection string. This can be found in the Execution Service's Resonance.ExecutionService.exe.config file. It should look similar to the following:

    CODE
    Data Source=localhost,2434;Initial Catalog=Pulse;Integrated Security=False;User ID=sa;Password=.RedPoint2021;Trust Server Certificate=True
  4. Paste the v6 Pulse DB connection string and press Enter.

  5. Review the results of the Helper’s execution (you’ll be able to save the results to file before closing the application). Any incompatible plugins will be listed. For example:

    CODE
    This RPI deployment is using at least one plugin not supported in v7. Details below
    
    Supported:
         OutboundDelivery - Channel - One - 7.1
         Azure Storage - ECP - One - 7.1
         RabbitMQ - Realtime Queue - One - 7.0
         SQLServer - DatabaseSQL - One - 7.0
         MongoDB - DatabaseNoSQL - One - 7.0
         SQLServer - DatabaseSQL - Debug - 7.0
         RabbitMQ - Listener Queue -  - 7.0
    
    Unsupported:
         SparkPost - Channel - One - NA
    
    
    Plugin Compatability Report:
    
    {
      "IsV7Compatible": false,
      "Plugins": [
        {
          "ClientName": "One",
          "PluginType": "Channel",
          "PluginName": "OutboundDelivery",
          "ReleaseVersion": "7.1",
          "IsV7Compatible": true
        },
        {
          "ClientName": "One",
          "PluginType": "Channel",
          "PluginName": "SparkPost",
          "ReleaseVersion": "NA",
          "IsV7Compatible": false
        },
        {
          "ClientName": "One",
          "PluginType": "ECP",
          "PluginName": "Azure Storage",
          "ReleaseVersion": "7.1",
          "IsV7Compatible": true
        },
        ...
      ]
    }

If you’re using one or more plugins in RPI v6 that are not compatible with v7 ("IsV7Compatible": false), contact Redpoint Support to let them know. The Coming soon section of Supported connector documentation provides a list of connectors that are planned for integration in future versions of v7, but Support may be able to provide more specific information.

  1. Additionally, the Upgrade Helper will output a series of v7 environment variables, which can serve as a starting point for the new v7 cluster. The General section lists variables applicable to all containers; the other two sections list variables applicable to the Execution Service and Interaction API containers, respectively.

CODE
v7 Environment Variables:

{
  "General": {
    "ConnectionStrings__OperationalDatabase": "Data Source=localhost,2434;Initial Catalog=Pulse;Integrated Security=False;User ID=sa;Password=.RedPoint2021;Trust Server Certificate=True",
    "ConnectionStrings__LoggingDatabase": "[not set]",
    "RPI__ServiceHostName": "local.rphelios.net",
    "RPI__SMTP__EmailSenderAddress": "rpi.dev@redpointcloud.net",
    "RPI__SMTP__Address": "email-smtp.us-east-1.amazonaws.com",
    "RPI__SMTP__Port": 587,
    "RPI__SMTP__Username": "AKIAQCPDZ5MFSRYWZ6CZ",
    "RPI__SMTP__Password": "BCv7\u002BcS9ADON6yOvtT4O/Uo0xM97c7zW6qiug97XO/zt"
  },
  "Execution": {
    "RPIExecution__QueueListener__IsEnabled": true,
    "RPIExecution__QueueListener__QueuePath": "QueueListenerV6"
  },
  "InteractionAPI": {
    "RPIClient__HelpStartPageURL": "http://redpointdev.rphelios.net/ResonanceHelp/",
    "Authentication__OpenIdProviders__0__Name": "OIDC",
    "Authentication__OpenIdProviders__0__AuthorizationHost": "https://dev-50143469.okta.com/oauth2/default",
    "Authentication__OpenIdProviders__0__ClientID": "0oargz4f50bChsQtf5d6",
    "Authentication__OpenIdProviders__0__Audience": "api://default",
    "Authentication__OpenIdProviders__0__RedirectURL": "https://local.rphelios.net/Interaction",
    "Authentication__OpenIdProviders__0__EnableRefreshTokens": true,
    "Authentication__OpenIdProviders__0__LogoutIdTokenParameter": "id_token_hint",
    "Authentication__OpenIdProviders__0__ValidateIssuer": true,
    "Authentication__OpenIdProviders__0__ValidateAudience": true
  }
}

You will use the contents of this file as a reference to customize the values.yaml file for the Helm Chart before deploying the new v7 cluster. For instance, you will need to update the SMTP and database connection strings in the values.yaml based on the information provided in the example.

  1. Output the results to file by entering Y at prompt (recommended). The results file location will be shown onscreen as a relative path from the folder in which the .exe was run. 

  2. Click any key to close the Helper.

Step 2: Review required technical skills

upgrade-plan2.png

Embrace the autonomy of the Private Cloud (On-Premises), where your enterprise retains full control over data and system operations. This bespoke environment is managed entirely by your in-house team, providing a dedicated space that upholds strict data governance and security protocols. With the Private Cloud, you gain the flexibility to customize your infrastructure and operations to fit precise organizational requirements, ensuring a secure, compliant, and highly tailored cloud experience. Ideal for organizations with rigorous data sovereignty needs, the Private Cloud offers a personalized and secure extension of your IT capabilities.

To fully leverage the potential of the Redpoint Platform and ensure a successful deployment, it is crucial for your in-house team or a technical partner to possess the necessary skills and expertise to administer below:

Networking

  • Firewall: Includes both network-level and application-level firewall solutions.

  • Virtual Networks: Encompasses the setup of virtual private networks (VPNs) and direct connections.

  • DNS: Covers both internal and external Domain Name System (DNS) services.

  • Load Balancing: Specifies the inclusion of both software and hardware load balancing solutions.

Kubernetes (K8s)

  • Managed Services: Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), and Google Kubernetes Engine (GKE), along with self-managed equivalents.

  • Cluster Sizing and Administration: Includes auto-scaling, cluster health monitoring, and maintenance.

We would like to highlight the mandatory knowledge for Kubernetes management, as Kubernetes is critical for deployment and administration of your new environment. Knowledge for self-hosting should include, but not be limited to:

  • Helm charts (deployment): Administrators should know how to read and form a YAML file. Helm charts are comprised of a series of YAML files that manage the deployment of the application. These include Deployments, Replicasets, Services, Ingress, Serviceaccounts, Storage etc.

  • Fundamental knowledge for an application: Deployments, Replicasets, Pods and Containers.

  • Fundamental knowledge for application networking: ClusterIPs, Nodeports, Loadbalancers, Ingress and Ingress Controllers.

  • Generation of certificate signing request and how to separate TLS certificate into Cert/Key files. Creation/deletion of Kubernetes secrets.

  • Monitoring Pods logs and leverage other troubleshooting tools, such as the Describe command.

For further information, refer to:

RDBMS administration

  • Managed Services: Azure SQL for Microsoft SQL Server, Snowflake Data Cloud, AWS Redshift for data warehousing, and GCP BigQuery for big data analytics, including self-managed equivalents.

  • Instance Sizing, Schema, and Query Optimization: Encompasses performance tuning for database efficiency.

  • Backups: Strategy and implementation of both automated and manual backup solutions.

NoSQL DB administration

  • Managed Services: Includes MongoDB Atlas, Redis, and GCP BigTable as examples of NoSQL database platforms, along with self-managed equivalents.

  • Instance Sizing, Schema, and Query Optimization: Focuses on optimizing performance for NoSQL database systems.

Storage

  • Kubernetes Volume Mounts: Addresses both persistent and ephemeral storage solutions within Kubernetes.

  • Managed Services: Includes Azure Storage Account, AWS S3, GCP Cloud Storage, and self-managed storage solutions, covering various storage needs.

Secret management

  • Via managed services like Azure Key Vault, AWS and GCP Secret Manager, or self-managed equivalents, focusing on the secure management of keys, certificates, and API credentials.

Logging and monitoring

  • Comprehensive coverage of infrastructure, application, and security logging.

  • Inclusive of real-time monitoring, alerting systems, and analytical tools for performance and security insights.

Messaging services

  • Tailored for asynchronous communication and event-driven architectures.

  • Managed services like Azure Storage Queue/Event Hub, AWS SQS, GCP PubSub, and self-managed equivalents, highlighting their application in specific use cases.

Next steps

Once you’ve planned your upgrade, you’re ready to move to the implementation phase.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.