Manage SaaS deployments

Use Xperience Portal (available at https://xperience-portal.com) to manage your Xperience by Kentico applications deployed in the SaaS environment.

You need to upload a deployment package to your Xperience Portal project to trigger an initial deployment to the QA environment. After a successful deployment, you can access the deployed application and manage the SaaS deployments within Xperience Portal, which enables you to:

Deployments in Xperience Portal

Deployment environments

You can use the following SaaS deployment environments:

  • QA – A QA engineer tests the deployed application in the QA environment and deploys the deployment package to the UAT (User Acceptance Testing) environment.

  • UAT – A project manager tests the final functionality in the UAT environment and promotes the deployment package to the production (PROD) environment.

    The UAT environment is only available for the Level 3 project tier.

  • PROD – A live production environment. Use this environment to deploy a tested iteration of your application.

Access deployed applications

After successfully uploading the deployment package to the QA environment or deploying the package to another deployment environment, use the application URL displayed in the Deployments application under Latest deployments to access the deployed application.

Each project has a default system domain in format: <environment>-<project_code_name>.xperience-sites.com

The default domain can be used to access the project’s administration UI. You can view your project’s default system domains in the Channels and Domains → System domains application in Xperience Portal.

Additionally, projects also have domains for individual website and email channels. You can set up custom domains for website and email channels in the PROD environment. To learn more, see Website channels in the SaaS environment and Email channels in the SaaS environment.

Deploy the application package to another deployment environment

After deploying a deployment package to the QA environment, you can deploy it to another environment from Xperience Portal:

  1. Navigate to the Deployments application.

  2. Select Deploy to, located under the environment where the package is currently deployed. A drop-down menu is displayed.

  3. Select the environment where you want to deploy the package.

  4. Select whether you want to deploy the package immediately or schedule a production deployment for a later date.

    The SaaS environment checks if the production deployment causes downtime.

  5. Allow a minute for the deployment process to be displayed in the Deployment history.

    Repeating the procedure triggers a new deployment.

  6. Check the Deployments section to verify the package is deployed to the environment you selected.

    If you need to debug a failed deployment, see the Logs in the Deployment history section.

Your application is now deployed and running in the selected environment.

Schedule a production deployment for a later date

Deployment to the production environment can cause application downtime and is critical for a seamless customer experience. 

When you trigger the production deployment with the Deploy to action, the SaaS environment reports if the deployment causes downtime. You can decide whether to proceed with the deployment, schedule the deployment, or cancel the deployment.

Select the Cancel scheduled deployment button in the Deployments application to cancel the scheduled deployment.

Scheduling the production deployment blocks instant production deployment and additional scheduling.

Cancel the existing scheduled deployment in the Deployments application to enable these actions.

If the scheduled deployment fails to start, the project’s Tenant administrators and the user that scheduled the deployment receive a notification email, and the production environment is unaffected.

If the scheduled deployment starts successfully, but the deployment pipeline fails, users will not receive a notification email.

See the deployment Logs in the Deployment history section to debug the failed deployment.

Channel management

Content in Xperience by Kentico is encapsulated within channels, which are bound to specific domains. To allow the content to be presented by deployments in the SaaS environment, you need to add and configure all website and email channels within Xperience Portal in the Channels and Domains application.

For detailed information, see:

Backups

Backups allow you to restore previous versions of your project for a particular environment.

Xperience Portal creates automatic production backups, and you can also create manual backups for production and non-production environments. Backups can be viewed, managed and restored using the Backups application.

Full and partial backups

Applications deployed in the SaaS environment consist of the following:

  • Application service – application binaries and runtime files,
  • Database – reflects the current state of the environment’s database,
  • Storage and files – reflects the current state of files in the environment’s Azure Blob storage.

When creating a manual backup, you can choose whether to create a full or partial backup.

  • Full backups include all of the above components, and can be restored.
  • For partial backups, you can select which components are included. Create and download partial backups if you wish to inspect the current state of the application – debug the database or check the integrity, versions, and number of files in the deployment environment.

Automatic production backups

Kentico automatically creates the following full backups:

  • For deployments to all environments:
    • Predeployment backups which are retained until overwritten by a new deployment to the given environment.
  • For deployments only to the Production environment:
    • Daily backups with a retention policy based on your project tier:
      • Level 1 – 3 days
      • Level 2 – 3 days
      • Level 3 – 7 days
    • Weekly backups with a retention policy of 30 days.

See Licensing Xperience by Kentico for information about project tiers and how to change to a different project tier.

Create a manual backup

You can create manual backups for both production and non-production environments.

The retention policy for manual backups is:

  • Full backups:

    • Level 1 project tier – 3 days
    • Level 2 project tier – 3 days
    • Level 3 project tier – 7 days
  • Partial backups – 60 hours

    To create a manual backup:

  1. Navigate to the Backups application.

  2. Select Create backup in the upper-right corner.

  3. Select the environment for which you want to create a backup.

    Only Tenant administrator and DevOps roles can access and create backups for the Production environment. See Reference - Xperience Portal user roles.

  4. Select whether to create a full backup or select the components you want to include in the partial backup.

  5. Select Create and wait for the backup to be created.

    You can have only one backup process running at a time.

Your backup is now available in the Backups application.

Download a backup

  1. Navigate to the Backups application.
  2. Select an environment and select Apply. A list of backups for the environment is displayed.
  3. Download the backup by selecting Download () under Actions.

Download backups of storage and files

Unlike the backups of the application service and database, the storage and files backups are not directly downloadable. Instead, they are accessible via the AzCopy or Azure Storage Explorer tools using a generated Storage URL. The URL is set to expire in 12 hours after its creation. If you will need a new URL, simply click the download button again and a new Storage URL gets generated.

To access and download the backup files, follow the onscreen instructions in Xperience Portal for either the AzCopy or Azure Storage Explorer tool.

Downloading backups allows you to inspect the state of the application – debug the database or check the integrity, versions, and number of files in the deployment environment.

If you wish to restore a downloaded backup, contact Kentico support. You cannot directly restore a downloaded backup in Xperience Portal.

Restore a backup

  1. Navigate to the Backups application.
  2. Select an environment and select Apply. A list of backups for the environment is displayed.
  3. Restore the backup by selecting Restore () under Actions next to a full backup.
    • Note: You cannot restore a partial backup.
  4. On the Restore a backup page:
    • Select exactly which backup you wish to restore.
    • For production environments, you can upload an “offline” HTML page in the Custom HTML page field.
      • This page is displayed on the live site while the backup is being restored.
      • We recommend creating a page that matches your site’s design and branding.
      • A default offline page is used if you do not add a custom one.

Application monitoring

The Monitoring set of applications in the Xperience Portal are designed to keep your application running smoothly and provide full visibility into your application’s performance, enabling you to quickly detect and resolve issues, optimize performance, and ensure the best possible user experience.

Uptime monitoring

Use the Outages application under Monitoring in Xperience Portal to see a list of outages for your Xperience Portal project and deployed applications. Records include the time when the outage occurred and the cause of the outage. You can filter the outages by the month when they occurred.

Go to status.xperience-portal.com to see the uptime statistics for Xperience Portal. See Xperience Portal uptime statistics.

Your Xperience Portal project occasionally undergoes scheduled maintenance, indicated by a notification bar with the date and time of the maintenance.

Certain Xperience Portal features are unavailable during maintenance. See Scheduled Xperience Portal project maintenance.

Outages

Scheduled Xperience Portal project maintenance

Scheduled maintenance causes certain Xperience Portal features to become unavailable:

  • Deployments application and uploading deployment packages – the deployment API will respond with 503 Service unavailable,
  • Channels and Domains applications,
  • Monitoring → Outages application,
  • Production site availability may also be affected.

Tenant administrators are notified of the scheduled maintenance by email at least seven days prior. A notification bar with the date and time of the scheduled maintenance is displayed in Xperience Portal.

Xperience Portal uptime statistics

Go to status.xperience-portal.com to see the statistics about the availability of:

  • Xperience Portal
  • Deployment API
  • Production sites by region

You can also see the list of Past incidents below the statistics.

You can subscribe to the incident reporting to receive a message whenever Kentico creates, updates, or resolves an incident. Select Subscribe to updates at the top of the Xperience by Kentico status page.

Event log and exceptions

Xperience by Kentico integrates Application Insights for ASP.NET Core applications to enable monitoring and aggregation of metrics for your website. For detailed information about enabling the Application Insights integration for your projects, see Deploy to the SaaS environment.

To view the Application Insights logs for your deployments, use the following applications under Monitoring in Xperience Portal:

  • Event log – displays entries from the Xperience event log and any custom messages sent via the Application Insights SDK.
  • Exceptions – displays all .NET exceptions (errors) from Application Insights. Includes exceptions that can occur before the Xperience application is fully running, in addition to errors in the Xperience event log.

You can filter the logs for individual deployment environments, and based on the time when the event occurred.

Exception data from Application Insights

Log size limits

There is a daily limit on the size of the Application Insights logs. After the daily limit is reached, further logs are discarded.

The following table lists the daily limits for all deployment environment types and project tiers.

Environment

Project tier

GB/Day

QA

All

1

UAT

Level 3

2

PROD

Level 1 & Level 2

3

PROD

Level 3

6

1 GB can store approximately 125 000 average-sized exceptions or event log records.

Performance metrics

Use the Metrics application under Monitoring to see various performance metrics related to applications deployed to the SaaS environment. The available metrics include server errors, response time, CPU usage and memory usage. By tracking these metrics, potential issues can be detected and addressed before they impact users, bottlenecks and areas for optimization can be identified, resource utilization can be better understood, and insights can be gained to make data-driven decisions to improve and optimize the application.

To view performance metrics for various SaaS environments:

  1. In Xperience Portal, navigate to Monitoring → Metrics.
  2. Select an Environment and a Time period, for which you want to display metrics.
  3. Apply the changes.

Metrics in Xperience Portal

Alerts

Alerts notify about potential problems with applications deployed to the SaaS environment. Most of the available alerts are based on performance metrics, such as application responses, server errors or CPU/memory/DTU utilization.

The system currently provides the following types of alerts:

Alert type

Severity

Alert conditions

Application response

Critical

The application was not responding to web requests for over 15 minutes.

“Not responding” means that the value of the Application response metric is 0%.

CPU utilization greater than 80%

Error

The application’s CPU utilization was above 80% over the past 30 minutes.

Memory utilization greater than 90%

Error 

The application’s memory utilization was above 90% over the past 30 minutes.

DTU utilization greater than 90%

Error

The application’s Database Transaction Unit (DTU) utilization was above 90% over the past 30 minutes.

The DTU utilization metric is calculated as the ratio of used DTUs to the total DTUs available for your project’s plan.

DTU utilization greater than 70%

Warning

The application’s memory utilization was above 70% over the past 30 minutes.

The DTU utilization metric is calculated as the ratio of used DTUs to the total DTUs available for your project’s plan.

Failed requests (Server errors)

Error

More than 5% of web requests sent to the application over a 30 minute interval resulted in a failed status, i.e. returned a 5xx HTTP status code.

Failed deployment

Error

Deployment of a package failed.

Service scaling

Warning

A production environment was scaled out to the maximum number of allowed instances over the past 360 minutes. Typically occurs due to autoscaling under heavy load.

Only applies to projects with a custom project tier, which can allow scaling to 3 or more service instances.

To view alerts for your project’s deployments, navigate to Monitoring → Alerts in Xperience Portal. You can filter the alerts for individual deployment environments, based on the time when the alert was fired, and the alert severity.

Alerts are displayed with the Resolved flag if the conditions that caused the alert to fire no longer apply. For example, a CPU utilization alert will be resolved after the utilization drops under the 80% threshold for 30 minutes. Select Show active alerts only in the filter if you wish to see only unresolved alerts.

Alerts in Xperience Portal

Alert email notifications

Whenever an alert is fired, the system sends a notification email to all Xperience Portal users assigned to the related project.

Individual users can adjust their preferences for receiving alert email notifications:

  1. In Xperience Portal, expand the top-right user menu.
  2. Select Settings.
  3. Under Alert notification emails, clear or select the checkboxes matching the alert severity levels for which you want to receive email notifications – Critical, Error, Warning.
  4. Select Apply.