I have a client that wants to run Sitecore 9 on-premesis and is looking for hardware requirements. This documentation site - https://doc.sitecore.net/developers/scaling-guide/hardware-and-software.html - refers you to the install guide, but the only mention in the install guide appears to be for running on a single instance, like a developer.

Can anyone point me towards the correct information?

up vote 10 down vote accepted

At the time of writing, the only official guidelines for hardware are the standalone on-premise installation in the installation guide and the the ARM templates topologies: https://kb.sitecore.net/articles/043375

The ARM template topologies are based on a simple marketing site without heavy integration or customization. If you are heavily integrating with xConnect and external systems, your needs for hardware and servers will be different. I have posted some basic guidance on XP Services scaling in a Sitecore StackExchange answer, though this is not about hardware specs, more decision points for scaling: How best can you scale xConnect to handle high traffic?

As you noted, the Sitecore scaling guide currently lacks the hardware specs for the scaled environments. These details just are not available right now. The ARM templates topologies will give you the best guidance we currently have in terms of looking at relative performance, but when scaling architectures so much is dependent on the solution that has been implemented and the way each role is being used in that deployment.

Comparing to Sitecore 8

If you compare the ARM Template topologies between Sitecore 8 and Sitecore 9, you will note that the requirements have not really changed for the core instances. Other than the new XP Services introduced (and their related components) there were virtually no changes. There was a slight alteration for CM and session state in a standalone environment, and a minor change for session state for an XP Extra Large. Otherwise, everything was identical.

What does this mean?

You could likely base a lot of the hardware requirements on 8.2 guidelines for the core instances, which can be seen in documents such as this:

https://doc.sitecore.net/sitecore_experience_platform/82/setting_up_and_maintaining/xdb/platform/hardware_guidlines

The New XP Services

The tricky part comes down to how the customer wants to deploy the new XP Services. If they deploy it to the same servers as one of the Sitecore instances, that hardware will need to be beefed up to handle the extra workload. If they deploy it separately, then the hardware will depend on how they deploy the services (single app, scaled out on one server, scaled out across multiple servers, load-balanced, etc.)

The other new piece in Sitecore 9 is the SQL Server storage of xDB. This should definitely be its own server in production, and not the same server as the rest of the SQL databases. You will notice from the ARM Templates topologies that the new shard databases are smaller than a standard Sitecore database at the low end of visits, but as the visit count rises towards the higher end the shard database hardware requirements grow faster than the core content databases. This is because the content databases generally don't have more storage based on visits, whereas collection is all about tracking visitor data.

Wrapping it up

There are so many variables when planning infrastructure, it really is situational and you need to adjust your infrastructure planning to the customer's needs, their solution implementation, and their planned usage/visits. The best advice I can give is to make sure to implement infrastructure that you can easily adjust to meet your needs as they change and only pay for what you need now. This avoids the 'over-buying' that sometimes happens in on-premise provisioning.

In addition to the other answers, the conversation really lies upon the following questions:

  1. How many instances are you licensed for? (both prod and non-prod)
  2. How much traffic, visits, concurrent visits, etc does your site need to support?
  3. What topology do you need to run? CM (as a single instance) plus some CD's and xConnect? Or CM, Reporting, Processing, CD's, and xConnect? Or... CM, Reporting, Processing, CD's, and xConnect split between multiple machines?
  4. What about SOLR? Do you need to use SOLR? Are you going to use SOLR CLoud? How many servers?
  5. What about DB servers? SQL HIgh Availability?AlwaysOn?
  6. Do you have access to SSD's for DB and Search servers?

The questions on architecture are vast, and that's before we even attempt to size.

In typical scenarios (and hardly anything is typical anymore), an OnPrem CM is generally 2-4 vCPU, 8-16GB of RAM depending on cache sizing (which should also be modified from defaults). For CD's, probably something similar. For xConnect, you're probably going to want something with a bit more RAM, maybe a bit more CPU, if xConnect is set up as a standalone instance. It really does depend just how far you need to scale out for distribution. (edited)

That's why providing documentation around it, especially from Sitecore's perspective is hard... because at the end of the day the answer really is "it depends"

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.