High Score Labs News • April 15, 2020
Recently I have been becoming more familiar with Sitecore Experience Commerce, or XC as it is referred to and I must say that I really like it. It has its flaws but is a pretty impressive upgrade to the older Commerce engine in version 8.x. In the following series of articles, I want to present an overview of XC (and some XP) architecture and in other articles we will talk about facets under the hood and some of the client tools available, and why it might be a good fit to use in ones ecommerce ecosystem.
The first thing that I would like to point out is that documentation for the various products and services that are offered today are far better than what they used to be and extremely helpful to get going quickly, for example – http://commercesdn.sitecore.net/SitecoreXC_9.0 or https://doc.sitecore.com/developers/93/sitecore-experience-commerce . XC infrastructure is plays off of XP (experience platform) which is the CMS part of the ecosystem. This makes it much easier, since you would need to ensure that XP is installed and functional, then run the install script on the instance to enable the feature. The basic choices of sitecore infrastructure come down to two options: XP0 and XP1. XP0 is the same as a single instance, meaning that most all of the XP functionality is in a single web app in azure or a single site in IIS. XP1 is the scaled version where many of the functions of the platform are broken into several separate apps that communicate with each other. The advantage with this is primarily around scaling and performance, as more resource intensive operations can be scaled to meet the demand, which is even easier to manage if using sitecore azure. Here is an example of XP0 setup in azure:
This can also be done on premise using VMs, but azure is usually a better fit and recommended. An XP1 setup would look more like:
Again, this is the azure configuration. The primary advantage here is the ability to scale each resource as needed. This is usually the best practice for production environments and is as easy as installing XP1 from the azure marketplace. Once the XP environment is setup, running the XC install package is fairly straight forward, however, there can be issues in the configuration that arise.
Things to watch for
When setting up a new sitecore infrastructure, here are some recommended practices, based on my many years in sitecore development:
– Do not let developers modify config files directly. Use instead sitecores patching system where they follow generally accepted practices and keep them out of the default sitecore configs. This will make managing the azure apps/servers much simpler, especially when upgrading
– Do not give developers direct access to production, instead it should go through an approval process, using some CICD tool (azure for devops is common). This ensures that no matter who is developing sitecore, as teams change, the needed knowledge to deploy to and maintain sitecore is consistently maintained
– When deploying to azure using PaaS, ensure that the prod environment is set to be in the correct vertical performance tier. By default, it will be installed in the lowest tier, which results in horrid performance
– Check the base install before custom code gets deployed to ensure that the install works and there are no hidden errors
– Regularly monitor the sitecore install to ensure that there are not any errors poping up. Especially critical in Azure as a lot of these errors can eat up a lot of compute cycles and space, driving up your azure cost over time
Next articles on XC will focus on features that are under the hood, including entities, minions and the management aspect through business tools.
At High score labs, we have years of experience with Sitecore, including xDB, XP, XC, sitecore commerce (old version), versions 5 – 9, upgrades, SME support, migrations and more. Let us know how we can help you!