I installed Sitecore 9 on Azure using the Azure Marketplace. This creates a highly souped up instance of Sitecore. Id like to strip things out I don't need, to reduce the cost, but I am not entirely sure how to "disable" some of the things.

  • cortex processing
  • cortex reporting

I can't find any documentation about enabling/disabling these so I'm not sure if I need to do anything config wise on the CM/CD

  • marketing automation ops
  • marketing automation rep

It looks like these are "roles." If I don't want/need them, can I just not set the server to use those roles?

  • For XP those are mandatory roles. You can however host them on shared hosting plans to save you money. You can either do that in azure or modify the azure quick start arm templates. Apr 19, 2019 at 6:54
  • Can you point me to some documentation on how to configure a single AppService to handle those roles? Im having trouble finding anything. Apr 19, 2019 at 11:52
  • The XP Single (XP0) topology does that. Apr 19, 2019 at 21:17
  • So, maybe create a XP Single instance and use that as a reference? Apr 22, 2019 at 18:26
  • I've converted my comments to an answer. Apr 22, 2019 at 22:48

1 Answer 1


Sitecore has two selections for topologies out of the box: XP Single (XP0) or XP Scaled. See here for details.

When you provision these topologies via market place, in essence you are executing these ARM templates which in my opinion are fairly extensible / modifiable.

The roles you've mentioned (Cortex Processing, Cortex Reporting, MA Ops, MA Reporting) are mandatory roles for Sitecore XP, and cannot be disabled. However they can be combined into a single instance which is what you get on XP Single.

So to answer your question, you have a few options:

  • You can provision an XP Single topology and manually clone the "Standalone" role (CM+CD+PRC+REP) and then change the cloned role to be a ContentDelivery role
  • You can modify the ARM templates for XP Single and do the same.
  • You can provision an XP Scaled topology and manually or via ARM template make them all use the same Hosting Plan. In Azure PaaS you are charged for the Hosting Plan, not for the website instances that run on a hosting plan. Of course this means they will share the resources of the hosting plan.

A note of warning is that there is a small learning curve for ARM templates and it is unfortunately a trial and error as there is no way to fully validate an ARM template other than actually running it.

  • Simplest solution seems like option 1 - provisioning single instance and then cloning. Apr 25, 2019 at 18:42
  • @EthanSchofer - Can you suggest what worked out for you. We are in the same boat right now. Thanks in advance!
    – Ghan
    Feb 28, 2020 at 7:10
  • I disabled XDB, then deleted the servers I didnt need. I didnt end up doing this, but I could have then spun up a single webapp to handle XDB if I needed it. Mar 9, 2020 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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