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: Confirm that you have the proper infrastructure available and that RPI v7 has implemented the plugins that you’re using in RPI v6.x
Step 2: Review required technical skills: Ensure that you have the required technical skills available to perform the upgrade
Step 1: Assess and inventory your environment
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
A Kubernetes solution available to use (Turnkey Cloud Solutions).
Install kubectl (Install and Set Up kubectl on Linux).
Install Helm and ensure you have the required permissions from your Kubernetes Administrator to deploy applications in the target cluster.
A SQL Server instance available to use for RPI databases.
Request access to Redpoint's container registry. Open a ticket with support@redpointglobal.com requesting access to the RPI repository.
A license key to activate RPI. Contact Redpoint Support for an activation key.
Install the latest version of .NET Desktop Runtime and ASP.NET Core Runtime.
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:
Go to the Upgrade Helper, download the
UpgradeAssistant.zip
and extract the ZIP file.In the unzipped folder, navigate to
UpgradeAssistant\RedPoint.Interaction.UpgradeHelper.exe
and double-click it.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:CODEData Source=localhost,2434;Initial Catalog=Pulse;Integrated Security=False;User ID=sa;Password=.RedPoint2021;Trust Server Certificate=True
Paste the v6 Pulse DB connection string and press Enter.
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:
CODEThis 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.
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.
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.
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.Click any key to close the Helper.
Step 2: Review required technical skills
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:
Kubernetes Documentation: Kubernetes
Certification: Certified Kubernetes Administrator (CKA) | Linux Foundation
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.