Many of us have lived through it: failed deployments, site outages, and war rooms. The live site fails. Both marketing and IT scramble for a fix, and finally discover a missing certificate binding. Experiences like this led BlueModus to embrace Xperience by Kentico SaaS—and what we found reshaped the way we host and deploy.

Why marketers love Xperience SaaS

Xperience customers love SaaS because it provides assurance and easy maintenance. SaaS means their sites and marketing channels are hosted by a well-practiced, expert, 24×7 support team with robust automations and standards to keep everything running. They also appreciate the freedom from training teams, meticulous backups, CDNs, storage accounts, WAFs, load balancing, and SQL management. As Debbie Tuček noted in a recent article, many marketers are relieved when they no longer have to deal with an over-stretched IT team unfamiliar with Xperience. They prefer partnering with a SaaS team whose success depends on treating them like valued customers.

So, why do technical teams worry?

Technical teams are often less attracted to SaaS. They worry about losing control of infrastructure, automated deployments, troubleshooting access, and familiar tools. At BlueModus we had the same concerns—until we saw how Xperience SaaS reduces the cost and risk of self-managed infrastructure while fitting our existing automated processes. All these concerns turned out to be bogeymen. The rest of this post explains how we adjusted our hosting and deployment processes to thrill technical teams and customers.

Private cloud hosting

Before describing our SaaS approach, it’s useful to show how we manage environments, deployments, and troubleshooting in a self-managed private cloud Xperience project.

Private cloud environments

Our typical self-managed Xperience projects run in Azure tenants. Production uses the most robust infrastructure, QA mirrors production to validate every layer, and Dev stays intentionally simple.

Environment Purpose Azure services
Production Live site
Production authoring
Production marketing
Typical
Cloudflare WAF
Multiple Web App instances
App Service slots
Azure Storage Accounts
Virtual Networks
Private Endpoints
Azure SQL Databases
SendGrid
Optional
CDN
Multi-region Web Apps
SQL Always Availability Groups
QA QA testing Customer validation (same as production environment)
Dev Build & deploy validation
Pre-QA smoke tests
CD-package creation
Single Web App instance
Azure SQL
Azure Storage
SendGrid

At present, customers edit content directly in Production using Xperience publishing workflow and preview features. Kentico’s upcoming Content Synchronization feature will allow a separate authoring tier, but a single production environment simplifies workflow and reduces overhead.

Private cloud deployments

We rely on Azure DevOps multi-stage pipelines together with Xperience Continuous Integration (CI) and Continuous Deployment (CD).

  • CI files—committed with code—keep Dev database configurations aligned with local developer environments.

  • CD packages—generated from the integrated Dev database—apply identical configurations to QA and Production.

Azure App Service Web Jobs automate critical steps:

  1. Version update job (planned) – checks the database version and applies Xperience refreshes, using point-in-time restores if needed.
  2. CI-restore job – runs --kxp-ci-restore after each Dev deployment to import CI changes.
  3. CD-package job – uses the Dev environment to create a CD package with --kxp-cd-store, zips it, and signals the pipeline to download and merge it with the build artifact.
  4. CD-restore job – imports the package in QA and Production with --kxp-cd-restore.

Private cloud pipelines

Build stage Dev environment Upper environments
Build backend
Build frontend
Package build
(including CI files)
Deploy build artifact
Call Xperience refresh job
Call CI-restore job
Call CD-package job
Download CD package
Merge build + CD into new artifact
Deploy build artifact
Call Xperience refresh job
Call CD-restore job

Private cloud troubleshooting

Full infrastructure access delivers control but also significant burden: DNS records, certificates, VNET routes, WAF rules, storage keys, bindings, SQL restrictions, and upgrades. All can fail and demand deep expertise to fix in an emergency.

Xperience SaaS hosting

A SaaS project still includes Dev, QA, and Production, but Kentico manages every layer except a lightweight Dev environment used for build validation, smoke tests, and CD-package creation. Clients therefore avoid maintaining the most complex, critical infrastructure.

Are you onboarding to a new Xperience by Kentico SaaS project?

Review our Get started with SaaS guide to get you logged into the Xperience Portal.

SaaS project infrastructure

Environment Purpose Services
Production Live site
Production authoring
Production marketing
Xperience SaaS
QA QA testing
Customer validation
Xperience SaaS
Dev Build & deploy validation
Pre-QA smoke tests
CD-package creation
Single Web App instance
Azure SQL
Azure Storage
SendGrid

SaaS deployments

Xperience SaaS streamlines our DevOps process. CD-restore and auto-upgrade jobs are unnecessary in QA & Prod; only Dev may need an upgrade process. The main change is to ensure that the artifact created after a Dev deployment matches the SaaS deployment-package format, ready for upload through the Xperience Portal, and deployment with a click.

We applied the following pipeline changes:

  1. Tag build versions with a date/time suffix using /p:VersionSuffix using dotnet publish.
  2. After downloading the CD package, run a script (adapted from Export-DeploymentPackage.ps1) that merges the compiled build and CD package into a SaaS-ready ZIP.
  3. Publish that ZIP as a pipeline artifact.

Interested in learning how to deploy to Xperience by Kentico SaaS?

Be sure to read the fully documented guide, Deploy to SaaS step-by-step.

SaaS pipelines

Build stage Dev environment Upper environments
Build backend
(with version suffix)
Build frontend
Package build
(including CI files)
Deploy build artifact
Call Xperience refresh job
Call CI-restore job
Call CD-package job
Download CD package
Call Export‑DeploymentPackage.ps1
Upload SaaS deployment package
Select deployment package
Click Deploy

At this point, Xperience SaaS takes over with a robust process, deploying application files, applying Xperience refreshes, synchronizing the CD package, and creating automatic backups of SQL, storage, and app files. If anything fails, the environment automatically rolls back to its pre-deployment state. Afterward, if smoke-testing reveals an application problem, the environment can still be rolled back with a click.

Kentico is also rolling out zero-downtime deployment: the system clones the database, deploys on offline app instances, and switches traffic only after all checks pass, keeping the previous services online until cut-over is complete.

SaaS troubleshooting

Teams sometimes fear losing low-level access, but we retain what we need while facing far fewer failure points. Kentico manages Web Apps, SQL, VNETs, certificates, storage, DNS, WAF, and Cloudflare, leaving us to focus on:

  • Application code
  • Application & Xperience configurations
  • Database errors or anomalies

If database anomalies arise, we download a backup and diagnose locally. If a manual SQL change is required (e.g., after content migration), we execute scripts through Xperience CD migration scripts. We have all the access we need, have much less to worry about, and avoid risky, ad-hoc fixes.

Conclusion

For teams evaluating Xperience SaaS, our experience shows that deployment and troubleshooting concerns diminish once the pipeline is adapted. SaaS supplies dependable infrastructure, built-in security, robust backups, and lower risk, while aligning with established automated practices. The loss-of-control bogeymen fade away, along with the midnight scramble.