By: Scott Gillis, Lead Consultant – Recently I had the opportunity to sit through a series of management courses. One of the main focuses was how to provide an environment to help motivate your team members and increase performance. In parallel to these courses, I was working with a client to define the steps required to properly secure and architect a scalable Sitecore installation. After some extensive research and reading, followed by re-reading, I've tried to compile the 'Unofficial Sitecore Planning Checklist'.
As Sitecore has matured as a product, so has the method of documenting the product, but sadly it seems we continue to be in a slow shift to easily discoverable and consumable documentation. It reminds me of the early days of my SharePoint work, where the community documented better than the product team. Because of this positive growing pain, you may end up on really old blog posts as well as some 'ancient' PDF documentation (which is still plenty applicable). Finally, this checklist is a starting point as documentation and feature sets continue to change and growth with the product always check for the latest before finalizing your organizations plans.
Beginning with Sitecore Experience Platform 8.0, the ability to scale both horizontally and vertically was introduced and provides the flexibility to place different Sitecore components on individual or combined servers.
The key components to be accounted for during server architecture are:
You'll notice there are a number of SQL databases that are required to support the system. These can all run on the same SQL instance or cluster without issue.
If you plan to place any of the service components on individual servers, you will need to be properly licensed by Sitecore for an additional server install. Each one requires an installation of Sitecore, just like a content delivery or management server.
The Experience Database, commonly referred to as the 'xDB', is based on the NoSQL solution MongoDB. The xDB is the primary storage for all analytics information and the registry of contacts and engagement automation states. Both Content Delivery and Content Management servers talk to the xDB, performing read and write actions against it.
Because data is written and read at high rates from the xDB as visitor's sessions start and end, it requires a proper amount of RAM and high speed disk, such as SSD, to maximize performance.
Using MongoDB as your collection database, you should install plenty of RAM and use SSD drives. Sharding can also improve performance significantly. Read the documentation on the MongoDB website to learn about the MongoDB architecture, replication, sharding, and configuration options. (taken from xDB Hardware Guidelines)
Depending on the version of Sitecore running, there are official supported MongoDB versions. This does not mean a newer/older version will not work with your version of Sitecore, but Paragon nor Sitecore can guarantee the behavior.
|---||Sitecore XP 7.5 series||Sitecore XP 8.0 Initial Release to Update 4||Sitecore XP 8.0 Update 5 and later||Sitecore XP 8.1 and later||Sitecore XP 8.2 and later|
|Mongo 2.6 mmapv1||Yes||Yes||Yes||Yes||Yes|
|Mongo 3.0 mmapv1||No||No||Yes||Yes||Yes|
|Mongo 3.0 Wired Tiger||No||No||Yes||Yes||Yes|
|Mongo 3.2.1 mmapv1||No||No||No||No||Yes|
|Mongo 3.2.1 Wired Tiger||No||No||No||No||Yes|
|Mongo 3.2.1 Enterprise with data-at-rest encryption (Wired Tiger only)||No||No||No||No||Yes|
For the latest supported version, see Sitecore's documentation: https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/xdb/platform/software_recommendations.
Sitecore recommends that MongoDB is setup in a replication architecture with sharding enabled. The minimum configuration is to run two full capacity MongoDB servers for data and a third lower capacity server to act as the arbiter. This third server would not need to handle any data in the basic configuration.
MongoDB can run on either Windows or Linux/Unix servers. As long as the proper version of MongoDB is used, the Sitecore application does not care.