Kentico SAAS: Pros and Cons vs Self Hosting

By Derek Barka, Kentico MVP

We have a few Xperience by Kentico SAAS releases under our belt now at SilverTech so I thought it's a good time to talk about the experience compared to our typical deployments. SilverTech is a full-service managed services provider. We host hundreds of websites in both AWS and Azure, though most of our infrastructure has been consolidated in Azure. It’s important to note that we’re very comfortable in Azure and have our own infrastructure. We have years of experience building out terraform scripts and tweaking our Azure DevOp (ADO)s CI\CD pipelines to complement the way we work and optimize deployments. We have a branching strategy that requires Pull Requests and code reviews as well as pipelines for Dev, Stage, and Production that allow for approvals, support blue/green deployment with zero downtime and automate easy restores in the case that something goes wrong.

Our standard process involves developers working in feature branches, performing pull requests into master when complete, code reviews and approvals, and pipelines deploying to our Dev environments for dev and internal QA. Once ready for QA/Stage, our technical leads will do pull requests into a release branch. The Managed Services team will approve a release, and it will get pushed to a Green Slot in Staging. After verifying that things look good, the release is approved in ADO, and the slots are switched. After UAT, the release is approved for production where we repeat the green slot, test, swap process.

For initial deployments, we would back up the database from QA and restore it to production. For ongoing deployments with content changes, we would need a content freeze and backup/restore or, now that Content Sync is starting to roll out, we would sync content from QA to Production. Once Page Sync is released, that will be our process moving forward.

Azure hosting diagram

Kentico SAAS is obviously different. Not better, not worse, just different. Kentico has done a nice job building out their Xperience Portal and the Kentico SAAS User Guide. The user guide walks you through the step-by-step process from creating your SAAS ready Kentico project, through build and deployment, to QA and ultimately, production. The portal is well designed and helpful – allowing me to manage deployments manually, sync content from QA to production and manage my domains. It also has some useful dashboards for reviewing error logs as well as some basic infrastructure metrics like response time, CPU/memory utilization and errors. The platform automatically backs up databases and files before deployments, supports manual backups, and can download backups for refreshing local dev environments or debugging issues. You can also restore the QA and Production environments right from the portal.

Kentico project metrics screen

 

Kentico backuos screen

 

Deployments are straight forward. At their simplest, you create a deployment package using a command line tool and then upload the package to the QA Site in the portal. From there, you can test and then deploy to production through the portal. Kentico also provides API access for deployments. We’ve tested those and they are also very straight forward. The API is great and allows us to integrate XbyK SAAS Deployments right into our Azure DevOps CI\CD Pipelines and become a more seamless part of our dev/QA process.

First time launches are straight forward. Deploy package to QA and then production. Ongoing releases become a bit more nuanced. By default, the packaging process is going to export the content from your dev environment every time. Unless the team keeps Prod/QA/Dev in sync or you are instituting content freezes while content in Dev is updated and packaged, that is likely not what you want to do. In most scenarios, the package deployment process needs to be modified to only deploy code to QA. Content will be manually re-entered in QA. From there, we can push packages to Prod and Sync Content as needed. This process needs to be carefully monitored so as not to accidentally overwrite content. Thankfully Kentico SAAS does perform that automatic backup in case something unexpected occurs.

Once you’ve done a few deployments and production launches, Kentico SAAS becomes predictable and easy to use. However, there are and have been a few drawbacks. Initially, assigning domains was part of the initial launch process which resulted in downtime as domain ownership checks were processed, and domains were assigned to the underlying infrastructure. This has since been resolved in a recent release which demonstrates that Kentico is taking all of our feedback seriously. There still is downtime as deployments are processed, but Zero downtime deployments are on the roadmap, and I have faith that Kentico will also get that resolved shortly. Kentico SAAS also manages all the secrets and configs and handles the blob storage for media which is great. That’s all something we have to think about when hosting ourselves that Kentico SAAS just takes care of for us.

In summary, Kentico SAAS is a well-documented and intuitive platform for a fully managed DXP. At SilverTech, we obviously prefer to host our own websites. We have both Kentico and Azure certified experts and prefer to control the environment from infrastructure through application. That said – for organizations that prefer a single vendor, don’t have the internal expertise, or marketing departments that would rather not deal with internal IT, Kentico SAAS is a very well thought out and easy to use platform that provides excellent performance as well as enterprise level security and scalability.

 

This website uses cookies in order to offer you the most relevant information. Please "Accept & Continue" for optimal site performance.