Author: Łukasz Skowroński

I wrote an article about my experiences from Sitecore Helix Workshop held in Copenhagen this month (March 2019). This time as a test I decided to wrote that on LinkedIn as it is not strictly programming related post.

In the article, I am describing topics from the training and my opinion about the target group for this workshop.

Easy scenario … Azure PaaS

These days most of the customers decide to use Azure PaaS to host their production and non-production Sitecore environments because they are easy to maintain and cost efficient. Sitecore provides also own recommendations which define stricly Azure resources which should be used for defined amount of traffic. Check those recommendations here:

Not so easy scenario … On-Premise

The most obvious answer which comes in such case to the head is : “check documentation”.

I did that and below I will share what I found and what can be useful – maybe it will save your time and for sure will let me to remember what I found. In few places I assumed that we can try to use Sitecore’s Azure recommendations to calculate hardware requirements for VMs/Dedicated Servers.

Hardware

Single and local environment minimal requirements: 4 core processor & 16GB of RAM

The recommended hardware requirements are for running the software on a single computer. For more information about running Sitecore on different kinds of hardware, consult your Sitecore partner or technical sales representative.

In case when you are working on the architecture for new Sitecore’s customer (or you are in the up-selling process) you can/should contact Sitecore Account Manager to get some help from their side – but remember – do not expect that someone will do your job.

Software requirements and configuration

When I was reading the documentation to find information about hardware requirements I found many important texts about software requirements and configuration. Please check them below:

All the servers must have set the same time – it is critical because, in case of different time set on the servers, aggregation results and stats will display incorrect data

When you unzip the packages you will find the smaller packages with configuration for all available nodes in the downloaded file.

After all that I was able to draw the diagrams which I also share with you – as maybe they will help someone.

WARNING: I am sharing that as an example – your final architecture can be different because of the different requirements of your customer – do not treat those diagrams as ‘the one and only correct’ architecture.

The first one is a diagram for standard Sitecore XP environment (click the image to open it in new tab – bigger size):

The second one is a diagram for Sitecore XP with JSS environment (click the image to open it in new tab – bigger size):

Summary

Basically that is all what I wanted to write today. If you would like to add something – please use comments section or find me on slack/twitter.

If you seek for tool to build own diagrams similar to those prepared by me – I recommend to check ‘draw.io’ tool available via Google Drive.

That will be a really quick and short blog post. I would like to share with you a graph which I made when I was checking which services/roles connect to SQL Server and which databases are utilized by particular items.

Click the image if you want to open it in an original/bigger size.

I hope that it will be helpful for you because I believe that one image is worth thousands of words.

Here you have got also mindomo’s file which you can import and edit on www.mindomo.com (works perfectly with google drive): Sitecore 9.1 XP Scaled.mom

I noticed that accidentally that by default CM application uses http not https – at least when we use installation scripts for on-premise XP0 topology.

Because I wanted to add https to my website I asked myself – “how can I do that EASILY?” I do not know how about you – but I hate to play with certificates on my local machine – very often it means many lost hours which I could spend on development of new features.

To achieve that I checked how Sitecore create and install certificates inside their scripts and I found the following task:

Invoke-AddWebFeatureSSLTask

It took me few minutes to find final list of attributes which should be set to add certificate acceptable by services like identity server or xconnect. Final version is here:

HostName and SiteName should be values used by your website (check it in IIS configuration if you are not sure). Output directory is a place where you store your certificates. The rest of the parameters I would leave unchanged because they use default values from Sitecore’s installation scripts.

As a result of this task you should see:

new certificate file

new certificate registered in IIS

new binding added to your website

Because Identity Server uses http by default – please remember to update its configuration. If you do not do that – you will not be able to log in into Sitecore instance.More details about that you will find here.

I do not know if you are so lucky as I am … but every time when I am trying to install a new version of vanilla Sitecore on my local instance I have got issues which did not appear for other developers.

This time during installation of Sitecore 9.1 which should take 10-15 minutes I noticed that XP0-SingleDeveloper.ps1 script starts and stops more or less in the middle of whole installation process with following error:

I spent few hours trying to fix that. Based on previous experiences with Sitecore 9 and issues which I had with certificates I checked if my xConnect is accessible from the browser – it wasn’t. So I knew why I saw that error.

Usually, when I had an issue with certificates I had to just add those certificates to the trusted list with mmc tool (more details here) but not this time.

I started to search for solution in the internet and found following articles:

The third link has been mentioned in the second link as a solution. In my case, this didn’t help but suggested the solution.

Powershell scripts were moving certificates to Intermediate Certification Authorities category – in theory it should be enough … in my case didn’t change anything so I checked what I had in this directory.

I found out that DO_NOT_TRUST_SitecoreRootCert was added there many times. That was signal to me that it seems to be an issue. I deleted all of them before I tried install Sitecore again. And it worked!