Sizing reference for a Sitecore Azure environment

Current version: 9.0

Choosing the right infrastructure to support your Sitecore site is a mixture of upfront analysis, testing during development, and refinement when you get into production. The performance requirements for a Sitecore site are specific, so it is important that you choose the right infrastructure for your environment, conduct upfront analysis, test during development, and refine during production.

Choose the right infrastructure for your environment

Configuring the right infrastructure for your environment means knowing the requirements of your site. These requirements are made up of a combination of:

  • The Sitecore features that you plan to use, (ask what combination of features you will need).

  • The volume of custom code that you will be writing, (consider the effect this will have on page response time).

  • The response times that you are expecting for your site.

  • What you want your peak load to look like.

For best practices, you have a much better chance of designing a successful infrastructure ahead of time if you know the answers to the bullet points above.

You can approximate what your Azure PaaS infrastructure will look like by consulting the ARM Template topologies for XM, XP, and Experience Commerce. The topologies are a good starting point for you to begin your estimations, and depending on the complexity of your site, you can expect to adjust some of the sizes. For example, the suggested sizes for XM and XP are based on a simple marketing site with very little personalization, and ~5 page views per visit. For Experience Commerce, the suggest sizes are based on the Commerce Storefront site with all visiting traffic listed.

Conduct upfront analysis

To decide on your infrastructure, you must first understand what load you are expecting, and what the characteristics of that load are. If you are rebuilding an existing site in Sitecore, then you can identify your load requirements based on logging or telemetry data from your existing site. Building a brand-new site in Sitecore is a bit more difficult and involves some educated guesswork using the Knowledge Base sizing guides.

To approximate what your infrastructure should look like, use the following questions as input during the development phase. It is important to answer these questions early on.

  • What are the most popular activities on your site?

    For example, on an e-commerce site the most common activities are browsing products, searching for products, adding items to the cart, and checking out.

  • When is your peak load?

    Your busiest hour(s) of the year is considered peak load. When your site is running under peak load,

  • How many users are you serving per hour?

  • How many pages are you serving per hour?

  • What is the distribution of load across different popular activities?

  • What would you like your page response times to look like during this period?

Test during development

Ongoing performance testing during the development phase of a project is critical for success. Testing early on means you can see what your infrastructure requirements are going to look like, it also gives you time to reduce costs by improving application performance.

Important

Skipping testing during the development stage increases the risk of production outages under a heavy load. It can result in higher than anticipated production costs.

The answers to the questions in the previous section of this topic: Conduct upfront analysis, enable you to design load tests that can tax your application and infrastructure. The results of this testing allow you to find any potential bottlenecks and tune your application or infrastructure until it meets your performance requirements.

Refine during production

During the first couple of months of production, you can expect to have some small refinements. Thereafter, production usually remains consistent until your business starts to grow. To minimize risk, ensure you carry out the following actions:

  • During development, review your upfront analysis and testing to ensure that your infrastructure can handle the expected load, and that your monthly costs stay on budget.

  • Monitor your infrastructure during the first couple of months of deployment to make sure it is performing as expected, and to ensure that you still have enough of a buffer to allow for any bursts in traffic.

In Azure, you can monitor how your infrastructure is performing by using tools such as Azure Monitor, Application Insights, and Log Analytics. With Azure Monitor, you can create alerts to notify you when your infrastructure is getting to a point where you need to scale horizontally or vertically.

Do you have some feedback for us?

If you have suggestions for improving this article,